mirror of
https://github.com/idrawjs/idraw
synced 2026-05-24 01:58:27 +00:00
chore: update building script
This commit is contained in:
parent
cd9073cdb5
commit
686ed54b54
6 changed files with 72 additions and 3 deletions
|
|
@ -1,5 +1,6 @@
|
|||
# @idraw/core
|
||||
|
||||
* [] License text in JS result
|
||||
* [] Options default data
|
||||
* [] Support gradient color
|
||||
* [] Listen keyboard action
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
"@babel/preset-typescript": "^7.13.0",
|
||||
"@microsoft/api-extractor": "^7.13.2",
|
||||
"@rollup/plugin-node-resolve": "^11.2.1",
|
||||
"@rollup/pluginutils": "^4.1.1",
|
||||
"@types/jest": "^26.0.23",
|
||||
"@typescript-eslint/eslint-plugin": "^4.25.0",
|
||||
"@typescript-eslint/parser": "^4.25.0",
|
||||
|
|
@ -50,7 +51,9 @@
|
|||
"postcss": "^8.2.9",
|
||||
"puppeteer": "^8.0.0",
|
||||
"rollup": "^2.40.0",
|
||||
"rollup-plugin-cleanup": "^3.2.1",
|
||||
"rollup-plugin-postcss": "^4.0.0",
|
||||
"rollup-plugin-terser": "^7.0.2",
|
||||
"rollup-plugin-typescript2": "^0.30.0",
|
||||
"serve-handler": "^6.1.3",
|
||||
"ts-node": "^9.1.1",
|
||||
|
|
|
|||
|
|
@ -1,9 +1,12 @@
|
|||
const path = require('path');
|
||||
const typescript = require('rollup-plugin-typescript2');
|
||||
const { terser } = require('rollup-plugin-terser');
|
||||
const cleanup = require('rollup-plugin-cleanup');
|
||||
const { nodeResolve } = require('@rollup/plugin-node-resolve');
|
||||
const { getTargetPackage } = require('./config');
|
||||
const dtsPlugin = require('./util/dts-plugin');
|
||||
const stylePlugin = require('./util/style-plugin');
|
||||
// const cleanPlugin = require('./util/clean-plugin');
|
||||
|
||||
const resolveFile = function(names = []) {
|
||||
return path.join(__dirname, '..', 'packages', ...names)
|
||||
|
|
@ -58,8 +61,31 @@ function createConfigItem(params) {
|
|||
exports
|
||||
},
|
||||
plugins: [
|
||||
...[stylePlugin(), nodeResolve(), typescript()],
|
||||
...[
|
||||
stylePlugin(),
|
||||
nodeResolve(),
|
||||
typescript({
|
||||
tsconfig: path.resolve(__dirname, '..', 'tsconfig.json'),
|
||||
tsconfigOverride: {}
|
||||
}),
|
||||
],
|
||||
...plugins,
|
||||
...[
|
||||
// cleanPlugin({
|
||||
// sourcemap: process.env.NODE_ENV === 'development',
|
||||
// }),
|
||||
// terser({
|
||||
// output: {
|
||||
// beautify: true,
|
||||
// // comments: false,
|
||||
// // indent_level: 2,
|
||||
// // quote_style: 3,
|
||||
// }
|
||||
// })
|
||||
cleanup({
|
||||
comments: 'none',
|
||||
}),
|
||||
]
|
||||
],
|
||||
};
|
||||
}
|
||||
|
|
|
|||
39
scripts/util/clean-plugin.js
Normal file
39
scripts/util/clean-plugin.js
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
const extname = require("path").extname;
|
||||
const { createFilter } = require('@rollup/pluginutils');
|
||||
const MagicString = require('magic-string');
|
||||
|
||||
module.exports = function cleanPlugin(options = {}) {
|
||||
const filter = createFilter(options.include, options.exclude);
|
||||
const sourcemap = options.sourcemap === true;
|
||||
|
||||
return {
|
||||
name: 'clean-plugin',
|
||||
|
||||
transform (code, id) {
|
||||
if (!filter(id) || !(['.js', '.ts'].indexOf(extname(id)) >= 0)) return;
|
||||
|
||||
let codeStr = `${code}`;
|
||||
const magic = new MagicString(codeStr);
|
||||
if (sourcemap === true) {
|
||||
codeStr = codeStr.replace(/\/\*\!([^\\]+)\*\//gi, function(match, offset) {
|
||||
const start = offset;
|
||||
const end = offset + match.length;
|
||||
magic.overwrite(start, end, '');
|
||||
return '';
|
||||
});
|
||||
}
|
||||
const resultCode = magic.toString();
|
||||
let resultMap = false;
|
||||
if (sourcemap === true) {
|
||||
resultMap = magic.generateMap({
|
||||
hires: true,
|
||||
});
|
||||
}
|
||||
return {
|
||||
code: resultCode,
|
||||
map: resultMap,
|
||||
};
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
|
|
@ -26,7 +26,7 @@ module.exports = function myPlugin(pkgName) {
|
|||
if (extractorResult.succeeded) {
|
||||
// concat additional d.ts to rolled-up dts
|
||||
const typesDir = path.resolve(pkgDir, 'types')
|
||||
if (await fs.exists(typesDir)) {
|
||||
if (fs.existsSync(typesDir)) {
|
||||
const dtsPath = path.resolve(pkgDir, pkg.types)
|
||||
const existing = await fs.readFile(dtsPath, 'utf-8')
|
||||
const typeFiles = await fs.readdir(typesDir)
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
"experimentalDecorators": true,
|
||||
"resolveJsonModule": true,
|
||||
"esModuleInterop": true,
|
||||
"removeComments": false,
|
||||
"removeComments": true,
|
||||
"jsx": "preserve",
|
||||
"lib": ["ESNext", "dom"],
|
||||
"rootDir": ".",
|
||||
|
|
|
|||
Loading…
Reference in a new issue