diff --git a/.storybook/config.ts b/.storybook/config.ts index 4383a267df..e2e73a0586 100644 --- a/.storybook/config.ts +++ b/.storybook/config.ts @@ -1,7 +1,9 @@ -import { configure, addParameters } from '@storybook/react'; -import '@storybook/addon-console'; -import { create } from '@storybook/theming'; +// tslint:disable-next-line:no-submodule-imports import '!style-loader!css-loader!sass-loader!./iframe.scss'; +import '@storybook/addon-console'; +import { addParameters, configure } from '@storybook/react'; +import { create } from '@storybook/theming'; + addParameters({ options: { isFullscreen: false, @@ -16,7 +18,7 @@ addParameters({ brandTitle: 'L7 POC for new architecture', brandUrl: 'https://github.com/xiaoiver/L7-POC', gridCellSize: 12, - }) + }), }, }); diff --git a/babel.config.js b/babel.config.js index 3a9db5974d..28f37dbc47 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,7 +1,14 @@ // @see https://babeljs.io/docs/en/next/config-files#project-wide-configuration module.exports = (api) => { api.cache(() => process.env.NODE_ENV); - if(api.env('site')) { + + const isSite = api.env('site'); + const isCDNBundle = api.env('bundle'); + const isCommonJS = api.env('cjs'); + const isESModule = api.env('esm'); + const isTest = api.env('test'); + + if (isSite) { // return { "presets": [ "babel-preset-gatsby" @@ -40,13 +47,13 @@ module.exports = (api) => { }, // set `modules: false` when building CDN bundle, let rollup do commonjs works // @see https://github.com/rollup/rollup-plugin-babel#modules - modules: api.env('bundle') ? false : 'auto', + modules: (isCDNBundle || isESModule) ? false : 'auto', }, ], [ '@babel/preset-react', { - development: process.env.BABEL_ENV !== 'build', + development: isCommonJS, }, ], '@babel/preset-typescript', @@ -70,9 +77,10 @@ module.exports = (api) => { '@babel/plugin-syntax-dynamic-import', // let rollup do commonjs works // @see https://github.com/rollup/rollup-plugin-babel#modules - api.env('bundle') ? {} : '@babel/plugin-transform-modules-commonjs', + (isCDNBundle || isESModule) ? {} : '@babel/plugin-transform-modules-commonjs', + // '@babel/plugin-transform-modules-commonjs', // 开发模式下以原始文本引入,便于调试 - api.env('bundle') ? {} : [ + isCDNBundle ? {} : [ // import glsl as raw text 'babel-plugin-inline-import', { @@ -93,22 +101,20 @@ module.exports = (api) => { // 按需引用 @see https://github.com/lodash/babel-plugin-lodash 'lodash', // 内联 WebGL 常量 @see https://www.npmjs.com/package/babel-plugin-inline-webgl-constants - api.env('bundle') ? 'inline-webgl-constants' : {}, + isCDNBundle ? 'inline-webgl-constants' : {}, + ], + ignore: [ + 'node_modules', + ...!isTest ? [ + '**/*.test.tsx', + '**/*.test.ts', + '**/*.story.tsx', + '__snapshots__', + '__tests__', + '__stories__', + '**/*/__snapshots__', + '**/*/__tests__', + ]: [], ], - env: { - build: { - ignore: [ - '**/*.test.tsx', - '**/*.test.ts', - '**/*.story.tsx', - '__snapshots__', - '__tests__', - '__stories__', - '**/*/__snapshots__', - '**/*/__tests__', - ], - }, - }, - ignore: ['node_modules'], }; } diff --git a/dev-docs/screenshots/monorep.png b/dev-docs/screenshots/monorep.png new file mode 100644 index 0000000000..99b56ba339 Binary files /dev/null and b/dev-docs/screenshots/monorep.png differ diff --git a/dev-docs/构建方案.md b/dev-docs/构建方案.md index d371cec52c..6de98446e3 100644 --- a/dev-docs/构建方案.md +++ b/dev-docs/构建方案.md @@ -276,9 +276,49 @@ Exiting glsl-minifier! ## Submodule -使用 Yarn workspaces + Lerna。 +npm 和 yarn 只提供了例如 `npm link` 以及 `yarn link` 这样的功能,而 yarn workspaces 只提供了 monorep 需要的底层 link 功能。相比之下 lerna 提供了更高级的功能例如 publish 和 version。因此 yarn workspaces 和 lerna 完全可以组合使用,这也是例如 Jest 等大型项目的使用方式。 -### 异步加载 Mapbox +![](./screenshots/monorep.png) + +构建命令如下,会在各个 package 下生成 `/lib` 和 `/es` 两个文件夹分别包含 ES2015 和 ESModule 产物: +```bash +yarn build +``` + +### 编译 TS + +使用 TS 有两种构建方式: +* native TypeScript with tsc +* [@babel/preset-typescript](https://babeljs.io/docs/en/babel-preset-typescript) + +由于我们的项目中需要使用到一些 babel plugin(装饰器、引入 GLSL 等),因此后者显然是更好的选择。这里我们使用 babel 7 的项目全局配置 configFile。 + +为了合并 ES2015 与 ESModule,我们参考 [redux](https://babeljs.io/blog/2018/06/26/on-consuming-and-publishing-es2015+-packages#conflating-javascript-modules-and-es2015): +```json +// redux package.json +{ + "main": "lib/redux.js", // ES5 + Common JS + "module": "es/redux.js", // ES5 + JS Modules +} +``` + +开发模式加上 `--watch` 即可。 +* `--root-mode upward` 使用 root 下的 babel 配置文件 +* `--out-dir dist` 输出到 /dist 文件夹下 +* `--delete-dir-on-start` 每次构建前清空,因此不需要 `rimraf` +```json +"scripts": { + "build": "run-p build:*", + "build:cjs": "BABEL_ENV=cjs babel src --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", + "build:esm": "BABEL_ENV=esm babel src --root-mode upward --out-dir es --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments" +}, +``` + +### [WIP] 生成 TS 声明文件 + +和构建前类型检查不同,此时我们需要 tsc 输出类型声明文件了,当然不需要包含 story 和测试用例。 + +### [WIP] 异步加载 Mapbox 以 L7 Bundler 方式使用时,由于需要在运行时根据用户配置项选择地图底图,会导致构建时需要将全部地图依赖引入,无法进行 TreeShaking。 目前高德地图使用运行时异步加载方式引入,不会导致该问题,但 Mapbox 同样使用 Bundler,对于高德用户就多余了。 diff --git a/package.json b/package.json index 2a16d48221..fd89c1029d 100644 --- a/package.json +++ b/package.json @@ -115,7 +115,7 @@ "site:deploy": "NODE_ENV=site npm run site:build && gh-pages -d public", "site:publish":"gh-pages -d public", "prebuild": "run-p tsc lint", - "build": "lerna exec --parallel 'BABEL_ENV=build babel src --root-mode upward --out-dir dist --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments'", + "build": "yarn clean && lerna run build", "todo:postbuild": "yarn build:declarations", "fix": "run-p -c 'lint:ts-* --fix'", "lint:css": "stylelint 'packages/**/*.ts{,x}'", @@ -128,13 +128,14 @@ "prerelease": "yarn build", "release": "lerna publish from-package --registry https://registry.npmjs.com/", "storybook": "start-storybook -p 6006", - "test": "jest", + "test": "BABEL_ENV=test jest", "coveralls": "jest --coverage && cat ./tests/coverage/lcov.info | coveralls", "tsc": "tsc", "build:declarations": "lerna exec --stream --no-bail 'tsc --project ./tsconfig.build.json'", - "watch": "lerna exec --parallel 'BABEL_ENV=build babel --watch src --root-mode upward --out-dir dist --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments'", - "bundle": "NODE_ENV=bundle node_modules/.bin/rollup -c ./build/rollup.config.js", - "glsl-minify": "node_modules/.bin/glsl-minifier -i ./build/example.frag -o ./build/example.min.frag" + "watch": "yarn clean && lerna exec --parallel 'BABEL_ENV=cjs babel --watch src --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments'", + "bundle": "BABEL_ENV=bundle node_modules/.bin/rollup -c ./build/rollup.config.js", + "glsl-minify": "node_modules/.bin/glsl-minifier -i ./build/example.frag -o ./build/example.min.frag", + "clean": "lerna run clean" }, "workspaces": [ "packages/*", diff --git a/packages/component/.gitignore b/packages/component/.gitignore index ffe6b3e902..49c199b6ab 100644 --- a/packages/component/.gitignore +++ b/packages/component/.gitignore @@ -1,3 +1,3 @@ lib -esm +es dist diff --git a/packages/component/package.json b/packages/component/package.json index 73f46470ca..ad36ea2dc2 100644 --- a/packages/component/package.json +++ b/packages/component/package.json @@ -2,19 +2,22 @@ "name": "@l7/component", "version": "0.0.1", "description": "", - "main": "/dist/index.js", - "module": "esm/index.js", - "types": "esm/index.d.ts", + "main": "lib/index.js", + "module": "es/index.js", + "types": "es/index.d.ts", "sideEffects": true, "files": [ "lib", - "esm", + "es", "README.md" ], "scripts": { "tsc": "tsc --project tsconfig.build.json", - "build": "BABEL_ENV=build babel src --root-mode upward --out-dir dist --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", - "watch": "BABEL_ENV=build babel src --watch --root-mode upward --out-dir dist --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", + "clean": "rimraf dist; rimraf es; rimraf lib;", + "build": "run-p build:*", + "build:cjs": "BABEL_ENV=cjs babel src --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", + "build:esm": "BABEL_ENV=esm babel src --root-mode upward --out-dir es --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", + "watch": "BABEL_ENV=cjs babel src --watch --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", "lint:ts": "run-p -c lint:ts-*", "test": "jest" }, diff --git a/packages/component/tsconfig.build.json b/packages/component/tsconfig.build.json index 2209f262e6..99200a9677 100644 --- a/packages/component/tsconfig.build.json +++ b/packages/component/tsconfig.build.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.build.json", "compilerOptions": { - "declarationDir": "./dist", + "declarationDir": "./es", "rootDir": "./src", "baseUrl": "./" }, diff --git a/packages/core/.gitignore b/packages/core/.gitignore index ffe6b3e902..49c199b6ab 100644 --- a/packages/core/.gitignore +++ b/packages/core/.gitignore @@ -1,3 +1,3 @@ lib -esm +es dist diff --git a/packages/core/package.json b/packages/core/package.json index 39779b6c9d..eb97425d06 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -2,19 +2,22 @@ "name": "@l7/core", "version": "0.0.1", "description": "", - "main": "/dist/index.js", - "module": "esm/index.js", - "types": "esm/index.d.ts", + "main": "lib/index.js", + "module": "es/index.js", + "types": "es/index.d.ts", "sideEffects": true, "files": [ "lib", - "esm", + "es", "README.md" ], "scripts": { "tsc": "tsc --project tsconfig.build.json", - "build": "BABEL_ENV=build babel src --root-mode upward --out-dir dist --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", - "watch": "BABEL_ENV=build babel src --watch --root-mode upward --out-dir dist --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments" + "clean": "rimraf dist; rimraf es; rimraf lib;", + "build": "run-p build:*", + "build:cjs": "BABEL_ENV=cjs babel src --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", + "build:esm": "BABEL_ENV=esm babel src --root-mode upward --out-dir es --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", + "watch": "BABEL_ENV=cjs babel src --watch --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments" }, "author": "xiaoiver", "license": "ISC", diff --git a/packages/core/src/services/renderer/gl.ts b/packages/core/src/services/renderer/gl.ts index 6b58e0386f..37bdcd96b4 100644 --- a/packages/core/src/services/renderer/gl.ts +++ b/packages/core/src/services/renderer/gl.ts @@ -4,7 +4,6 @@ * 使用 babel 插件对常量进行内联,以减少最终打包产物大小 * @see https://github.com/uber/deck.gl/blob/7.1-release/dev-docs/roadmaps/dist-size-roadmap.md#inline-gl-constants */ - export enum gl { /* ClearBufferMask */ DEPTH_BUFFER_BIT = 0x00000100, diff --git a/packages/core/tsconfig.build.json b/packages/core/tsconfig.build.json index 8b1ce6cdc2..17f6c4525a 100644 --- a/packages/core/tsconfig.build.json +++ b/packages/core/tsconfig.build.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.build.json", "compilerOptions": { - "declarationDir": "./dist", + "declarationDir": "./es", "rootDir": "./src", "baseUrl": "./" }, diff --git a/packages/layers/.gitignore b/packages/layers/.gitignore index ffe6b3e902..49c199b6ab 100644 --- a/packages/layers/.gitignore +++ b/packages/layers/.gitignore @@ -1,3 +1,3 @@ lib -esm +es dist diff --git a/packages/layers/package.json b/packages/layers/package.json index b62d4f93eb..06eb9bb952 100644 --- a/packages/layers/package.json +++ b/packages/layers/package.json @@ -2,19 +2,22 @@ "name": "@l7/layers", "version": "0.0.1", "description": "", - "main": "/dist/index.js", - "module": "esm/index.js", - "types": "esm/index.d.ts", + "main": "lib/index.js", + "module": "es/index.js", + "types": "es/index.d.ts", "sideEffects": false, "files": [ "lib", - "esm", + "es", "README.md" ], "scripts": { "tsc": "tsc --project tsconfig.build.json", - "build": "BABEL_ENV=build babel src --root-mode upward --out-dir dist --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", - "watch": "BABEL_ENV=build babel src --watch --root-mode upward --out-dir dist --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments" + "clean": "rimraf dist; rimraf es; rimraf lib;", + "build": "run-p build:*", + "build:cjs": "BABEL_ENV=cjs babel src --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", + "build:esm": "BABEL_ENV=esm babel src --root-mode upward --out-dir es --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", + "watch": "BABEL_ENV=cjs babel src --watch --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments" }, "author": "xiaoiver", "license": "ISC", diff --git a/packages/layers/tsconfig.build.json b/packages/layers/tsconfig.build.json index 8b1ce6cdc2..17f6c4525a 100644 --- a/packages/layers/tsconfig.build.json +++ b/packages/layers/tsconfig.build.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.build.json", "compilerOptions": { - "declarationDir": "./dist", + "declarationDir": "./es", "rootDir": "./src", "baseUrl": "./" }, diff --git a/packages/maps/.gitignore b/packages/maps/.gitignore index ffe6b3e902..49c199b6ab 100644 --- a/packages/maps/.gitignore +++ b/packages/maps/.gitignore @@ -1,3 +1,3 @@ lib -esm +es dist diff --git a/packages/maps/package.json b/packages/maps/package.json index 9e2e404c3f..bbc9cfa1d2 100644 --- a/packages/maps/package.json +++ b/packages/maps/package.json @@ -2,20 +2,23 @@ "name": "@l7/maps", "version": "0.0.1", "description": "", - "main": "/dist/index.js", - "module": "esm/index.js", - "types": "esm/index.d.ts", + "main": "lib/index.js", + "module": "es/index.js", + "types": "es/index.d.ts", "sideEffects": false, "files": [ "lib", - "esm", + "es", "typings/index.d.ts", "README.md" ], "scripts": { "tsc": "tsc --project tsconfig.build.json", - "build": "BABEL_ENV=build babel src --root-mode upward --out-dir dist --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", - "watch": "BABEL_ENV=build babel src --watch --root-mode upward --out-dir dist --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments" + "clean": "rimraf dist; rimraf es; rimraf lib;", + "build": "run-p build:*", + "build:cjs": "BABEL_ENV=cjs babel src --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", + "build:esm": "BABEL_ENV=esm babel src --root-mode upward --out-dir es --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", + "watch": "BABEL_ENV=cjs babel src --watch --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments" }, "author": "xiaoiver", "license": "ISC", diff --git a/packages/maps/tsconfig.build.json b/packages/maps/tsconfig.build.json index 8b1ce6cdc2..17f6c4525a 100644 --- a/packages/maps/tsconfig.build.json +++ b/packages/maps/tsconfig.build.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.build.json", "compilerOptions": { - "declarationDir": "./dist", + "declarationDir": "./es", "rootDir": "./src", "baseUrl": "./" }, diff --git a/packages/renderer/.gitignore b/packages/renderer/.gitignore index ffe6b3e902..49c199b6ab 100644 --- a/packages/renderer/.gitignore +++ b/packages/renderer/.gitignore @@ -1,3 +1,3 @@ lib -esm +es dist diff --git a/packages/renderer/package.json b/packages/renderer/package.json index 4ac550ae11..ed16a0dfb5 100644 --- a/packages/renderer/package.json +++ b/packages/renderer/package.json @@ -2,19 +2,22 @@ "name": "@l7/renderer", "version": "0.0.1", "description": "", - "main": "/dist/index.js", - "module": "esm/index.js", - "types": "esm/index.d.ts", + "main": "lib/index.js", + "module": "es/index.js", + "types": "es/index.d.ts", "sideEffects": false, "files": [ "lib", - "esm", + "es", "README.md" ], "scripts": { "tsc": "tsc --project tsconfig.build.json", - "build": "BABEL_ENV=build babel src --root-mode upward --out-dir dist --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", - "watch": "BABEL_ENV=build babel src --watch --root-mode upward --out-dir dist --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments" + "clean": "rimraf dist; rimraf es; rimraf lib;", + "build": "run-p build:*", + "build:cjs": "BABEL_ENV=cjs babel src --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", + "build:esm": "BABEL_ENV=esm babel src --root-mode upward --out-dir es --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", + "watch": "BABEL_ENV=cjs babel src --watch --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments" }, "author": "xiaoiver", "license": "ISC", diff --git a/packages/renderer/tsconfig.build.json b/packages/renderer/tsconfig.build.json index 8b1ce6cdc2..17f6c4525a 100644 --- a/packages/renderer/tsconfig.build.json +++ b/packages/renderer/tsconfig.build.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.build.json", "compilerOptions": { - "declarationDir": "./dist", + "declarationDir": "./es", "rootDir": "./src", "baseUrl": "./" }, diff --git a/packages/scene/.gitignore b/packages/scene/.gitignore index ffe6b3e902..49c199b6ab 100644 --- a/packages/scene/.gitignore +++ b/packages/scene/.gitignore @@ -1,3 +1,3 @@ lib -esm +es dist diff --git a/packages/scene/package.json b/packages/scene/package.json index 280684d364..e0b53247f3 100644 --- a/packages/scene/package.json +++ b/packages/scene/package.json @@ -2,19 +2,22 @@ "name": "@l7/scene", "version": "0.0.1", "description": "", - "main": "/dist/index.js", - "module": "esm/index.js", - "types": "esm/index.d.ts", + "main": "lib/index.js", + "module": "es/index.js", + "types": "es/index.d.ts", "sideEffects": false, "files": [ "lib", - "esm", + "es", "README.md" ], "scripts": { "tsc": "tsc --project tsconfig.build.json", - "build": "BABEL_ENV=build babel src --root-mode upward --out-dir dist --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", - "watch": "BABEL_ENV=build babel src --watch --root-mode upward --out-dir dist --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments" + "clean": "rimraf dist; rimraf es; rimraf lib;", + "build": "run-p build:*", + "build:cjs": "BABEL_ENV=cjs babel src --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", + "build:esm": "BABEL_ENV=esm babel src --root-mode upward --out-dir es --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", + "watch": "BABEL_ENV=cjs babel src --watch --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments" }, "author": "xiaoiver", "license": "ISC", diff --git a/packages/scene/tsconfig.build.json b/packages/scene/tsconfig.build.json index 8b1ce6cdc2..17f6c4525a 100644 --- a/packages/scene/tsconfig.build.json +++ b/packages/scene/tsconfig.build.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.build.json", "compilerOptions": { - "declarationDir": "./dist", + "declarationDir": "./es", "rootDir": "./src", "baseUrl": "./" }, diff --git a/packages/source/.gitignore b/packages/source/.gitignore index ffe6b3e902..49c199b6ab 100644 --- a/packages/source/.gitignore +++ b/packages/source/.gitignore @@ -1,3 +1,3 @@ lib -esm +es dist diff --git a/packages/source/package.json b/packages/source/package.json index 65d79c2026..0acdc79e1c 100644 --- a/packages/source/package.json +++ b/packages/source/package.json @@ -2,19 +2,22 @@ "name": "@l7/source", "version": "0.0.1", "description": "", - "main": "/dist/index.js", - "module": "esm/index.js", - "types": "esm/index.d.ts", + "main": "lib/index.js", + "module": "es/index.js", + "types": "es/index.d.ts", "sideEffects": true, "files": [ "lib", - "esm", + "es", "README.md" ], "scripts": { "tsc": "tsc --project tsconfig.build.json", - "build": "BABEL_ENV=build babel src --root-mode upward --out-dir dist --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", - "watch": "BABEL_ENV=build babel src --watch --root-mode upward --out-dir dist --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", + "clean": "rimraf dist; rimraf es; rimraf lib;", + "build": "run-p build:*", + "build:cjs": "BABEL_ENV=cjs babel src --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", + "build:esm": "BABEL_ENV=esm babel src --root-mode upward --out-dir es --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", + "watch": "BABEL_ENV=cjs babel src --watch --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", "lint:ts": "run-p -c lint:ts-*", "test": "jest" }, diff --git a/packages/source/tsconfig.build.json b/packages/source/tsconfig.build.json index 8b1ce6cdc2..17f6c4525a 100644 --- a/packages/source/tsconfig.build.json +++ b/packages/source/tsconfig.build.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.build.json", "compilerOptions": { - "declarationDir": "./dist", + "declarationDir": "./es", "rootDir": "./src", "baseUrl": "./" }, diff --git a/packages/utils/.gitignore b/packages/utils/.gitignore index ffe6b3e902..49c199b6ab 100644 --- a/packages/utils/.gitignore +++ b/packages/utils/.gitignore @@ -1,3 +1,3 @@ lib -esm +es dist diff --git a/packages/utils/package.json b/packages/utils/package.json index 9bec371a4d..35a735ec74 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -2,19 +2,22 @@ "name": "@l7/utils", "version": "0.0.1", "description": "", - "main": "/dist/index.js", - "module": "esm/index.js", - "types": "esm/index.d.ts", + "main": "lib/index.js", + "module": "es/index.js", + "types": "es/index.d.ts", "sideEffects": true, "files": [ "lib", - "esm", + "es", "README.md" ], "scripts": { "tsc": "tsc --project tsconfig.build.json", - "build": "BABEL_ENV=build babel src --root-mode upward --out-dir dist --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", - "watch": "BABEL_ENV=build babel src --watch --root-mode upward --out-dir dist --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments" + "clean": "rimraf dist; rimraf es; rimraf lib;", + "build": "run-p build:*", + "build:cjs": "BABEL_ENV=cjs babel src --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", + "build:esm": "BABEL_ENV=esm babel src --root-mode upward --out-dir es --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments", + "watch": "BABEL_ENV=cjs babel src --watch --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments" }, "author": "lzxue", "license": "ISC", diff --git a/packages/utils/tsconfig.build.json b/packages/utils/tsconfig.build.json index 8b1ce6cdc2..17f6c4525a 100644 --- a/packages/utils/tsconfig.build.json +++ b/packages/utils/tsconfig.build.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.build.json", "compilerOptions": { - "declarationDir": "./dist", + "declarationDir": "./es", "rootDir": "./src", "baseUrl": "./" },