@es-pkg/compile 1.0.8 → 1.0.9
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 +60 -38
- package/esm/index.js +5 -3
- package/package.json +1 -1
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
|
|
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
|
|
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
|
-
|
|
59
|
+
log(`\u6E05\u9664 ${relativeToApp(config.es)} & ${relativeToApp(config.cjs)} \u76EE\u5F55---\u5F00\u59CB`);
|
|
38
60
|
const promises = [
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
-
|
|
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.
|
|
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:
|
|
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,29 @@ 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
|
-
|
|
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(
|
|
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 =
|
|
117
|
+
const entryFiles = collectInputs.filter((item) => [".ts", ".tsx"].some((suf) => item.endsWith(suf)));
|
|
96
118
|
const compilerOptions = {
|
|
97
119
|
...tsConfig.config,
|
|
98
120
|
declaration: true,
|
|
99
121
|
emitDeclarationOnly: true,
|
|
100
|
-
outDir: config.
|
|
101
|
-
rootDir:
|
|
122
|
+
outDir: config.es,
|
|
123
|
+
rootDir: resolveApp("src"),
|
|
102
124
|
skipLibCheck: true,
|
|
103
125
|
esModuleInterop: true,
|
|
104
126
|
moduleResolution: ts__default.default.ModuleResolutionKind.NodeJs,
|
|
@@ -123,18 +145,18 @@ async function buildDeclarations() {
|
|
|
123
145
|
})
|
|
124
146
|
);
|
|
125
147
|
} else {
|
|
126
|
-
console.log(`\u2705 Declarations generated in: ${path__default.default.resolve(config.
|
|
148
|
+
console.log(`\u2705 Declarations generated in: ${path__default.default.resolve(config.es)}`);
|
|
127
149
|
}
|
|
128
|
-
|
|
150
|
+
log.success("\u2705 Declarations build complete!");
|
|
129
151
|
}
|
|
130
152
|
async function buildExtraCss() {
|
|
131
|
-
const extras = config.
|
|
153
|
+
const extras = config.css.extra;
|
|
132
154
|
if (!(extras == null ? void 0 : extras.length)) return;
|
|
133
|
-
const srcRoot =
|
|
134
|
-
const esRoot =
|
|
155
|
+
const srcRoot = resolveApp("src");
|
|
156
|
+
const esRoot = resolveApp(config.es);
|
|
135
157
|
const tasks = extras.map(async (v) => {
|
|
136
158
|
try {
|
|
137
|
-
const absPath =
|
|
159
|
+
const absPath = resolveApp(v);
|
|
138
160
|
const relativePath = path__default.default.relative(srcRoot, absPath);
|
|
139
161
|
const dirname = path__default.default.dirname(relativePath);
|
|
140
162
|
const filename = path__default.default.basename(v, path__default.default.extname(v));
|
|
@@ -143,7 +165,7 @@ async function buildExtraCss() {
|
|
|
143
165
|
plugins: getPostcss(path__default.default.join(dirname, `${filename}.min.css`))
|
|
144
166
|
});
|
|
145
167
|
await bundle.write({
|
|
146
|
-
dir: config.
|
|
168
|
+
dir: config.es,
|
|
147
169
|
format: "es",
|
|
148
170
|
sourcemap: false,
|
|
149
171
|
preserveModules: true,
|
|
@@ -151,41 +173,41 @@ async function buildExtraCss() {
|
|
|
151
173
|
});
|
|
152
174
|
const jsFile = path__default.default.join(esRoot, dirname, `${filename}${path__default.default.extname(v)}.js`);
|
|
153
175
|
if (fs__default.default.existsSync(jsFile)) fs__default.default.unlinkSync(jsFile);
|
|
154
|
-
[config.
|
|
155
|
-
const dest = path__default.default.join(
|
|
176
|
+
[config.cjs, config.iife].forEach((targetRoot) => {
|
|
177
|
+
const dest = path__default.default.join(resolveApp(targetRoot), dirname, `${filename}.min.css`);
|
|
156
178
|
fs__default.default.mkdirSync(path__default.default.dirname(dest), { recursive: true });
|
|
157
179
|
fs__default.default.copyFileSync(path__default.default.join(esRoot, dirname, `${filename}.min.css`), dest);
|
|
158
180
|
});
|
|
159
|
-
|
|
181
|
+
log.success(`\u2705 \u7F16\u8BD1\u5B8C\u6210: ${v}`);
|
|
160
182
|
} catch (err) {
|
|
161
|
-
|
|
183
|
+
log.error(`\u274C \u7F16\u8BD1\u5931\u8D25: ${v}`, err);
|
|
162
184
|
}
|
|
163
185
|
});
|
|
164
186
|
await Promise.all(tasks);
|
|
165
|
-
|
|
187
|
+
log.success("\u2705 \u6240\u6709\u989D\u5916 CSS \u7F16\u8BD1\u5B8C\u6210");
|
|
166
188
|
}
|
|
167
189
|
async function buildJS() {
|
|
168
190
|
const outputOptions = [
|
|
169
191
|
{
|
|
170
|
-
dir: config.
|
|
192
|
+
dir: config.es,
|
|
171
193
|
format: "es",
|
|
172
194
|
preserveModules: true,
|
|
173
|
-
preserveModulesRoot:
|
|
195
|
+
preserveModulesRoot: resolveApp("src")
|
|
174
196
|
},
|
|
175
197
|
{
|
|
176
|
-
dir: config.
|
|
198
|
+
dir: config.cjs,
|
|
177
199
|
format: "cjs",
|
|
178
200
|
preserveModules: true,
|
|
179
|
-
preserveModulesRoot:
|
|
201
|
+
preserveModulesRoot: resolveApp("src"),
|
|
180
202
|
exports: "named",
|
|
181
203
|
interop: "auto"
|
|
182
204
|
},
|
|
183
|
-
...config.
|
|
205
|
+
...config.iife ? [
|
|
184
206
|
{
|
|
185
|
-
dir: config.
|
|
207
|
+
dir: config.iife,
|
|
186
208
|
format: "iife",
|
|
187
209
|
exports: "named",
|
|
188
|
-
name:
|
|
210
|
+
name: toPascalCase(name)
|
|
189
211
|
}
|
|
190
212
|
] : []
|
|
191
213
|
];
|
|
@@ -194,10 +216,10 @@ async function buildJS() {
|
|
|
194
216
|
await bundle.write(output);
|
|
195
217
|
}
|
|
196
218
|
await buildExtraCss();
|
|
197
|
-
|
|
219
|
+
log.success("\u2705 JS Build complete!");
|
|
198
220
|
}
|
|
199
|
-
const copySrcTds = () => gulp__default.default.src(config.
|
|
200
|
-
const copyTds = () => gulp__default.default.src([`${config.
|
|
221
|
+
const copySrcTds = () => gulp__default.default.src(config.include.map((t) => `${t}/**/*.d.ts`)).pipe(gulp__default.default.dest(config.es));
|
|
222
|
+
const copyTds = () => gulp__default.default.src([`${config.es}/**/*.d.ts`]).pipe(gulp__default.default.dest(config.cjs));
|
|
201
223
|
var src_default = gulp.series(clean, buildJS, buildDeclarations, copySrcTds, copyTds);
|
|
202
224
|
|
|
203
225
|
exports.default = src_default;
|
package/esm/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import gulp, { series } from '@es-pkg/gulp';
|
|
2
|
-
import
|
|
3
|
-
import
|
|
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
|
};
|