jiek 0.4.0 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cli.cjs +682 -1
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.min.cjs +2 -0
- package/dist/cli.min.cjs.map +1 -0
- package/dist/commands/base.esm.js +1 -1
- package/dist/commands/base.esm.js.map +1 -1
- package/dist/commands/base.esm.min.js +1 -1
- package/dist/commands/base.esm.min.js.map +1 -1
- package/dist/index.cjs +5 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.min.cjs +2 -0
- package/dist/index.min.cjs.map +1 -0
- package/dist/pkg.esm.js +2 -2
- package/dist/pkg.esm.js.map +1 -1
- package/dist/pkg.esm.min.js +1 -1
- package/dist/pkg.esm.min.js.map +1 -1
- package/dist/rollup/utils/withMinify.esm.js +1 -1
- package/dist/rollup/utils/withMinify.esm.js.map +1 -1
- package/dist/rollup/utils/withMinify.esm.min.js +1 -1
- package/dist/rollup/utils/withMinify.esm.min.js.map +1 -1
- package/dist/rollup.cjs +310 -1
- package/dist/rollup.cjs.map +1 -1
- package/dist/rollup.esm.js +52 -103
- package/dist/rollup.esm.js.map +1 -1
- package/dist/rollup.esm.min.js +1 -1
- package/dist/rollup.esm.min.js.map +1 -1
- package/dist/rollup.min.cjs +2 -0
- package/dist/rollup.min.cjs.map +1 -0
- package/package.json +1 -1
package/dist/rollup.cjs
CHANGED
@@ -1,2 +1,311 @@
|
|
1
|
-
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
var node_path = require('node:path');
|
4
|
+
var getWorkspaceDir = require('@jiek/utils/getWorkspaceDir');
|
5
|
+
var json = require('@rollup/plugin-json');
|
6
|
+
var autoprefixer = require('autoprefixer');
|
7
|
+
var cliProgress = require('cli-progress');
|
8
|
+
var rollupPluginDts = require('rollup-plugin-dts');
|
9
|
+
var esbuild = require('rollup-plugin-esbuild');
|
10
|
+
var postcss = require('rollup-plugin-postcss');
|
11
|
+
var terser = require('@rollup/plugin-terser');
|
12
|
+
|
13
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
14
|
+
|
15
|
+
var json__default = /*#__PURE__*/_interopDefault(json);
|
16
|
+
var autoprefixer__default = /*#__PURE__*/_interopDefault(autoprefixer);
|
17
|
+
var esbuild__default = /*#__PURE__*/_interopDefault(esbuild);
|
18
|
+
var postcss__default = /*#__PURE__*/_interopDefault(postcss);
|
19
|
+
var terser__default = /*#__PURE__*/_interopDefault(terser);
|
20
|
+
|
21
|
+
function globalResolver(external) {
|
22
|
+
if (external.startsWith("node:")) {
|
23
|
+
return external.slice(5);
|
24
|
+
}
|
25
|
+
return external.replace(/[@|/-](\w)/g, (_, $1) => $1.toUpperCase());
|
26
|
+
}
|
27
|
+
|
28
|
+
function createGlobalsLinkage() {
|
29
|
+
let globals = {};
|
30
|
+
const dependencies = /* @__PURE__ */ new Set([]);
|
31
|
+
return [
|
32
|
+
({ external } = {}) => {
|
33
|
+
return {
|
34
|
+
name: "globals",
|
35
|
+
resolveId(id) {
|
36
|
+
if (external?.some((dep) => dep instanceof RegExp ? dep.test(id) : dep === id)) {
|
37
|
+
dependencies.add(id);
|
38
|
+
return { id, external: true };
|
39
|
+
}
|
40
|
+
return null;
|
41
|
+
},
|
42
|
+
outputOptions(options) {
|
43
|
+
globals = [...dependencies].reduce((acc, value) => ({
|
44
|
+
...acc,
|
45
|
+
[value]: globalResolver(value)
|
46
|
+
}), {});
|
47
|
+
return { ...options, globals };
|
48
|
+
}
|
49
|
+
};
|
50
|
+
},
|
51
|
+
{ outputOptions: (options) => ({ ...options, globals }) }
|
52
|
+
];
|
53
|
+
}
|
54
|
+
|
55
|
+
var skip = (options = {}) => {
|
56
|
+
return {
|
57
|
+
name: "skip",
|
58
|
+
// skip the specified files by `options.patterns`
|
59
|
+
load(id) {
|
60
|
+
if (options.patterns?.some(
|
61
|
+
(pattern) => typeof pattern === "string" ? id.includes(pattern) : pattern.test(id)
|
62
|
+
)) {
|
63
|
+
return "";
|
64
|
+
}
|
65
|
+
}
|
66
|
+
};
|
67
|
+
};
|
68
|
+
|
69
|
+
const defineOutput = (output) => output;
|
70
|
+
const commonOutputOptions = defineOutput({
|
71
|
+
exports: "named",
|
72
|
+
interop: "auto",
|
73
|
+
sourcemap: true
|
74
|
+
});
|
75
|
+
|
76
|
+
function externalResolver() {
|
77
|
+
const cwd = process.cwd();
|
78
|
+
const pkg = require(`${cwd}/package.json`);
|
79
|
+
const { dependencies = {}, peerDependencies = {}, optionalDependencies = {} } = pkg;
|
80
|
+
const external = Object.keys(dependencies).concat(Object.keys(peerDependencies)).concat(Object.keys(optionalDependencies));
|
81
|
+
return external.map((dep) => new RegExp(`^${dep}(/.*)?$`)).concat([
|
82
|
+
/^node:/
|
83
|
+
]);
|
84
|
+
}
|
85
|
+
|
86
|
+
function withMinify(output) {
|
87
|
+
return [
|
88
|
+
output,
|
89
|
+
{
|
90
|
+
...output,
|
91
|
+
entryFileNames: output.entryFileNames?.replace(/(\.c?js)$/, ".min$1"),
|
92
|
+
plugins: [...output.plugins ?? [], terser__default.default()]
|
93
|
+
}
|
94
|
+
];
|
95
|
+
}
|
96
|
+
|
97
|
+
const workspaceRoot = getWorkspaceDir.getWorkspaceDir();
|
98
|
+
function resolveWorkspacePath(p) {
|
99
|
+
return node_path.resolve(workspaceRoot, p);
|
100
|
+
}
|
101
|
+
function watchProgress(entries, onProcessing, onProcessed) {
|
102
|
+
return {
|
103
|
+
name: "progress",
|
104
|
+
resolveId(source, importer) {
|
105
|
+
if (entries.includes(source) || importer === void 0)
|
106
|
+
onProcessing(source);
|
107
|
+
},
|
108
|
+
writeBundle(options, bundle) {
|
109
|
+
Object.entries(bundle).forEach(([key, value]) => {
|
110
|
+
if (value.name === void 0 || !("isEntry" in value))
|
111
|
+
return;
|
112
|
+
onProcessed(value.name, value.fileName);
|
113
|
+
});
|
114
|
+
}
|
115
|
+
};
|
116
|
+
}
|
117
|
+
const template = ({
|
118
|
+
styled = false,
|
119
|
+
plugins: {
|
120
|
+
index: indexPlugins = [],
|
121
|
+
entry: entryPlugins = [],
|
122
|
+
dts: dtsPlugins = []
|
123
|
+
} = {}
|
124
|
+
} = {}, pkg) => {
|
125
|
+
const { jiek: {
|
126
|
+
noBrowser = false,
|
127
|
+
outdir = "dist"
|
128
|
+
} = {} } = pkg;
|
129
|
+
const outputOptions = {
|
130
|
+
...commonOutputOptions,
|
131
|
+
dir: outdir
|
132
|
+
};
|
133
|
+
if (!pkg.name) {
|
134
|
+
throw new Error("pkg.name is required");
|
135
|
+
}
|
136
|
+
const namePrefix = pkg.name.replace(/[@|/-](\w)/g, (_, $1) => $1.toUpperCase());
|
137
|
+
const exportsEntries = Object.fromEntries(
|
138
|
+
Object.entries(pkg.exports ?? {}).filter(([key]) => !key.startsWith(`./${outdir}`) && !key.startsWith(outdir)).filter(([key]) => !/\.(json|css|scss)$/.test(key)).filter(([, value]) => typeof value === "object" && value["inner-src"] && value["import"]).map(([key, value]) => [
|
139
|
+
key.replace(/^\.$/, "index").replace(/^\.\//, ""),
|
140
|
+
typeof value === "string" ? value : value["inner-src"]
|
141
|
+
])
|
142
|
+
);
|
143
|
+
const maxLengthEntry = Math.max(...Object.values(exportsEntries).map((v) => v.length));
|
144
|
+
function paddingEntry(entry) {
|
145
|
+
return entry.padEnd(maxLengthEntry);
|
146
|
+
}
|
147
|
+
const [globalsRegister, globalsOutput] = createGlobalsLinkage();
|
148
|
+
const external = externalResolver();
|
149
|
+
const commonOptions = {};
|
150
|
+
const commonPlugins = [
|
151
|
+
json__default.default()
|
152
|
+
];
|
153
|
+
const multiBars = new cliProgress.MultiBar({
|
154
|
+
clearOnComplete: false,
|
155
|
+
hideCursor: true,
|
156
|
+
format: "- {bar} | {type} | {entry} | {message}"
|
157
|
+
}, cliProgress.Presets.shades_classic);
|
158
|
+
const entries = Object.values(exportsEntries);
|
159
|
+
const addBarsByEntries = (type) => entries.reduce((add, entry) => {
|
160
|
+
const bar = multiBars.create(100, 0);
|
161
|
+
bar.update(0, { type, entry: paddingEntry(entry), message: "waiting" });
|
162
|
+
return { ...add, [entry]: bar };
|
163
|
+
}, {});
|
164
|
+
const progressState = {
|
165
|
+
esm: addBarsByEntries("esm"),
|
166
|
+
umd: addBarsByEntries("umd"),
|
167
|
+
dts: addBarsByEntries("dts")
|
168
|
+
};
|
169
|
+
const resolved = entries.reduce((entries2, entry) => ({ ...entries2, [entry]: false }), {});
|
170
|
+
const watchingProgress = (type, defaultEntry) => {
|
171
|
+
const group = progressState[type];
|
172
|
+
return watchProgress(
|
173
|
+
Object.values(exportsEntries),
|
174
|
+
(entry) => {
|
175
|
+
const e = defaultEntry ?? entry;
|
176
|
+
const bar = group[e];
|
177
|
+
if (!bar)
|
178
|
+
return;
|
179
|
+
bar.update(0, { type, entry: paddingEntry(e), message: "processing" });
|
180
|
+
},
|
181
|
+
(name, fileName) => {
|
182
|
+
const e = defaultEntry ?? exportsEntries[name];
|
183
|
+
const bar = group[e];
|
184
|
+
if (!bar)
|
185
|
+
return;
|
186
|
+
const endsReg = {
|
187
|
+
esm: /\.min\.js$/,
|
188
|
+
umd: /\.min\.c?js$/,
|
189
|
+
dts: /\.esm\.d\.ts$/
|
190
|
+
}[type];
|
191
|
+
if (!endsReg.test(fileName)) {
|
192
|
+
bar.update(95, { type, entry: paddingEntry(e), message: "processed" });
|
193
|
+
} else {
|
194
|
+
bar.update(100, { type, entry: paddingEntry(e), message: "finished" });
|
195
|
+
}
|
196
|
+
if (type === "dts") {
|
197
|
+
resolved[e] = true;
|
198
|
+
if (Object.values(resolved).every(Boolean)) {
|
199
|
+
setTimeout(() => multiBars.stop(), 200);
|
200
|
+
}
|
201
|
+
}
|
202
|
+
}
|
203
|
+
);
|
204
|
+
};
|
205
|
+
return [
|
206
|
+
{
|
207
|
+
...commonOptions,
|
208
|
+
input: exportsEntries,
|
209
|
+
output: [
|
210
|
+
...withMinify({
|
211
|
+
...outputOptions,
|
212
|
+
format: "esm",
|
213
|
+
entryFileNames: "[name].esm.js",
|
214
|
+
preserveModules: true
|
215
|
+
})
|
216
|
+
],
|
217
|
+
plugins: [
|
218
|
+
watchingProgress("esm"),
|
219
|
+
commonPlugins,
|
220
|
+
globalsRegister({ external }),
|
221
|
+
styled && skip({ patterns: [/\.s?css$/] }),
|
222
|
+
esbuild__default.default(),
|
223
|
+
indexPlugins
|
224
|
+
]
|
225
|
+
},
|
226
|
+
...Object.entries(exportsEntries).map(([name, input]) => {
|
227
|
+
const outputName = namePrefix + (name === "index" ? "" : name.replace(/[@|/-](\w)/g, (_, $1) => $1.toUpperCase()));
|
228
|
+
return {
|
229
|
+
...commonOptions,
|
230
|
+
input,
|
231
|
+
output: noBrowser ? [
|
232
|
+
...withMinify({
|
233
|
+
...outputOptions,
|
234
|
+
name: outputName,
|
235
|
+
format: "cjs",
|
236
|
+
entryFileNames: `${name}.cjs`
|
237
|
+
})
|
238
|
+
] : [
|
239
|
+
...withMinify({
|
240
|
+
...outputOptions,
|
241
|
+
name: outputName,
|
242
|
+
format: "iife",
|
243
|
+
entryFileNames: `${name}.iife.js`
|
244
|
+
}),
|
245
|
+
...withMinify({
|
246
|
+
...outputOptions,
|
247
|
+
name: outputName,
|
248
|
+
format: "umd",
|
249
|
+
entryFileNames: `${name}.umd.js`
|
250
|
+
})
|
251
|
+
],
|
252
|
+
plugins: [
|
253
|
+
watchingProgress("umd", input),
|
254
|
+
commonPlugins,
|
255
|
+
globalsOutput,
|
256
|
+
styled && postcss__default.default({
|
257
|
+
plugins: [autoprefixer__default.default],
|
258
|
+
minimize: true,
|
259
|
+
sourceMap: true,
|
260
|
+
extract: `${name}.css`
|
261
|
+
}),
|
262
|
+
esbuild__default.default(),
|
263
|
+
entryPlugins
|
264
|
+
],
|
265
|
+
external
|
266
|
+
};
|
267
|
+
}),
|
268
|
+
{
|
269
|
+
...commonOptions,
|
270
|
+
input: exportsEntries,
|
271
|
+
output: [
|
272
|
+
{
|
273
|
+
dir: "dist"
|
274
|
+
},
|
275
|
+
{
|
276
|
+
dir: "dist",
|
277
|
+
entryFileNames: ({ name }) => `${name.replace(/^src\//, "")}.esm.d.ts`,
|
278
|
+
preserveModules: true
|
279
|
+
}
|
280
|
+
],
|
281
|
+
plugins: [
|
282
|
+
watchingProgress("dts"),
|
283
|
+
commonPlugins,
|
284
|
+
styled && skip({ patterns: [/\.s?css$/] }),
|
285
|
+
rollupPluginDts.dts({ tsconfig: resolveWorkspacePath("tsconfig.dts.json") }),
|
286
|
+
{
|
287
|
+
name: "rollup-plugin-declare-module-replacer",
|
288
|
+
/**
|
289
|
+
* replace relative path `declare module './xxx'` to `declare module '{{package name}}'`
|
290
|
+
* in output file generated
|
291
|
+
*/
|
292
|
+
generateBundle(_, bundle) {
|
293
|
+
for (const file of Object.values(bundle)) {
|
294
|
+
if (!("code" in file))
|
295
|
+
continue;
|
296
|
+
file.code = file.code.replace(
|
297
|
+
/declare module ['|"]\..*['|"]/g,
|
298
|
+
`declare module '${pkg.name}'`
|
299
|
+
);
|
300
|
+
}
|
301
|
+
}
|
302
|
+
},
|
303
|
+
dtsPlugins
|
304
|
+
],
|
305
|
+
external
|
306
|
+
}
|
307
|
+
];
|
308
|
+
};
|
309
|
+
|
310
|
+
exports.template = template;
|
2
311
|
//# sourceMappingURL=rollup.cjs.map
|
package/dist/rollup.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rollup.cjs","sources":["../src/rollup/utils/globalResolver.ts","../src/rollup/plugins/skip.ts","../src/rollup/utils/commonOptions.ts","../src/rollup/utils/withMinify.ts","../src/rollup/index.ts","../src/rollup/plugins/globals.ts","../src/rollup/utils/externalResolver.ts"],"sourcesContent":["export default function (external: string) {\n // a/b => AB\n // a-b => AB\n // a@b => AB\n // a@b/c => ABC\n // node:a => a\n // node:a_b => a_b\n if (external.startsWith('node:')) {\n return external.slice(5)\n }\n return external\n .replace(/[@|/-](\\w)/g, (_, $1) => $1.toUpperCase())\n}\n","import type { PluginImpl } from 'rollup'\n\ninterface Options {\n patterns?: (string | RegExp)[]\n}\n\nexport default ((options = {}) => {\n return {\n name: 'skip',\n // skip the specified files by `options.patterns`\n load(id) {\n if (\n options.patterns?.some((pattern) =>\n typeof pattern === 'string'\n ? id.includes(pattern)\n : pattern.test(id)\n )\n ) {\n return ''\n }\n }\n }\n}) as PluginImpl<Options>\n","import type { OutputOptions } from 'rollup'\n\nconst defineOutput = <O extends OutputOptions>(output: O) => output\n\nexport const commonOutputOptions = defineOutput({\n exports: 'named',\n interop: 'auto',\n sourcemap: true\n})\n","import terser from '@rollup/plugin-terser'\nimport type { OutputOptions, OutputPlugin } from 'rollup'\n\nexport default function (output: OutputOptions & {\n entryFileNames?: string\n plugins?: OutputPlugin[]\n}): OutputOptions[] {\n return [\n output,\n {\n ...output,\n entryFileNames: output.entryFileNames?.replace(/(\\.js)$/, '.min$1'),\n plugins: [...(output.plugins ?? []), terser()]\n }\n ]\n}\n","import { resolve } from 'node:path'\n\nimport type { Options } from '@jiek/pkger'\nimport { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\nimport json from '@rollup/plugin-json'\nimport autoprefixer from 'autoprefixer'\nimport { InputPluginOption, Plugin, RollupOptions } from 'rollup'\nimport { dts } from 'rollup-plugin-dts'\nimport esbuild from 'rollup-plugin-esbuild'\nimport postcss from 'rollup-plugin-postcss'\nimport { MultiBar, Presets } from 'cli-progress'\n\nimport { createGlobalsLinkage } from './plugins/globals'\nimport skip from './plugins/skip'\nimport { commonOutputOptions } from './utils/commonOptions'\nimport externalResolver from './utils/externalResolver'\nimport withMinify from './utils/withMinify'\n\nconst workspaceRoot = getWorkspaceDir()\nfunction resolveWorkspacePath(p: string) {\n return resolve(workspaceRoot, p)\n}\n\nfunction progress(\n entries: string[],\n onProcessing: (entry: string) => void,\n onTransforming: (id: string) => void,\n onProcessed: (name: string, fileName: string) => void\n): Plugin {\n return {\n name: 'progress',\n resolveId(source, importer) {\n if (entries.includes(source) || importer === undefined)\n onProcessing(source)\n },\n transform(_, id) {\n onTransforming(id)\n },\n writeBundle(options, bundle) {\n Object.entries(bundle).forEach(([key, value]) => {\n if (value.name === undefined || !('isEntry' in value)) return\n onProcessed(value.name, value.fileName)\n })\n }\n }\n}\n\nexport const template = (\n {\n styled = false,\n plugins: {\n index: indexPlugins = [],\n entry: entryPlugins = [],\n dts: dtsPlugins = []\n } = {}\n }: {\n /**\n * include styles files\n */\n styled?: boolean\n plugins?: {\n index?: InputPluginOption\n entry?: InputPluginOption\n dts?: InputPluginOption\n }\n } = {},\n pkg: {\n name?: string\n jiek?: Options\n exports?: Record<string, string | {\n import: string\n 'inner-src': string\n }>\n }\n) => {\n const { jiek: {\n noBrowser = false,\n outdir = 'dist'\n } = {} } = pkg\n const outputOptions = {\n ...commonOutputOptions,\n dir: outdir\n }\n if (!pkg.name) {\n throw new Error('pkg.name is required')\n }\n const namePrefix = pkg\n .name\n .replace(/[@|/-](\\w)/g, (_, $1) => $1.toUpperCase())\n const exportsEntries = Object.fromEntries(\n Object.entries(pkg.exports ?? {})\n // filter outdir entries\n .filter(([key]) => !key.startsWith(`./${outdir}`) && !key.startsWith(outdir))\n // filter static files\n .filter(([key]) => !/\\.(json|css|scss)$/.test(key))\n // filter no `inner-src` or `import` field entries\n .filter(([, value]) => typeof value === 'object' && value['inner-src'] && value['import'])\n .map(([key, value]) => [\n key\n .replace(/^\\.$/, 'index')\n .replace(/^\\.\\//, ''),\n typeof value === 'string' ? value : value['inner-src']\n ])\n )\n\n const [globalsRegister, globalsOutput] = createGlobalsLinkage()\n const external = externalResolver()\n\n const commonOptions = {\n } satisfies RollupOptions\n const commonPlugins = [\n json()\n ]\n const multiBars = new MultiBar({\n clearOnComplete: false,\n hideCursor: true,\n format: '- {bar} | {type} | {entry} | {message}'\n }, Presets.shades_classic)\n const entries = Object.values(exportsEntries)\n const progressState = {\n esm: entries.reduce((add, entry) => {\n const bar = multiBars.create(100, 0)\n bar.update(0, { type: 'esm', entry, message: 'waiting' })\n return { ...add, [entry]: bar }\n }, {} as Record<string, ReturnType<typeof multiBars.create>>),\n umd: entries.reduce((add, entry) => {\n const bar = multiBars.create(100, 0)\n bar.update(0, { type: 'umd', entry, message: 'waiting' })\n return { ...add, [entry]: bar }\n }, {} as Record<string, ReturnType<typeof multiBars.create>>),\n dts: entries.reduce((add, entry) => {\n const bar = multiBars.create(100, 0)\n bar.update(0, { type: 'dts', entry, message: 'waiting' })\n return { ...add, [entry]: bar }\n }, {} as Record<string, ReturnType<typeof multiBars.create>>)\n }\n const resolved = entries.reduce((entries, entry) => ({ ...entries, [entry]: false }), {} as Record<string, boolean>)\n return [\n {\n ...commonOptions,\n input: exportsEntries,\n output: [\n ...withMinify({\n ...outputOptions,\n format: 'esm',\n entryFileNames: '[name].esm.js',\n preserveModules: true\n })\n ],\n plugins: [\n progress(\n Object.values(exportsEntries),\n entry => {\n const bar = progressState.esm[entry]\n if (!bar) return\n bar.update(0, { type: 'esm', entry, message: 'processing' })\n },\n id => {\n const bar = progressState.esm[id]\n if (!bar) return\n bar.update(50, { type: 'esm', entry: id, message: `transforming ${id}` })\n },\n (name, fileName) => {\n const entry = exportsEntries[name]\n const bar = progressState.esm[entry]\n if (!bar) return\n if (!fileName.endsWith('.min.js')) {\n bar.update(95, { type: 'esm', entry, message: `processed` })\n } else {\n bar.update(100, { type: 'esm', entry, message: `finished` })\n }\n }\n ),\n commonPlugins,\n globalsRegister({ external }),\n styled && skip({ patterns: [/\\.s?css$/] }),\n esbuild(),\n indexPlugins\n ]\n },\n ...Object.entries(exportsEntries).map(([name, input]) => {\n const outputName = namePrefix + (\n name === 'index' ? '' : (\n name.replace(/[@|/-](\\w)/g, (_, $1) => $1.toUpperCase())\n )\n )\n return {\n ...commonOptions,\n input: input,\n output: noBrowser ? [\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'cjs',\n entryFileNames: `${name}.cjs`\n })\n ] : [\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'iife',\n entryFileNames: `${name}.iife.js`\n }),\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'umd',\n entryFileNames: `${name}.umd.js`\n })\n ],\n plugins: [\n progress(\n [input],\n entry => {\n const bar = progressState.umd[entry]\n if (!bar) return\n bar.update(0, { type: 'umd', entry, message: 'processing' })\n },\n id => {\n const bar = progressState.umd[input]\n if (!bar) return\n bar.update(50, { type: 'umd', input, message: `transforming ${id}` })\n },\n (name, fileName) => {\n const bar = progressState.umd[input]\n if (!bar) return\n if (!fileName.endsWith('.min.js')) {\n bar.update(95, { type: 'umd', input, message: `processed` })\n } else {\n bar.update(100, { type: 'umd', input, message: `finished` })\n }\n }\n ),\n commonPlugins,\n globalsOutput,\n styled && postcss({\n plugins: [autoprefixer],\n minimize: true,\n sourceMap: true,\n extract: `${name}.css`\n }),\n esbuild(),\n entryPlugins\n ],\n external\n }\n }),\n {\n ...commonOptions,\n input: exportsEntries,\n output: [\n {\n dir: 'dist'\n },\n {\n dir: 'dist',\n entryFileNames: ({ name }) => `${name.replace(/^src\\//, '')}.esm.d.ts`,\n preserveModules: true\n }\n ],\n plugins: [\n progress(\n Object.values(exportsEntries),\n entry => {\n const bar = progressState.dts[entry]\n if (!bar) return\n bar.update(0, { type: 'dts', entry, message: 'processing' })\n },\n id => {\n const bar = progressState.dts[id]\n if (!bar) return\n bar.update(50, { type: 'dts', entry: id, message: `transforming ${id}` })\n },\n (name, fileName) => {\n const entry = exportsEntries[name]\n const bar = progressState.dts[entry]\n if (!bar) return\n if (!fileName.endsWith('.esm.d.ts')) {\n bar.update(95, { type: 'dts', entry, message: `processed` })\n } else {\n bar.update(100, { type: 'dts', entry, message: `finished` })\n resolved[entry] = true\n }\n if (Object.values(resolved).every(Boolean)) {\n setTimeout(() => {\n multiBars.stop()\n }, 100)\n }\n }\n ),\n commonPlugins,\n styled && skip({ patterns: [/\\.s?css$/] }),\n dts({ tsconfig: resolveWorkspacePath('tsconfig.dts.json') }),\n {\n name: 'rollup-plugin-declare-module-replacer',\n /**\n * replace relative path `declare module './xxx'` to `declare module '{{package name}}'`\n * in output file generated\n */\n generateBundle(_, bundle) {\n for (const file of Object.values(bundle)) {\n if (!('code' in file)) continue\n\n file.code = file.code.replace(\n /declare module ['|\"]\\..*['|\"]/g,\n `declare module '${pkg.name}'`\n )\n }\n }\n },\n dtsPlugins\n ],\n external\n }\n ] as RollupOptions[]\n}\n","import type { Plugin, PluginImpl } from 'rollup'\n\nimport globalResolver from '../utils/globalResolver'\n\ninterface GlobalsOptions {\n external?: (string | RegExp)[]\n}\n\nexport function createGlobalsLinkage() {\n let globals = {}\n const dependencies = new Set<string>([])\n return [\n (({ external } = {}) => {\n return {\n name: 'globals',\n resolveId(id) {\n if (external?.some(dep => dep instanceof RegExp ? dep.test(id) : dep === id)) {\n dependencies.add(id)\n return { id, external: true }\n }\n return null\n },\n outputOptions(options) {\n globals = [...dependencies].reduce((acc, value) => ({\n ...acc,\n [value]: globalResolver(value)\n }), {})\n return { ...options, globals }\n }\n }\n }) as PluginImpl<GlobalsOptions>,\n { outputOptions: options => ({ ...options, globals }) } as Plugin\n ] as const\n}\n","export default function () {\n const cwd = process.cwd()\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const pkg = require(`${cwd}/package.json`)\n const { dependencies = {}, peerDependencies = {}, optionalDependencies = {} } = pkg\n const external = <(string | RegExp)[]>Object\n .keys(dependencies)\n .concat(Object.keys(peerDependencies))\n .concat(Object.keys(optionalDependencies))\n return external\n .map(dep => new RegExp(`^${dep}(/.*)?$`))\n .concat([\n /^node:/\n ])\n}\n"],"names":["globalResolver","external","startsWith","slice","replace","_","$1","toUpperCase","skip","options","name","load","id","patterns","some","pattern","includes","test","commonOutputOptions","exports","interop","sourcemap","withMinify","output","entryFileNames","plugins","terser","workspaceRoot","getWorkspaceDir","progress","entries","onProcessing","onTransforming","onProcessed","resolveId","source","importer","transform","writeBundle","bundle","Object","forEach","key","value","fileName","styled","index","indexPlugins","entry","entryPlugins","dts","dtsPlugins","pkg","jiek","noBrowser","outdir","outputOptions","dir","Error","namePrefix","exportsEntries","fromEntries","filter","map","globalsRegister","globalsOutput","globals","dependencies","Set","dep","RegExp","add","reduce","acc","createGlobalsLinkage","cwd","process","require","peerDependencies","optionalDependencies","keys","concat","externalResolver","commonOptions","commonPlugins","json","multiBars","MultiBar","clearOnComplete","hideCursor","format","Presets","shades_classic","values","progressState","esm","bar","create","update","type","message","umd","resolved","input","preserveModules","endsWith","esbuild","outputName","postcss","autoprefixer","minimize","sourceMap","extract","every","Boolean","setTimeout","stop","tsconfig","p","resolve","generateBundle","file","code"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"rollup.cjs","sources":["../src/rollup/utils/globalResolver.ts","../src/rollup/plugins/globals.ts","../src/rollup/plugins/skip.ts","../src/rollup/utils/commonOptions.ts","../src/rollup/utils/externalResolver.ts","../src/rollup/utils/withMinify.ts","../src/rollup/index.ts"],"sourcesContent":["export default function (external: string) {\n // a/b => AB\n // a-b => AB\n // a@b => AB\n // a@b/c => ABC\n // node:a => a\n // node:a_b => a_b\n if (external.startsWith('node:')) {\n return external.slice(5)\n }\n return external\n .replace(/[@|/-](\\w)/g, (_, $1) => $1.toUpperCase())\n}\n","import type { Plugin, PluginImpl } from 'rollup'\n\nimport globalResolver from '../utils/globalResolver'\n\ninterface GlobalsOptions {\n external?: (string | RegExp)[]\n}\n\nexport function createGlobalsLinkage() {\n let globals = {}\n const dependencies = new Set<string>([])\n return [\n (({ external } = {}) => {\n return {\n name: 'globals',\n resolveId(id) {\n if (external?.some(dep => dep instanceof RegExp ? dep.test(id) : dep === id)) {\n dependencies.add(id)\n return { id, external: true }\n }\n return null\n },\n outputOptions(options) {\n globals = [...dependencies].reduce((acc, value) => ({\n ...acc,\n [value]: globalResolver(value)\n }), {})\n return { ...options, globals }\n }\n }\n }) as PluginImpl<GlobalsOptions>,\n { outputOptions: options => ({ ...options, globals }) } as Plugin\n ] as const\n}\n","import type { PluginImpl } from 'rollup'\n\ninterface Options {\n patterns?: (string | RegExp)[]\n}\n\nexport default ((options = {}) => {\n return {\n name: 'skip',\n // skip the specified files by `options.patterns`\n load(id) {\n if (\n options.patterns?.some((pattern) =>\n typeof pattern === 'string'\n ? id.includes(pattern)\n : pattern.test(id)\n )\n ) {\n return ''\n }\n }\n }\n}) as PluginImpl<Options>\n","import type { OutputOptions } from 'rollup'\n\nconst defineOutput = <O extends OutputOptions>(output: O) => output\n\nexport const commonOutputOptions = defineOutput({\n exports: 'named',\n interop: 'auto',\n sourcemap: true\n})\n","export default function () {\n const cwd = process.cwd()\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const pkg = require(`${cwd}/package.json`)\n const { dependencies = {}, peerDependencies = {}, optionalDependencies = {} } = pkg\n const external = <(string | RegExp)[]>Object\n .keys(dependencies)\n .concat(Object.keys(peerDependencies))\n .concat(Object.keys(optionalDependencies))\n return external\n .map(dep => new RegExp(`^${dep}(/.*)?$`))\n .concat([\n /^node:/\n ])\n}\n","import terser from '@rollup/plugin-terser'\nimport type { OutputOptions, OutputPlugin } from 'rollup'\n\nexport default function (output: OutputOptions & {\n entryFileNames?: string\n plugins?: OutputPlugin[]\n}): OutputOptions[] {\n return [\n output,\n {\n ...output,\n entryFileNames: output.entryFileNames?.replace(/(\\.c?js)$/, '.min$1'),\n plugins: [...(output.plugins ?? []), terser()]\n }\n ]\n}\n","import { resolve } from 'node:path'\n\nimport type { Options } from '@jiek/pkger'\nimport { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir'\nimport json from '@rollup/plugin-json'\nimport autoprefixer from 'autoprefixer'\nimport { MultiBar, Presets } from 'cli-progress'\nimport type { InputPluginOption, Plugin, RollupOptions } from 'rollup'\nimport { dts } from 'rollup-plugin-dts'\nimport esbuild from 'rollup-plugin-esbuild'\nimport postcss from 'rollup-plugin-postcss'\n\nimport { createGlobalsLinkage } from './plugins/globals'\nimport skip from './plugins/skip'\nimport { commonOutputOptions } from './utils/commonOptions'\nimport externalResolver from './utils/externalResolver'\nimport withMinify from './utils/withMinify'\n\nconst workspaceRoot = getWorkspaceDir()\nfunction resolveWorkspacePath(p: string) {\n return resolve(workspaceRoot, p)\n}\n\nfunction watchProgress(\n entries: string[],\n onProcessing: (entry: string) => void,\n onProcessed: (name: string, fileName: string) => void\n): Plugin {\n return {\n name: 'progress',\n resolveId(source, importer) {\n if (entries.includes(source) || importer === undefined)\n onProcessing(source)\n },\n writeBundle(options, bundle) {\n Object.entries(bundle).forEach(([key, value]) => {\n if (value.name === undefined || !('isEntry' in value)) return\n onProcessed(value.name, value.fileName)\n })\n }\n }\n}\n\nexport const template = (\n {\n styled = false,\n plugins: {\n index: indexPlugins = [],\n entry: entryPlugins = [],\n dts: dtsPlugins = []\n } = {}\n }: {\n /**\n * include styles files\n */\n styled?: boolean\n plugins?: {\n index?: InputPluginOption\n entry?: InputPluginOption\n dts?: InputPluginOption\n }\n } = {},\n pkg: {\n name?: string\n jiek?: Options\n exports?: Record<string, string | {\n import: string\n 'inner-src': string\n }>\n }\n) => {\n const { jiek: {\n noBrowser = false,\n outdir = 'dist'\n } = {} } = pkg\n const outputOptions = {\n ...commonOutputOptions,\n dir: outdir\n }\n if (!pkg.name) {\n throw new Error('pkg.name is required')\n }\n const namePrefix = pkg\n .name\n .replace(/[@|/-](\\w)/g, (_, $1) => $1.toUpperCase())\n const exportsEntries = Object.fromEntries(\n Object.entries(pkg.exports ?? {})\n // filter outdir entries\n .filter(([key]) => !key.startsWith(`./${outdir}`) && !key.startsWith(outdir))\n // filter static files\n .filter(([key]) => !/\\.(json|css|scss)$/.test(key))\n // filter no `inner-src` or `import` field entries\n .filter(([, value]) => typeof value === 'object' && value['inner-src'] && value['import'])\n .map(([key, value]) => [\n key\n .replace(/^\\.$/, 'index')\n .replace(/^\\.\\//, ''),\n typeof value === 'string' ? value : value['inner-src']\n ])\n )\n const maxLengthEntry = Math.max(...Object.values(exportsEntries).map(v => v.length))\n function paddingEntry(entry: string) {\n return entry.padEnd(maxLengthEntry)\n }\n\n const [globalsRegister, globalsOutput] = createGlobalsLinkage()\n const external = externalResolver()\n\n const commonOptions = {\n } satisfies RollupOptions\n const commonPlugins = [\n json()\n ]\n const multiBars = new MultiBar({\n clearOnComplete: false,\n hideCursor: true,\n format: '- {bar} | {type} | {entry} | {message}'\n }, Presets.shades_classic)\n const entries = Object.values(exportsEntries)\n const addBarsByEntries = (type: 'esm' | 'umd' | 'dts') => entries\n .reduce((add, entry) => {\n const bar = multiBars.create(100, 0)\n bar.update(0, { type, entry: paddingEntry(entry), message: 'waiting' })\n return { ...add, [entry]: bar }\n }, {} as Record<string, ReturnType<typeof multiBars.create>>)\n const progressState = {\n esm: addBarsByEntries('esm'),\n umd: addBarsByEntries('umd'),\n dts: addBarsByEntries('dts')\n }\n const resolved = entries.reduce((entries, entry) => ({ ...entries, [entry]: false }), {} as Record<string, boolean>)\n const watchingProgress = (\n type: 'esm' | 'umd' | 'dts',\n defaultEntry?: string\n ) => {\n const group = progressState[type]\n return watchProgress(\n Object.values(exportsEntries),\n entry => {\n const e = defaultEntry ?? entry\n const bar = group[e]\n if (!bar) return\n bar.update(0, { type, entry: paddingEntry(e), message: 'processing' })\n },\n (name, fileName) => {\n const e = defaultEntry ?? exportsEntries[name]\n const bar = group[e]\n if (!bar) return\n const endsReg = {\n esm: /\\.min\\.js$/,\n umd: /\\.min\\.c?js$/,\n dts: /\\.esm\\.d\\.ts$/\n }[type]\n if (!endsReg.test(fileName)) {\n bar.update(95, { type, entry: paddingEntry(e), message: 'processed' })\n } else {\n bar.update(100, { type, entry: paddingEntry(e), message: 'finished' })\n }\n if (type === 'dts') {\n resolved[e] = true\n if (Object.values(resolved).every(Boolean)) {\n setTimeout(() => multiBars.stop(), 200)\n }\n }\n }\n )\n }\n return [\n {\n ...commonOptions,\n input: exportsEntries,\n output: [\n ...withMinify({\n ...outputOptions,\n format: 'esm',\n entryFileNames: '[name].esm.js',\n preserveModules: true\n })\n ],\n plugins: [\n watchingProgress('esm'),\n commonPlugins,\n globalsRegister({ external }),\n styled && skip({ patterns: [/\\.s?css$/] }),\n esbuild(),\n indexPlugins\n ]\n },\n ...Object.entries(exportsEntries).map(([name, input]) => {\n const outputName = namePrefix + (\n name === 'index' ? '' : (\n name.replace(/[@|/-](\\w)/g, (_, $1) => $1.toUpperCase())\n )\n )\n return {\n ...commonOptions,\n input: input,\n output: noBrowser ? [\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'cjs',\n entryFileNames: `${name}.cjs`\n })\n ] : [\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'iife',\n entryFileNames: `${name}.iife.js`\n }),\n ...withMinify({\n ...outputOptions,\n name: outputName,\n format: 'umd',\n entryFileNames: `${name}.umd.js`\n })\n ],\n plugins: [\n watchingProgress('umd', input),\n commonPlugins,\n globalsOutput,\n styled && postcss({\n plugins: [autoprefixer],\n minimize: true,\n sourceMap: true,\n extract: `${name}.css`\n }),\n esbuild(),\n entryPlugins\n ],\n external\n }\n }),\n {\n ...commonOptions,\n input: exportsEntries,\n output: [\n {\n dir: 'dist'\n },\n {\n dir: 'dist',\n entryFileNames: ({ name }) => `${name.replace(/^src\\//, '')}.esm.d.ts`,\n preserveModules: true\n }\n ],\n plugins: [\n watchingProgress('dts'),\n commonPlugins,\n styled && skip({ patterns: [/\\.s?css$/] }),\n dts({ tsconfig: resolveWorkspacePath('tsconfig.dts.json') }),\n {\n name: 'rollup-plugin-declare-module-replacer',\n /**\n * replace relative path `declare module './xxx'` to `declare module '{{package name}}'`\n * in output file generated\n */\n generateBundle(_, bundle) {\n for (const file of Object.values(bundle)) {\n if (!('code' in file)) continue\n\n file.code = file.code.replace(\n /declare module ['|\"]\\..*['|\"]/g,\n `declare module '${pkg.name}'`\n )\n }\n }\n },\n dtsPlugins\n ],\n external\n }\n ] as RollupOptions[]\n}\n"],"names":["terser","getWorkspaceDir","resolve","json","MultiBar","Presets","entries","esbuild","postcss","autoprefixer","dts"],"mappings":"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"}
|
package/dist/rollup.esm.js
CHANGED
@@ -2,10 +2,10 @@ import { resolve } from 'node:path';
|
|
2
2
|
import { getWorkspaceDir } from '@jiek/utils/getWorkspaceDir';
|
3
3
|
import json from '@rollup/plugin-json';
|
4
4
|
import autoprefixer from 'autoprefixer';
|
5
|
+
import { MultiBar, Presets } from 'cli-progress';
|
5
6
|
import { dts } from 'rollup-plugin-dts';
|
6
7
|
import esbuild from 'rollup-plugin-esbuild';
|
7
8
|
import postcss from 'rollup-plugin-postcss';
|
8
|
-
import { MultiBar, Presets } from 'cli-progress';
|
9
9
|
import { createGlobalsLinkage } from './rollup/plugins/globals.esm.js';
|
10
10
|
import skip from './rollup/plugins/skip.esm.js';
|
11
11
|
import { commonOutputOptions } from './rollup/utils/commonOptions.esm.js';
|
@@ -16,16 +16,13 @@ const workspaceRoot = getWorkspaceDir();
|
|
16
16
|
function resolveWorkspacePath(p) {
|
17
17
|
return resolve(workspaceRoot, p);
|
18
18
|
}
|
19
|
-
function
|
19
|
+
function watchProgress(entries, onProcessing, onProcessed) {
|
20
20
|
return {
|
21
21
|
name: "progress",
|
22
22
|
resolveId(source, importer) {
|
23
23
|
if (entries.includes(source) || importer === void 0)
|
24
24
|
onProcessing(source);
|
25
25
|
},
|
26
|
-
transform(_, id) {
|
27
|
-
onTransforming(id);
|
28
|
-
},
|
29
26
|
writeBundle(options, bundle) {
|
30
27
|
Object.entries(bundle).forEach(([key, value]) => {
|
31
28
|
if (value.name === void 0 || !("isEntry" in value))
|
@@ -61,6 +58,10 @@ const template = ({
|
|
61
58
|
typeof value === "string" ? value : value["inner-src"]
|
62
59
|
])
|
63
60
|
);
|
61
|
+
const maxLengthEntry = Math.max(...Object.values(exportsEntries).map((v) => v.length));
|
62
|
+
function paddingEntry(entry) {
|
63
|
+
return entry.padEnd(maxLengthEntry);
|
64
|
+
}
|
64
65
|
const [globalsRegister, globalsOutput] = createGlobalsLinkage();
|
65
66
|
const external = externalResolver();
|
66
67
|
const commonOptions = {};
|
@@ -73,24 +74,52 @@ const template = ({
|
|
73
74
|
format: "- {bar} | {type} | {entry} | {message}"
|
74
75
|
}, Presets.shades_classic);
|
75
76
|
const entries = Object.values(exportsEntries);
|
77
|
+
const addBarsByEntries = (type) => entries.reduce((add, entry) => {
|
78
|
+
const bar = multiBars.create(100, 0);
|
79
|
+
bar.update(0, { type, entry: paddingEntry(entry), message: "waiting" });
|
80
|
+
return { ...add, [entry]: bar };
|
81
|
+
}, {});
|
76
82
|
const progressState = {
|
77
|
-
esm:
|
78
|
-
|
79
|
-
|
80
|
-
return { ...add, [entry]: bar };
|
81
|
-
}, {}),
|
82
|
-
umd: entries.reduce((add, entry) => {
|
83
|
-
const bar = multiBars.create(100, 0);
|
84
|
-
bar.update(0, { type: "umd", entry, message: "waiting" });
|
85
|
-
return { ...add, [entry]: bar };
|
86
|
-
}, {}),
|
87
|
-
dts: entries.reduce((add, entry) => {
|
88
|
-
const bar = multiBars.create(100, 0);
|
89
|
-
bar.update(0, { type: "dts", entry, message: "waiting" });
|
90
|
-
return { ...add, [entry]: bar };
|
91
|
-
}, {})
|
83
|
+
esm: addBarsByEntries("esm"),
|
84
|
+
umd: addBarsByEntries("umd"),
|
85
|
+
dts: addBarsByEntries("dts")
|
92
86
|
};
|
93
87
|
const resolved = entries.reduce((entries2, entry) => ({ ...entries2, [entry]: false }), {});
|
88
|
+
const watchingProgress = (type, defaultEntry) => {
|
89
|
+
const group = progressState[type];
|
90
|
+
return watchProgress(
|
91
|
+
Object.values(exportsEntries),
|
92
|
+
(entry) => {
|
93
|
+
const e = defaultEntry ?? entry;
|
94
|
+
const bar = group[e];
|
95
|
+
if (!bar)
|
96
|
+
return;
|
97
|
+
bar.update(0, { type, entry: paddingEntry(e), message: "processing" });
|
98
|
+
},
|
99
|
+
(name, fileName) => {
|
100
|
+
const e = defaultEntry ?? exportsEntries[name];
|
101
|
+
const bar = group[e];
|
102
|
+
if (!bar)
|
103
|
+
return;
|
104
|
+
const endsReg = {
|
105
|
+
esm: /\.min\.js$/,
|
106
|
+
umd: /\.min\.c?js$/,
|
107
|
+
dts: /\.esm\.d\.ts$/
|
108
|
+
}[type];
|
109
|
+
if (!endsReg.test(fileName)) {
|
110
|
+
bar.update(95, { type, entry: paddingEntry(e), message: "processed" });
|
111
|
+
} else {
|
112
|
+
bar.update(100, { type, entry: paddingEntry(e), message: "finished" });
|
113
|
+
}
|
114
|
+
if (type === "dts") {
|
115
|
+
resolved[e] = true;
|
116
|
+
if (Object.values(resolved).every(Boolean)) {
|
117
|
+
setTimeout(() => multiBars.stop(), 200);
|
118
|
+
}
|
119
|
+
}
|
120
|
+
}
|
121
|
+
);
|
122
|
+
};
|
94
123
|
return [
|
95
124
|
{
|
96
125
|
...commonOptions,
|
@@ -104,32 +133,7 @@ const template = ({
|
|
104
133
|
})
|
105
134
|
],
|
106
135
|
plugins: [
|
107
|
-
|
108
|
-
Object.values(exportsEntries),
|
109
|
-
(entry) => {
|
110
|
-
const bar = progressState.esm[entry];
|
111
|
-
if (!bar)
|
112
|
-
return;
|
113
|
-
bar.update(0, { type: "esm", entry, message: "processing" });
|
114
|
-
},
|
115
|
-
(id) => {
|
116
|
-
const bar = progressState.esm[id];
|
117
|
-
if (!bar)
|
118
|
-
return;
|
119
|
-
bar.update(50, { type: "esm", entry: id, message: `transforming ${id}` });
|
120
|
-
},
|
121
|
-
(name, fileName) => {
|
122
|
-
const entry = exportsEntries[name];
|
123
|
-
const bar = progressState.esm[entry];
|
124
|
-
if (!bar)
|
125
|
-
return;
|
126
|
-
if (!fileName.endsWith(".min.js")) {
|
127
|
-
bar.update(95, { type: "esm", entry, message: `processed` });
|
128
|
-
} else {
|
129
|
-
bar.update(100, { type: "esm", entry, message: `finished` });
|
130
|
-
}
|
131
|
-
}
|
132
|
-
),
|
136
|
+
watchingProgress("esm"),
|
133
137
|
commonPlugins,
|
134
138
|
globalsRegister({ external }),
|
135
139
|
styled && skip({ patterns: [/\.s?css$/] }),
|
@@ -164,31 +168,7 @@ const template = ({
|
|
164
168
|
})
|
165
169
|
],
|
166
170
|
plugins: [
|
167
|
-
|
168
|
-
[input],
|
169
|
-
(entry) => {
|
170
|
-
const bar = progressState.umd[entry];
|
171
|
-
if (!bar)
|
172
|
-
return;
|
173
|
-
bar.update(0, { type: "umd", entry, message: "processing" });
|
174
|
-
},
|
175
|
-
(id) => {
|
176
|
-
const bar = progressState.umd[input];
|
177
|
-
if (!bar)
|
178
|
-
return;
|
179
|
-
bar.update(50, { type: "umd", input, message: `transforming ${id}` });
|
180
|
-
},
|
181
|
-
(name2, fileName) => {
|
182
|
-
const bar = progressState.umd[input];
|
183
|
-
if (!bar)
|
184
|
-
return;
|
185
|
-
if (!fileName.endsWith(".min.js")) {
|
186
|
-
bar.update(95, { type: "umd", input, message: `processed` });
|
187
|
-
} else {
|
188
|
-
bar.update(100, { type: "umd", input, message: `finished` });
|
189
|
-
}
|
190
|
-
}
|
191
|
-
),
|
171
|
+
watchingProgress("umd", input),
|
192
172
|
commonPlugins,
|
193
173
|
globalsOutput,
|
194
174
|
styled && postcss({
|
@@ -217,38 +197,7 @@ const template = ({
|
|
217
197
|
}
|
218
198
|
],
|
219
199
|
plugins: [
|
220
|
-
|
221
|
-
Object.values(exportsEntries),
|
222
|
-
(entry) => {
|
223
|
-
const bar = progressState.dts[entry];
|
224
|
-
if (!bar)
|
225
|
-
return;
|
226
|
-
bar.update(0, { type: "dts", entry, message: "processing" });
|
227
|
-
},
|
228
|
-
(id) => {
|
229
|
-
const bar = progressState.dts[id];
|
230
|
-
if (!bar)
|
231
|
-
return;
|
232
|
-
bar.update(50, { type: "dts", entry: id, message: `transforming ${id}` });
|
233
|
-
},
|
234
|
-
(name, fileName) => {
|
235
|
-
const entry = exportsEntries[name];
|
236
|
-
const bar = progressState.dts[entry];
|
237
|
-
if (!bar)
|
238
|
-
return;
|
239
|
-
if (!fileName.endsWith(".esm.d.ts")) {
|
240
|
-
bar.update(95, { type: "dts", entry, message: `processed` });
|
241
|
-
} else {
|
242
|
-
bar.update(100, { type: "dts", entry, message: `finished` });
|
243
|
-
resolved[entry] = true;
|
244
|
-
}
|
245
|
-
if (Object.values(resolved).every(Boolean)) {
|
246
|
-
setTimeout(() => {
|
247
|
-
multiBars.stop();
|
248
|
-
}, 100);
|
249
|
-
}
|
250
|
-
}
|
251
|
-
),
|
200
|
+
watchingProgress("dts"),
|
252
201
|
commonPlugins,
|
253
202
|
styled && skip({ patterns: [/\.s?css$/] }),
|
254
203
|
dts({ tsconfig: resolveWorkspacePath("tsconfig.dts.json") }),
|