diff --git a/package.json b/package.json index 4915fe7..7e0480c 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "dev:core": "node ./scripts/dev.js core", "build": "npm run build:src && npm run build:min", "build:src": "NODE_ENV=production BUILD_MODE=reset node ./scripts/build.js", - "build:min": "NODE_ENV=production BUILD_MODE=mini node ./scripts/build.js", + "build:min": "node ./scripts/minify.js", "snapshot": "node ./scripts/build.js && node ./scripts/snapshot.js", "e2e": "mocha --exit ./__tests__/e2e.test.js", "init": "lerna bootstrap", @@ -63,6 +63,7 @@ "rollup-plugin-terser": "^7.0.2", "rollup-plugin-typescript2": "^0.30.0", "serve-handler": "^6.1.3", + "terser": "^5.9.0", "ts-node": "^9.1.1", "tslib": "^2.2.0", "typescript": "^4.3.2" diff --git a/packages/board/package.json b/packages/board/package.json index ec3e613..5a7edf8 100644 --- a/packages/board/package.json +++ b/packages/board/package.json @@ -30,5 +30,6 @@ }, "publishConfig": { "access": "public" - } + }, + "gitHead": "be7f4aec953e25aed3fc0d1f61ef9f99407b77f8" } diff --git a/packages/core/package.json b/packages/core/package.json index 4fe7982..0d10149 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -31,5 +31,6 @@ }, "publishConfig": { "access": "public" - } + }, + "gitHead": "be7f4aec953e25aed3fc0d1f61ef9f99407b77f8" } diff --git a/packages/idraw/package.json b/packages/idraw/package.json index dcf27e6..8e7893a 100644 --- a/packages/idraw/package.json +++ b/packages/idraw/package.json @@ -31,5 +31,6 @@ }, "publishConfig": { "access": "public" - } + }, + "gitHead": "be7f4aec953e25aed3fc0d1f61ef9f99407b77f8" } diff --git a/packages/renderer/examples/features/main.html b/packages/renderer/examples/features/main.html index 5b12090..bb0cd2b 100644 --- a/packages/renderer/examples/features/main.html +++ b/packages/renderer/examples/features/main.html @@ -11,7 +11,8 @@ - + + \ No newline at end of file diff --git a/packages/renderer/package.json b/packages/renderer/package.json index fe3bece..75ab439 100644 --- a/packages/renderer/package.json +++ b/packages/renderer/package.json @@ -30,5 +30,6 @@ }, "publishConfig": { "access": "public" - } + }, + "gitHead": "be7f4aec953e25aed3fc0d1f61ef9f99407b77f8" } diff --git a/packages/types/package.json b/packages/types/package.json index 1cc14df..7cc3694 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -21,5 +21,6 @@ "homepage": "https://github.com/idrawjs/idraw#readme", "publishConfig": { "access": "public" - } + }, + "gitHead": "be7f4aec953e25aed3fc0d1f61ef9f99407b77f8" } diff --git a/packages/util/package.json b/packages/util/package.json index 864c9cc..1040241 100644 --- a/packages/util/package.json +++ b/packages/util/package.json @@ -27,5 +27,6 @@ }, "publishConfig": { "access": "public" - } + }, + "gitHead": "be7f4aec953e25aed3fc0d1f61ef9f99407b77f8" } diff --git a/scripts/minify.js b/scripts/minify.js new file mode 100644 index 0000000..7d74ffd --- /dev/null +++ b/scripts/minify.js @@ -0,0 +1,36 @@ +const path = require('path'); +const fs = require('fs'); +const compose = require('koa-compose') +const { minify } = require('terser'); +const { packages } = require('./config'); + +async function main() { + const tasks = []; + packages.forEach((p) => { + tasks.push(async (ctx, next) => { + const baseFileName = 'index.global.js'; + const targetFileName = 'index.global.min.js'; + const moduleBasePath = path.join(__dirname, '..', 'packages', p.dirName, 'dist'); + + console.log(`minify file: ${path.join(p.dirName, baseFileName)} > ${path.join(p.dirName, targetFileName)}`) + const filePath = path.join(moduleBasePath, baseFileName); + const targetPath = path.join(moduleBasePath, targetFileName); + const code = fs.readFileSync(filePath, { encoding: 'utf8' }); + const options = { + output: { + beautify: false, + comments: false, + indent_level: 2, + quote_style: 3, + }, + }; + const result = await minify(code, options); + fs.writeFileSync(targetPath, result.code); + await next(); + }) + }); + + await compose(tasks)(); +} + +main(); \ No newline at end of file diff --git a/scripts/rollup.config.js b/scripts/rollup.config.js index fc6eabc..1bcde24 100644 --- a/scripts/rollup.config.js +++ b/scripts/rollup.config.js @@ -22,13 +22,13 @@ const external = [ '@idraw/types', '@idraw/util', '@idraw/board', '@idraw/core' for(let i = 0; i < packages.length; i++) { const pkg = packages[i]; if (process.env.BUILD_MODE === 'mini') { - modules.push({ - input: resolveFile([pkg.dirName, 'src', 'index.ts']), - output: resolveFile([pkg.dirName, 'dist', 'index.global.min.js']), - name: pkg.globalName, - format: 'iife', - plugins: [] - }); + // modules.push({ + // input: resolveFile([pkg.dirName, 'src', 'index.ts']), + // output: resolveFile([pkg.dirName, 'dist', 'index.global.min.js']), + // name: pkg.globalName, + // format: 'iife', + // plugins: [], + // }); } else { modules.push({ input: resolveFile([pkg.dirName, 'src', 'index.ts']), @@ -37,6 +37,13 @@ for(let i = 0; i < packages.length; i++) { format: 'iife', plugins: [] }); + modules.push({ + input: resolveFile([pkg.dirName, 'src', 'index.ts']), + output: resolveFile([pkg.dirName, 'dist', 'index.global.min.js']), + name: pkg.globalName, + format: 'iife', + plugins: [], + }); modules.push({ input: resolveFile([pkg.dirName, 'src', 'index.ts']), output: resolveFile([pkg.dirName, 'dist', 'index.cjs.js']),