@es-pkg/compile 1.0.8 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cjs/index.js CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var gulp = require('@es-pkg/gulp');
6
6
  var utils = require('@es-pkg/utils');
7
- var config = require('@es-pkg/config');
7
+ var esConfig = require('@es-pkg/config');
8
8
  var rollup = require('rollup');
9
9
  var resolve = require('@rollup/plugin-node-resolve');
10
10
  var commonjs = require('@rollup/plugin-commonjs');
@@ -20,7 +20,27 @@ var ts = require('typescript');
20
20
 
21
21
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
22
22
 
23
+ function _interopNamespace(e) {
24
+ if (e && e.__esModule) return e;
25
+ var n = Object.create(null);
26
+ if (e) {
27
+ Object.keys(e).forEach(function (k) {
28
+ if (k !== 'default') {
29
+ var d = Object.getOwnPropertyDescriptor(e, k);
30
+ Object.defineProperty(n, k, d.get ? d : {
31
+ enumerable: true,
32
+ get: function () { return e[k]; }
33
+ });
34
+ }
35
+ });
36
+ }
37
+ n.default = e;
38
+ return Object.freeze(n);
39
+ }
40
+
23
41
  var gulp__default = /*#__PURE__*/_interopDefault(gulp);
42
+ var utils__namespace = /*#__PURE__*/_interopNamespace(utils);
43
+ var esConfig__namespace = /*#__PURE__*/_interopNamespace(esConfig);
24
44
  var resolve__default = /*#__PURE__*/_interopDefault(resolve);
25
45
  var commonjs__default = /*#__PURE__*/_interopDefault(commonjs);
26
46
  var json__default = /*#__PURE__*/_interopDefault(json);
@@ -32,17 +52,19 @@ var fs__default = /*#__PURE__*/_interopDefault(fs);
32
52
  var esbuild__default = /*#__PURE__*/_interopDefault(esbuild);
33
53
  var ts__default = /*#__PURE__*/_interopDefault(ts);
34
54
 
35
- const name = utils.getValidPkgName(config.pkg.name);
55
+ const { remove, log, getValidPkgName, toPascalCase } = utils__namespace;
56
+ const { config, collectInputs, shallowInputs, pkg, relativeToApp, resolveApp } = esConfig__namespace;
57
+ const name = getValidPkgName(pkg.name);
36
58
  const clean = () => {
37
- utils.log(`\u6E05\u9664 ${config.relativeToApp(config.config.es)} & ${config.relativeToApp(config.config.cjs)} \u76EE\u5F55---\u5F00\u59CB`);
59
+ log(`\u6E05\u9664 ${relativeToApp(config.es)} & ${relativeToApp(config.cjs)} \u76EE\u5F55---\u5F00\u59CB`);
38
60
  const promises = [
39
- utils.remove(config.config.publishDir, true),
40
- utils.remove(config.config.es, true),
41
- utils.remove(config.config.cjs, true),
42
- utils.remove(config.config.iife, true)
61
+ remove(config.publishDir, true),
62
+ remove(config.es, true),
63
+ remove(config.cjs, true),
64
+ remove(config.iife, true)
43
65
  ];
44
66
  return Promise.all(promises).then(() => {
45
- utils.log(`\u6E05\u9664 ${config.relativeToApp(config.config.es)} & ${config.relativeToApp(config.config.cjs)} \u76EE\u5F55---\u7ED3\u675F`);
67
+ log(`\u6E05\u9664 ${relativeToApp(config.es)} & ${relativeToApp(config.cjs)} \u76EE\u5F55---\u7ED3\u675F`);
46
68
  });
47
69
  };
48
70
  function getPostcss(extract) {
@@ -53,7 +75,7 @@ function getPostcss(extract) {
53
75
  less: ["less"],
54
76
  sass: ["sass"]
55
77
  },
56
- plugins: [autoprefixer__default.default({ overrideBrowserslist: config.config.css.browserslist }), cssnano__default.default()],
78
+ plugins: [autoprefixer__default.default({ overrideBrowserslist: config.css.browserslist }), cssnano__default.default()],
57
79
  extract
58
80
  });
59
81
  }
@@ -67,7 +89,7 @@ function isNodeModule(id) {
67
89
  }
68
90
  function getInputOptions(format) {
69
91
  return {
70
- input: config.shallowInputs.filter((item) => !item.endsWith(".d.ts")),
92
+ input: shallowInputs.filter((item) => !item.endsWith(".d.ts")),
71
93
  external: (id) => {
72
94
  if (node_module.builtinModules.includes(id)) return true;
73
95
  if (!id.startsWith(".") && !path__default.default.isAbsolute(id) && isNodeModule(id)) return true;
@@ -76,29 +98,34 @@ function getInputOptions(format) {
76
98
  plugins: [
77
99
  json__default.default(),
78
100
  resolve__default.default(),
79
- esbuild__default.default({ target: "es2018", format: "esm" }),
80
101
  commonjs__default.default({
81
102
  defaultIsModuleExports: true,
82
103
  esmExternals: true,
83
104
  transformMixedEsModules: true
84
105
  // 混合模块也转换
85
106
  }),
86
- getPostcss(config.config.css.extract)
107
+ esbuild__default.default({ target: "es2018", format: "esm" }),
108
+ getPostcss(config.css.extract)
87
109
  ]
88
110
  };
89
111
  }
90
112
  async function buildDeclarations() {
91
- const tsConfig = ts__default.default.readConfigFile(config.resolveApp("tsconfig.json"), ts__default.default.sys.readFile);
113
+ const tsConfig = ts__default.default.readConfigFile(resolveApp("tsconfig.json"), ts__default.default.sys.readFile);
92
114
  if (tsConfig.error) {
93
115
  console.log(tsConfig.error.messageText);
94
116
  }
95
- const entryFiles = config.collectInputs.filter((item) => [".ts", ".tsx"].some((suf) => item.endsWith(suf)));
117
+ const parsedConfig = ts__default.default.parseJsonConfigFileContent(
118
+ tsConfig.config,
119
+ ts__default.default.sys,
120
+ resolveApp("./")
121
+ );
122
+ const entryFiles = collectInputs.filter((item) => [".ts", ".tsx"].some((suf) => item.endsWith(suf)));
96
123
  const compilerOptions = {
97
- ...tsConfig.config,
124
+ ...parsedConfig.options,
98
125
  declaration: true,
99
126
  emitDeclarationOnly: true,
100
- outDir: config.config.es,
101
- rootDir: config.resolveApp("src"),
127
+ outDir: config.es,
128
+ rootDir: resolveApp("src"),
102
129
  skipLibCheck: true,
103
130
  esModuleInterop: true,
104
131
  moduleResolution: ts__default.default.ModuleResolutionKind.NodeJs,
@@ -123,18 +150,18 @@ async function buildDeclarations() {
123
150
  })
124
151
  );
125
152
  } else {
126
- console.log(`\u2705 Declarations generated in: ${path__default.default.resolve(config.config.es)}`);
153
+ console.log(`\u2705 Declarations generated in: ${path__default.default.resolve(config.es)}`);
127
154
  }
128
- utils.log.success("\u2705 Declarations build complete!");
155
+ log.success("\u2705 Declarations build complete!");
129
156
  }
130
157
  async function buildExtraCss() {
131
- const extras = config.config.css.extra;
158
+ const extras = config.css.extra;
132
159
  if (!(extras == null ? void 0 : extras.length)) return;
133
- const srcRoot = config.resolveApp("src");
134
- const esRoot = config.resolveApp(config.config.es);
160
+ const srcRoot = resolveApp("src");
161
+ const esRoot = resolveApp(config.es);
135
162
  const tasks = extras.map(async (v) => {
136
163
  try {
137
- const absPath = config.resolveApp(v);
164
+ const absPath = resolveApp(v);
138
165
  const relativePath = path__default.default.relative(srcRoot, absPath);
139
166
  const dirname = path__default.default.dirname(relativePath);
140
167
  const filename = path__default.default.basename(v, path__default.default.extname(v));
@@ -143,7 +170,7 @@ async function buildExtraCss() {
143
170
  plugins: getPostcss(path__default.default.join(dirname, `${filename}.min.css`))
144
171
  });
145
172
  await bundle.write({
146
- dir: config.config.es,
173
+ dir: config.es,
147
174
  format: "es",
148
175
  sourcemap: false,
149
176
  preserveModules: true,
@@ -151,41 +178,41 @@ async function buildExtraCss() {
151
178
  });
152
179
  const jsFile = path__default.default.join(esRoot, dirname, `${filename}${path__default.default.extname(v)}.js`);
153
180
  if (fs__default.default.existsSync(jsFile)) fs__default.default.unlinkSync(jsFile);
154
- [config.config.cjs, config.config.iife].forEach((targetRoot) => {
155
- const dest = path__default.default.join(config.resolveApp(targetRoot), dirname, `${filename}.min.css`);
181
+ [config.cjs, config.iife].forEach((targetRoot) => {
182
+ const dest = path__default.default.join(resolveApp(targetRoot), dirname, `${filename}.min.css`);
156
183
  fs__default.default.mkdirSync(path__default.default.dirname(dest), { recursive: true });
157
184
  fs__default.default.copyFileSync(path__default.default.join(esRoot, dirname, `${filename}.min.css`), dest);
158
185
  });
159
- utils.log.success(`\u2705 \u7F16\u8BD1\u5B8C\u6210: ${v}`);
186
+ log.success(`\u2705 \u7F16\u8BD1\u5B8C\u6210: ${v}`);
160
187
  } catch (err) {
161
- utils.log.error(`\u274C \u7F16\u8BD1\u5931\u8D25: ${v}`, err);
188
+ log.error(`\u274C \u7F16\u8BD1\u5931\u8D25: ${v}`, err);
162
189
  }
163
190
  });
164
191
  await Promise.all(tasks);
165
- utils.log.success("\u2705 \u6240\u6709\u989D\u5916 CSS \u7F16\u8BD1\u5B8C\u6210");
192
+ log.success("\u2705 \u6240\u6709\u989D\u5916 CSS \u7F16\u8BD1\u5B8C\u6210");
166
193
  }
167
194
  async function buildJS() {
168
195
  const outputOptions = [
169
196
  {
170
- dir: config.config.es,
197
+ dir: config.es,
171
198
  format: "es",
172
199
  preserveModules: true,
173
- preserveModulesRoot: config.resolveApp("src")
200
+ preserveModulesRoot: resolveApp("src")
174
201
  },
175
202
  {
176
- dir: config.config.cjs,
203
+ dir: config.cjs,
177
204
  format: "cjs",
178
205
  preserveModules: true,
179
- preserveModulesRoot: config.resolveApp("src"),
206
+ preserveModulesRoot: resolveApp("src"),
180
207
  exports: "named",
181
208
  interop: "auto"
182
209
  },
183
- ...config.config.iife ? [
210
+ ...config.iife ? [
184
211
  {
185
- dir: config.config.iife,
212
+ dir: config.iife,
186
213
  format: "iife",
187
214
  exports: "named",
188
- name: utils.toPascalCase(name)
215
+ name: toPascalCase(name)
189
216
  }
190
217
  ] : []
191
218
  ];
@@ -194,10 +221,10 @@ async function buildJS() {
194
221
  await bundle.write(output);
195
222
  }
196
223
  await buildExtraCss();
197
- utils.log.success("\u2705 JS Build complete!");
224
+ log.success("\u2705 JS Build complete!");
198
225
  }
199
- const copySrcTds = () => gulp__default.default.src(config.config.include.map((t) => `${t}/**/*.d.ts`)).pipe(gulp__default.default.dest(config.config.es));
200
- const copyTds = () => gulp__default.default.src([`${config.config.es}/**/*.d.ts`]).pipe(gulp__default.default.dest(config.config.cjs));
226
+ const copySrcTds = () => gulp__default.default.src(config.include.map((t) => `${t}/**/*.d.ts`)).pipe(gulp__default.default.dest(config.es));
227
+ const copyTds = () => gulp__default.default.src([`${config.es}/**/*.d.ts`]).pipe(gulp__default.default.dest(config.cjs));
201
228
  var src_default = gulp.series(clean, buildJS, buildDeclarations, copySrcTds, copyTds);
202
229
 
203
230
  exports.default = src_default;
package/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import gulp, { series } from '@es-pkg/gulp';
2
- import { getValidPkgName, log, remove, toPascalCase } from '@es-pkg/utils';
3
- import { pkg, relativeToApp, config, resolveApp, collectInputs, shallowInputs } from '@es-pkg/config';
2
+ import * as utils from '@es-pkg/utils';
3
+ import * as esConfig from '@es-pkg/config';
4
4
  import { rollup } from 'rollup';
5
5
  import resolve from '@rollup/plugin-node-resolve';
6
6
  import commonjs from '@rollup/plugin-commonjs';
@@ -14,6 +14,8 @@ import esbuild from 'rollup-plugin-esbuild';
14
14
  import { builtinModules } from 'node:module';
15
15
  import ts from 'typescript';
16
16
 
17
+ const { remove, log, getValidPkgName, toPascalCase } = utils;
18
+ const { config, collectInputs, shallowInputs, pkg, relativeToApp, resolveApp } = esConfig;
17
19
  const name = getValidPkgName(pkg.name);
18
20
  const clean = () => {
19
21
  log(`\u6E05\u9664 ${relativeToApp(config.es)} & ${relativeToApp(config.cjs)} \u76EE\u5F55---\u5F00\u59CB`);
@@ -58,13 +60,13 @@ function getInputOptions(format) {
58
60
  plugins: [
59
61
  json(),
60
62
  resolve(),
61
- esbuild({ target: "es2018", format: "esm" }),
62
63
  commonjs({
63
64
  defaultIsModuleExports: true,
64
65
  esmExternals: true,
65
66
  transformMixedEsModules: true
66
67
  // 混合模块也转换
67
68
  }),
69
+ esbuild({ target: "es2018", format: "esm" }),
68
70
  getPostcss(config.css.extract)
69
71
  ]
70
72
  };
@@ -74,9 +76,14 @@ async function buildDeclarations() {
74
76
  if (tsConfig.error) {
75
77
  console.log(tsConfig.error.messageText);
76
78
  }
79
+ const parsedConfig = ts.parseJsonConfigFileContent(
80
+ tsConfig.config,
81
+ ts.sys,
82
+ resolveApp("./")
83
+ );
77
84
  const entryFiles = collectInputs.filter((item) => [".ts", ".tsx"].some((suf) => item.endsWith(suf)));
78
85
  const compilerOptions = {
79
- ...tsConfig.config,
86
+ ...parsedConfig.options,
80
87
  declaration: true,
81
88
  emitDeclarationOnly: true,
82
89
  outDir: config.es,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@es-pkg/compile",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "description": "组件打包工具",
5
5
  "main": "cjs/index.js",
6
6
  "keywords": [