Update cli template file

This commit is contained in:
pengfei.zhou 2021-08-31 11:59:02 +08:00 committed by osborn
parent ac62a0f7fc
commit 612e5a4a07

View File

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