doric-cli add createLib
This commit is contained in:
134
doric-cli/assets-lib/example/rollup.config.js
Normal file
134
doric-cli/assets-lib/example/rollup.config.js
Normal file
@@ -0,0 +1,134 @@
|
||||
import resolve from "@rollup/plugin-node-resolve";
|
||||
import commonjs from "@rollup/plugin-commonjs";
|
||||
import bundles from "./build/index";
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
import buble from "@rollup/plugin-buble";
|
||||
import json from "@rollup/plugin-json";
|
||||
import image from "@rollup/plugin-image";
|
||||
|
||||
function searchImages(dir, images) {
|
||||
const files = fs.readdirSync(dir);
|
||||
files.forEach((item, index) => {
|
||||
var fullPath = path.join(dir, item);
|
||||
const stat = fs.statSync(fullPath);
|
||||
if (stat.isDirectory()) {
|
||||
searchImages(path.join(dir, item), images);
|
||||
} else {
|
||||
if (fullPath.endsWith(".png")) {
|
||||
images.push(fullPath);
|
||||
}
|
||||
}
|
||||
});
|
||||
return images;
|
||||
}
|
||||
|
||||
const allImages = [];
|
||||
searchImages("src", allImages);
|
||||
|
||||
function mkdirsSync(dirname) {
|
||||
if (fs.existsSync(dirname)) {
|
||||
return true;
|
||||
} else {
|
||||
if (mkdirsSync(path.dirname(dirname))) {
|
||||
fs.mkdirSync(dirname);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
allImages.forEach((value) => {
|
||||
let path = __dirname + "/build/" + value;
|
||||
let index = path.lastIndexOf("/");
|
||||
mkdirsSync(path.substring(0, index));
|
||||
|
||||
fs.copyFile(
|
||||
__dirname + "/" + value,
|
||||
__dirname + "/build/" + value,
|
||||
(error) => {
|
||||
console.log(error);
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
function readDirs(dirPath, files) {
|
||||
if (fs.statSync(dirPath).isDirectory()) {
|
||||
fs.readdirSync(dirPath).forEach((e) => {
|
||||
readDirs(path.join(dirPath, e), files);
|
||||
});
|
||||
} else {
|
||||
for (let bundle of bundles) {
|
||||
if (dirPath.match(new RegExp(`^${bundle}`))) {
|
||||
files.push(dirPath);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const dirs = fs.readdirSync(".").filter((e) => {
|
||||
for (let bundle of bundles) {
|
||||
if (bundle.match(new RegExp(`^${e}/`))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
const allFiles = [];
|
||||
|
||||
dirs.forEach((e) => {
|
||||
readDirs(e, allFiles);
|
||||
});
|
||||
export default allFiles
|
||||
.map((e) => e.replace(".ts", ""))
|
||||
.map((bundle) => {
|
||||
return {
|
||||
input: `build/${bundle}.js`,
|
||||
output: {
|
||||
format: "cjs",
|
||||
file: `bundle/${bundle}.js`,
|
||||
sourcemap: true,
|
||||
},
|
||||
plugins: [
|
||||
resolve({ mainFields: ["jsnext"] }),
|
||||
commonjs(),
|
||||
json(),
|
||||
image(),
|
||||
],
|
||||
external: ["reflect-metadata", "doric", "templatelibrary"],
|
||||
onwarn: function (warning) {
|
||||
if (warning.code === "THIS_IS_UNDEFINED") {
|
||||
return;
|
||||
}
|
||||
console.warn(warning.message);
|
||||
},
|
||||
};
|
||||
});
|
||||
// If need ES5 support enable following configs
|
||||
// .concat(
|
||||
// allFiles
|
||||
// .map(e => e.replace('.ts', ''))
|
||||
// .map(bundle => {
|
||||
// return {
|
||||
// input: `build/${bundle}.js`,
|
||||
// output: {
|
||||
// format: "cjs",
|
||||
// file: `bundle/${bundle}.es5.js`,
|
||||
// sourcemap: true,
|
||||
// },
|
||||
// plugins: [
|
||||
// resolve({ mainFields: ["jsnext"] }),
|
||||
// commonjs(),
|
||||
// json(),
|
||||
// buble({
|
||||
// transforms: { dangerousForOf: true }
|
||||
// }),
|
||||
// image(),
|
||||
// ],
|
||||
// external: ['reflect-metadata', 'doric'],
|
||||
// onwarn: function (warning) {
|
||||
// if (warning.code === 'THIS_IS_UNDEFINED') { return }
|
||||
// console.warn(warning.message)
|
||||
// }
|
||||
// }
|
||||
// }))
|
||||
Reference in New Issue
Block a user