jiek 0.4.2 → 0.4.4
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cli.cjs +9 -3
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.min.cjs +1 -1
- package/dist/cli.min.cjs.map +1 -1
- package/dist/commands/base.esm.js.map +1 -1
- package/dist/commands/base.esm.min.js.map +1 -1
- package/dist/commands/build.esm.js +9 -3
- package/dist/commands/build.esm.js.map +1 -1
- package/dist/commands/build.esm.min.js +1 -1
- package/dist/commands/build.esm.min.js.map +1 -1
- package/dist/rollup.cjs +121 -102
- package/dist/rollup.cjs.map +1 -1
- package/dist/rollup.esm.js +121 -102
- 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 +1 -1
- package/dist/rollup.min.cjs.map +1 -1
- package/package.json +2 -2
@@ -1,2 +1,2 @@
|
|
1
|
-
import*as e from"node:child_process";import t from"node:fs";import
|
1
|
+
import*as e from"node:child_process";import t from"node:fs";import o from"node:path";import{program as r}from"commander";import{actionRestore as s,actionDone as n}from"../inner.esm.min.js";import{mergePackageJson as i}from"../merge-package-json.esm.min.js";import{getSelectedProjectsGraph as m}from"../utils/filterSupport.esm.min.js";import{tsRegisterName as l}from"../utils/tsRegister.esm.min.js";const p=e=>`\nconst pkg = ${JSON.stringify(e,null,2)}\nconst { jiek = {} } = pkg\nconst templateArg = jiek.templateArgFilePath\n ? require.resolve(jiek.templateArgFilePath)\n : {\n styled: jiek.styled\n }\nmodule.exports = require('jiek/rollup').template(templateArg, pkg)\n`.trimStart();r.command("build").option("-t, --target <type>","target flow: esm|umd|dts, default esm,umd,dts").option("-s, --silent","silent mode").action((async({target:r,silent:c})=>{s();const{wd:a,value:d={}}=await m()??{};if(0===Object.keys(d).length)throw new Error("no package found");const u=(...e)=>o.resolve(a,"node_modules/.jiek",...e);t.existsSync(u())||t.mkdirSync(u());const g=require.resolve("rollup").replace(/dist\/rollup.js$/,"dist/bin/rollup");let f=0;for(const[o,s]of Object.entries(d)){const n=i(s,o,{excludeDistInExports:!0}),m=s.name?.replace(/^@/g,"").replace(/\//g,"+"),d=u(`${m??"anonymous-"+f++}.rollup.config.js`);t.writeFileSync(d,p(n));let j="";l&&(j=`node -r ${l} `);const k=`${j}${g} --silent -c ${d}`;e.execSync(k,{cwd:o,stdio:"inherit",env:{JIEK_TARGET:r??process.env.JIEK_TARGET??"esm,umd,dts",JIEK_SILENT:`${c}`??process.env.JIEK_SILENT,JIEK_ROOT:a}})}n()}));
|
2
2
|
//# sourceMappingURL=build.esm.min.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"build.esm.min.js","sources":["../../src/commands/build.ts"],"sourcesContent":["import * as childProcess from 'node:child_process'\nimport fs from 'node:fs'\nimport path from 'node:path'\n\nimport { program } from 'commander'\n\nimport { actionDone, actionRestore } from '../inner'\nimport { mergePackageJson } from '../merge-package-json'\nimport { getSelectedProjectsGraph } from '../utils/filterSupport'\nimport { tsRegisterName } from '../utils/tsRegister'\n\nconst FILE_TEMPLATE = (manifest: unknown) => `\nconst pkg = ${JSON.stringify(manifest, null, 2)}\nconst { jiek = {} } = pkg\nconst templateArg = jiek.templateArgFilePath\n ? require.resolve(jiek.templateArgFilePath)\n : {\n styled: jiek.styled\n }\nmodule.exports = require('jiek/rollup').template(templateArg, pkg)\n`.trimStart()\n\nprogram\n .command('build')\n .action(async () => {\n actionRestore()\n const {\n wd, value = {}\n } = await getSelectedProjectsGraph() ?? {}\n\n if (Object.keys(value).length === 0) {\n throw new Error('no package found')\n }\n const jiekTempDir = (...paths: string[]) => path.resolve(wd, 'node_modules/.jiek', ...paths)\n if (!fs.existsSync(jiekTempDir())) fs.mkdirSync(jiekTempDir())\n\n const rollupBinaryPath = require.resolve('rollup')\n .replace(/dist\\/rollup.js$/, 'dist/bin/rollup')\n let i = 0\n for (const [dir, manifest] of Object.entries(value)) {\n const newManifest = mergePackageJson(manifest, dir, { excludeDistInExports: true })\n // TODO support auto build child packages in workspaces\n const escapeManifestName = manifest.name?.replace(/^@/g, '').replace(/\\//g, '+')\n const configFile = jiekTempDir(\n `${escapeManifestName ?? `anonymous-${i++}`}.rollup.config.js`\n )\n fs.writeFileSync(configFile, FILE_TEMPLATE(newManifest))\n let prefix = ''\n if (tsRegisterName) {\n prefix = `node -r ${tsRegisterName} `\n }\n // TODO replace with `spawn` to support watch mode\n
|
1
|
+
{"version":3,"file":"build.esm.min.js","sources":["../../src/commands/build.ts"],"sourcesContent":["import * as childProcess from 'node:child_process'\nimport fs from 'node:fs'\nimport path from 'node:path'\n\nimport { program } from 'commander'\n\nimport { actionDone, actionRestore } from '../inner'\nimport { mergePackageJson } from '../merge-package-json'\nimport { getSelectedProjectsGraph } from '../utils/filterSupport'\nimport { tsRegisterName } from '../utils/tsRegister'\n\nconst FILE_TEMPLATE = (manifest: unknown) => `\nconst pkg = ${JSON.stringify(manifest, null, 2)}\nconst { jiek = {} } = pkg\nconst templateArg = jiek.templateArgFilePath\n ? require.resolve(jiek.templateArgFilePath)\n : {\n styled: jiek.styled\n }\nmodule.exports = require('jiek/rollup').template(templateArg, pkg)\n`.trimStart()\n\nprogram\n .command('build')\n .option('-t, --target <type>', 'target flow: esm|umd|dts, default esm,umd,dts')\n .option('-s, --silent', 'silent mode')\n .action(async ({ target, silent }) => {\n actionRestore()\n const {\n wd, value = {}\n } = await getSelectedProjectsGraph() ?? {}\n\n if (Object.keys(value).length === 0) {\n throw new Error('no package found')\n }\n const jiekTempDir = (...paths: string[]) => path.resolve(wd, 'node_modules/.jiek', ...paths)\n if (!fs.existsSync(jiekTempDir())) fs.mkdirSync(jiekTempDir())\n\n const rollupBinaryPath = require.resolve('rollup')\n .replace(/dist\\/rollup.js$/, 'dist/bin/rollup')\n let i = 0\n for (const [dir, manifest] of Object.entries(value)) {\n const newManifest = mergePackageJson(manifest, dir, { excludeDistInExports: true })\n // TODO support auto build child packages in workspaces\n const escapeManifestName = manifest.name?.replace(/^@/g, '').replace(/\\//g, '+')\n const configFile = jiekTempDir(\n `${escapeManifestName ?? `anonymous-${i++}`}.rollup.config.js`\n )\n fs.writeFileSync(configFile, FILE_TEMPLATE(newManifest))\n let prefix = ''\n if (tsRegisterName) {\n prefix = `node -r ${tsRegisterName} `\n }\n // TODO replace with `spawn` to support watch mode\n const command = `${prefix}${rollupBinaryPath} --silent -c ${configFile}`\n childProcess.execSync(command, {\n cwd: dir, stdio: 'inherit',\n env: {\n JIEK_TARGET: target ?? process.env.JIEK_TARGET ?? 'esm,umd,dts',\n JIEK_SILENT: `${silent}` ?? process.env.JIEK_SILENT,\n JIEK_ROOT: wd\n }\n })\n }\n\n actionDone()\n })\n"],"names":["FILE_TEMPLATE","manifest","JSON","stringify","trimStart","program","command","option","action","async","target","silent","actionRestore","wd","value","getSelectedProjectsGraph","Object","keys","length","Error","jiekTempDir","paths","path","resolve","fs","existsSync","mkdirSync","rollupBinaryPath","require","replace","i","dir","entries","newManifest","mergePackageJson","excludeDistInExports","escapeManifestName","name","configFile","writeFileSync","prefix","tsRegisterName","childProcess","execSync","cwd","stdio","env","JIEK_TARGET","process","JIEK_SILENT","JIEK_ROOT","actionDone"],"mappings":"8YAWA,MAAMA,EAAiBC,GAAsB,iBAC/BC,KAAKC,UAAUF,EAAU,KAAM,wOAQ3CG,YAEFC,EACGC,QAAQ,SACRC,OAAO,sBAAuB,iDAC9BA,OAAO,eAAgB,eACvBC,QAAOC,OAASC,SAAQC,aACTC,IACR,MAAAC,GACJA,EAAAC,MAAIA,EAAQ,CAAC,SACLC,KAA8B,GAExC,GAAkC,IAA9BC,OAAOC,KAAKH,GAAOI,OACf,MAAA,IAAIC,MAAM,oBAEZ,MAAAC,EAAc,IAAIC,IAAoBC,EAAKC,QAAQV,EAAI,wBAAyBQ,GACjFG,EAAGC,WAAWL,MAAmBI,EAAAE,UAAUN,KAEhD,MAAMO,EAAmBC,QAAQL,QAAQ,UACtCM,QAAQ,mBAAoB,mBAC/B,IAAIC,EAAI,EACR,IAAA,MAAYC,EAAK9B,KAAae,OAAOgB,QAAQlB,GAAQ,CACnD,MAAMmB,EAAcC,EAAiBjC,EAAU8B,EAAK,CAAEI,sBAAsB,IAEtEC,EAAqBnC,EAASoC,MAAMR,QAAQ,MAAO,IAAIA,QAAQ,MAAO,KACtES,EAAalB,EACjB,GAAGgB,GAAsB,aAAaN,wBAExCN,EAAGe,cAAcD,EAAYtC,EAAciC,IAC3C,IAAIO,EAAS,GACTC,IACFD,EAAS,WAAWC,MAGtB,MAAMnC,EAAU,GAAGkC,IAASb,iBAAgCW,IAC5DI,EAAaC,SAASrC,EAAS,CAC7BsC,IAAKb,EAAKc,MAAO,UACjBC,IAAK,CACHC,YAAarC,GAAUsC,QAAQF,IAAIC,aAAe,cAClDE,YAAa,GAAGtC,KAAYqC,QAAQF,IAAIG,YACxCC,UAAWrC,IAGjB,CAEWsC,GAAA"}
|
package/dist/rollup.cjs
CHANGED
@@ -5,7 +5,7 @@ var getWorkspaceDir = require('@jiek/utils/getWorkspaceDir');
|
|
5
5
|
var json = require('@rollup/plugin-json');
|
6
6
|
var autoprefixer = require('autoprefixer');
|
7
7
|
var cliProgress = require('cli-progress');
|
8
|
-
var rollupPluginDts = require('rollup-plugin-dts');
|
8
|
+
var rollupPluginDts = require('@jiek/rollup-plugin-dts');
|
9
9
|
var esbuild = require('rollup-plugin-esbuild');
|
10
10
|
var postcss = require('rollup-plugin-postcss');
|
11
11
|
var terser = require('@rollup/plugin-terser');
|
@@ -94,7 +94,15 @@ function withMinify(output) {
|
|
94
94
|
];
|
95
95
|
}
|
96
96
|
|
97
|
-
const
|
97
|
+
const {
|
98
|
+
JIEK_SILENT,
|
99
|
+
JIEK_TARGET,
|
100
|
+
JIEK_ROOT
|
101
|
+
} = process.env;
|
102
|
+
const target = JIEK_TARGET ?? "esm,umd,dts";
|
103
|
+
const ACCEPTED_TARGETS = ["esm", "umd", "dts"];
|
104
|
+
const targets = target.split(",").filter(Boolean).filter((t) => ACCEPTED_TARGETS.includes(t));
|
105
|
+
const workspaceRoot = JIEK_ROOT ?? getWorkspaceDir.getWorkspaceDir();
|
98
106
|
function resolveWorkspacePath(p) {
|
99
107
|
return node_path.resolve(workspaceRoot, p);
|
100
108
|
}
|
@@ -122,6 +130,8 @@ const template = ({
|
|
122
130
|
dts: dtsPlugins = []
|
123
131
|
} = {}
|
124
132
|
} = {}, pkg) => {
|
133
|
+
if (targets.length === 0)
|
134
|
+
throw new Error("no target specified");
|
125
135
|
const { jiek: {
|
126
136
|
noBrowser = false,
|
127
137
|
outdir = "dist"
|
@@ -161,14 +171,15 @@ const template = ({
|
|
161
171
|
bar.update(0, { type, entry: paddingEntry(entry), message: "waiting" });
|
162
172
|
return { ...add, [entry]: bar };
|
163
173
|
}, {});
|
164
|
-
const progressState = {
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
};
|
174
|
+
const progressState = {};
|
175
|
+
targets.forEach((target2) => {
|
176
|
+
progressState[target2] = addBarsByEntries(target2);
|
177
|
+
});
|
169
178
|
const resolved = entries.reduce((entries2, entry) => ({ ...entries2, [entry]: false }), {});
|
170
|
-
const watchingProgress = (type, defaultEntry) => {
|
179
|
+
const watchingProgress = (type, isLast = false, defaultEntry) => {
|
171
180
|
const group = progressState[type];
|
181
|
+
if (!group)
|
182
|
+
throw new Error(`target ${type} found`);
|
172
183
|
return watchProgress(
|
173
184
|
Object.values(exportsEntries),
|
174
185
|
(entry) => {
|
@@ -193,7 +204,7 @@ const template = ({
|
|
193
204
|
} else {
|
194
205
|
bar.update(100, { type, entry: paddingEntry(e), message: "finished" });
|
195
206
|
}
|
196
|
-
if (
|
207
|
+
if (isLast) {
|
197
208
|
resolved[e] = true;
|
198
209
|
if (Object.values(resolved).every(Boolean)) {
|
199
210
|
setTimeout(() => multiBars.stop(), 200);
|
@@ -202,109 +213,117 @@ const template = ({
|
|
202
213
|
}
|
203
214
|
);
|
204
215
|
};
|
205
|
-
|
206
|
-
|
216
|
+
const esmOpts = (isLast) => ({
|
217
|
+
...commonOptions,
|
218
|
+
input: exportsEntries,
|
219
|
+
output: [
|
220
|
+
...withMinify({
|
221
|
+
...outputOptions,
|
222
|
+
format: "esm",
|
223
|
+
entryFileNames: "[name].esm.js",
|
224
|
+
preserveModules: true
|
225
|
+
})
|
226
|
+
],
|
227
|
+
plugins: [
|
228
|
+
watchingProgress("esm", isLast),
|
229
|
+
commonPlugins,
|
230
|
+
globalsRegister({ external }),
|
231
|
+
styled && skip({ patterns: [/\.s?css$/] }),
|
232
|
+
esbuild__default.default(),
|
233
|
+
indexPlugins
|
234
|
+
]
|
235
|
+
});
|
236
|
+
const umdOpts = (isLast) => Object.entries(exportsEntries).map(([name, input]) => {
|
237
|
+
const outputName = namePrefix + (name === "index" ? "" : name.replace(/[@|/-](\w)/g, (_, $1) => $1.toUpperCase()));
|
238
|
+
return {
|
207
239
|
...commonOptions,
|
208
|
-
input
|
209
|
-
output: [
|
240
|
+
input,
|
241
|
+
output: noBrowser ? [
|
242
|
+
...withMinify({
|
243
|
+
...outputOptions,
|
244
|
+
name: outputName,
|
245
|
+
format: "cjs",
|
246
|
+
entryFileNames: `${name}.cjs`
|
247
|
+
})
|
248
|
+
] : [
|
249
|
+
...withMinify({
|
250
|
+
...outputOptions,
|
251
|
+
name: outputName,
|
252
|
+
format: "iife",
|
253
|
+
entryFileNames: `${name}.iife.js`
|
254
|
+
}),
|
210
255
|
...withMinify({
|
211
256
|
...outputOptions,
|
212
|
-
|
213
|
-
|
214
|
-
|
257
|
+
name: outputName,
|
258
|
+
format: "umd",
|
259
|
+
entryFileNames: `${name}.umd.js`
|
215
260
|
})
|
216
261
|
],
|
217
262
|
plugins: [
|
218
|
-
watchingProgress("
|
263
|
+
watchingProgress("umd", isLast, input),
|
219
264
|
commonPlugins,
|
220
|
-
|
221
|
-
styled &&
|
265
|
+
globalsOutput,
|
266
|
+
styled && postcss__default.default({
|
267
|
+
plugins: [autoprefixer__default.default],
|
268
|
+
minimize: true,
|
269
|
+
sourceMap: true,
|
270
|
+
extract: `${name}.css`
|
271
|
+
}),
|
222
272
|
esbuild__default.default(),
|
223
|
-
|
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
|
273
|
+
entryPlugins
|
304
274
|
],
|
305
275
|
external
|
306
|
-
}
|
307
|
-
|
276
|
+
};
|
277
|
+
});
|
278
|
+
const dtsOpts = (isLast) => ({
|
279
|
+
...commonOptions,
|
280
|
+
input: exportsEntries,
|
281
|
+
output: [
|
282
|
+
{
|
283
|
+
dir: "dist"
|
284
|
+
},
|
285
|
+
{
|
286
|
+
dir: "dist",
|
287
|
+
entryFileNames: ({ name }) => `${name.replace(/^src\//, "")}.esm.d.ts`,
|
288
|
+
preserveModules: true
|
289
|
+
}
|
290
|
+
],
|
291
|
+
plugins: [
|
292
|
+
watchingProgress("dts", isLast),
|
293
|
+
commonPlugins,
|
294
|
+
styled && skip({ patterns: [/\.s?css$/] }),
|
295
|
+
rollupPluginDts.dts({ tsconfig: resolveWorkspacePath("tsconfig.dts.json") }),
|
296
|
+
{
|
297
|
+
name: "rollup-plugin-declare-module-replacer",
|
298
|
+
/**
|
299
|
+
* replace relative path `declare module './xxx'` to `declare module '{{package name}}'`
|
300
|
+
* in output file generated
|
301
|
+
*/
|
302
|
+
generateBundle(_, bundle) {
|
303
|
+
for (const file of Object.values(bundle)) {
|
304
|
+
if (!("code" in file))
|
305
|
+
continue;
|
306
|
+
file.code = file.code.replace(
|
307
|
+
/declare module ['|"]\..*['|"]/g,
|
308
|
+
`declare module '${pkg.name}'`
|
309
|
+
);
|
310
|
+
}
|
311
|
+
}
|
312
|
+
},
|
313
|
+
dtsPlugins
|
314
|
+
],
|
315
|
+
external
|
316
|
+
});
|
317
|
+
const optionsMap = { esm: esmOpts, umd: umdOpts, dts: dtsOpts };
|
318
|
+
return targets.flatMap((target2) => {
|
319
|
+
const optsGen = optionsMap[target2];
|
320
|
+
if (optsGen === void 0)
|
321
|
+
throw new Error(`target ${target2} is not supported`);
|
322
|
+
const opts = optsGen(target2 === targets[targets.length - 1]);
|
323
|
+
if (Array.isArray(opts))
|
324
|
+
return opts;
|
325
|
+
return [opts];
|
326
|
+
});
|
308
327
|
};
|
309
328
|
|
310
329
|
exports.template = template;
|
package/dist/rollup.cjs.map
CHANGED
@@ -1 +1 @@
|
|
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":";;;;;;;;;;;;;;;;;;;;AAAA,uBAAA,CAAyB,QAAkB,EAAA;AAOzC,EAAI,IAAA,QAAA,CAAS,UAAW,CAAA,OAAO,CAAG,EAAA;AAChC,IAAO,OAAA,QAAA,CAAS,MAAM,CAAC,CAAA,CAAA;AAAA,GACzB;AACA,EAAO,OAAA,QAAA,CACJ,QAAQ,aAAe,EAAA,CAAC,GAAG,EAAO,KAAA,EAAA,CAAG,aAAa,CAAA,CAAA;AACvD;;ACJO,SAAS,oBAAuB,GAAA;AACrC,EAAA,IAAI,UAAU,EAAC,CAAA;AACf,EAAA,MAAM,YAAe,mBAAA,IAAI,GAAY,CAAA,EAAE,CAAA,CAAA;AACvC,EAAO,OAAA;AAAA,IACJ,CAAC,EAAE,QAAS,EAAA,GAAI,EAAO,KAAA;AACtB,MAAO,OAAA;AAAA,QACL,IAAM,EAAA,SAAA;AAAA,QACN,UAAU,EAAI,EAAA;AACZ,UAAI,IAAA,QAAA,EAAU,IAAK,CAAA,CAAA,GAAA,KAAO,GAAe,YAAA,MAAA,GAAS,GAAI,CAAA,IAAA,CAAK,EAAE,CAAA,GAAI,GAAQ,KAAA,EAAE,CAAG,EAAA;AAC5E,YAAA,YAAA,CAAa,IAAI,EAAE,CAAA,CAAA;AACnB,YAAO,OAAA,EAAE,EAAI,EAAA,QAAA,EAAU,IAAK,EAAA,CAAA;AAAA,WAC9B;AACA,UAAO,OAAA,IAAA,CAAA;AAAA,SACT;AAAA,QACA,cAAc,OAAS,EAAA;AACrB,UAAA,OAAA,GAAU,CAAC,GAAG,YAAY,EAAE,MAAO,CAAA,CAAC,KAAK,KAAW,MAAA;AAAA,YAClD,GAAG,GAAA;AAAA,YACH,CAAC,KAAK,GAAG,cAAA,CAAe,KAAK,CAAA;AAAA,WAC/B,CAAA,EAAI,EAAE,CAAA,CAAA;AACN,UAAO,OAAA,EAAE,GAAG,OAAA,EAAS,OAAQ,EAAA,CAAA;AAAA,SAC/B;AAAA,OACF,CAAA;AAAA,KACF;AAAA,IACA,EAAE,aAAe,EAAA,CAAA,OAAA,MAAY,EAAE,GAAG,OAAA,EAAS,SAAW,CAAA,EAAA;AAAA,GACxD,CAAA;AACF;;AC3BA,WAAgB,CAAC,OAAU,GAAA,EAAO,KAAA;AAChC,EAAO,OAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA;AAAA,IAEN,KAAK,EAAI,EAAA;AACP,MAAA,IACE,QAAQ,QAAU,EAAA,IAAA;AAAA,QAAK,CAAC,OACtB,KAAA,OAAO,OAAY,KAAA,QAAA,GACf,EAAG,CAAA,QAAA,CAAS,OAAO,CAAA,GACnB,OAAQ,CAAA,IAAA,CAAK,EAAE,CAAA;AAAA,OAErB,EAAA;AACA,QAAO,OAAA,EAAA,CAAA;AAAA,OACT;AAAA,KACF;AAAA,GACF,CAAA;AACF,CAAA;;ACpBA,MAAM,YAAA,GAAe,CAA0B,MAAc,KAAA,MAAA,CAAA;AAEtD,MAAM,sBAAsB,YAAa,CAAA;AAAA,EAC9C,OAAS,EAAA,OAAA;AAAA,EACT,OAAS,EAAA,MAAA;AAAA,EACT,SAAW,EAAA,IAAA;AACb,CAAC,CAAA;;ACR0B,yBAAA,GAAA;AACzB,EAAM,MAAA,GAAA,GAAM,QAAQ,GAAI,EAAA,CAAA;AAExB,EAAA,MAAM,GAAM,GAAA,OAAA,CAAQ,CAAG,EAAA,GAAG,CAAe,aAAA,CAAA,CAAA,CAAA;AACzC,EAAM,MAAA,EAAE,YAAe,GAAA,EAAI,EAAA,gBAAA,GAAmB,EAAI,EAAA,oBAAA,GAAuB,EAAC,EAAM,GAAA,GAAA,CAAA;AAChF,EAAA,MAAM,QAAgC,GAAA,MAAA,CACnC,IAAK,CAAA,YAAY,EACjB,MAAO,CAAA,MAAA,CAAO,IAAK,CAAA,gBAAgB,CAAC,CACpC,CAAA,MAAA,CAAO,MAAO,CAAA,IAAA,CAAK,oBAAoB,CAAC,CAAA,CAAA;AAC3C,EAAO,OAAA,QAAA,CACJ,GAAI,CAAA,CAAA,GAAA,KAAO,IAAI,MAAA,CAAO,IAAI,GAAG,CAAA,OAAA,CAAS,CAAC,CAAA,CACvC,MAAO,CAAA;AAAA,IACN,QAAA;AAAA,GACD,CAAA,CAAA;AACL;;ACXA,mBAAA,CAAyB,MAGL,EAAA;AAClB,EAAO,OAAA;AAAA,IACL,MAAA;AAAA,IACA;AAAA,MACE,GAAG,MAAA;AAAA,MACH,cAAgB,EAAA,MAAA,CAAO,cAAgB,EAAA,OAAA,CAAQ,aAAa,QAAQ,CAAA;AAAA,MACpE,OAAA,EAAS,CAAC,GAAI,MAAA,CAAO,WAAW,EAAC,EAAIA,yBAAQ,CAAA;AAAA,KAC/C;AAAA,GACF,CAAA;AACF;;ACGA,MAAM,gBAAgBC,+BAAgB,EAAA,CAAA;AACtC,SAAS,qBAAqB,CAAW,EAAA;AACvC,EAAO,OAAAC,iBAAA,CAAQ,eAAe,CAAC,CAAA,CAAA;AACjC,CAAA;AAEA,SAAS,aAAA,CACP,OACA,EAAA,YAAA,EACA,WACQ,EAAA;AACR,EAAO,OAAA;AAAA,IACL,IAAM,EAAA,UAAA;AAAA,IACN,SAAA,CAAU,QAAQ,QAAU,EAAA;AAC1B,MAAA,IAAI,OAAQ,CAAA,QAAA,CAAS,MAAM,CAAA,IAAK,QAAa,KAAA,KAAA,CAAA;AAC3C,QAAA,YAAA,CAAa,MAAM,CAAA,CAAA;AAAA,KACvB;AAAA,IACA,WAAA,CAAY,SAAS,MAAQ,EAAA;AAC3B,MAAO,MAAA,CAAA,OAAA,CAAQ,MAAM,CAAE,CAAA,OAAA,CAAQ,CAAC,CAAC,GAAA,EAAK,KAAK,CAAM,KAAA;AAC/C,QAAA,IAAI,KAAM,CAAA,IAAA,KAAS,KAAa,CAAA,IAAA,EAAE,SAAa,IAAA,KAAA,CAAA;AAAQ,UAAA,OAAA;AACvD,QAAY,WAAA,CAAA,KAAA,CAAM,IAAM,EAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAAA,OACvC,CAAA,CAAA;AAAA,KACH;AAAA,GACF,CAAA;AACF,CAAA;AAEO,MAAM,WAAW,CACtB;AAAA,EACE,MAAS,GAAA,KAAA;AAAA,EACT,OAAS,EAAA;AAAA,IACP,KAAA,EAAO,eAAe,EAAC;AAAA,IACvB,KAAA,EAAO,eAAe,EAAC;AAAA,IACvB,GAAA,EAAK,aAAa,EAAC;AAAA,MACjB,EAAC;AACP,CAUI,GAAA,IACJ,GAQG,KAAA;AACH,EAAA,MAAM,EAAE,IAAM,EAAA;AAAA,IACZ,SAAY,GAAA,KAAA;AAAA,IACZ,MAAS,GAAA,MAAA;AAAA,GACX,GAAI,EAAC,EAAM,GAAA,GAAA,CAAA;AACX,EAAA,MAAM,aAAgB,GAAA;AAAA,IACpB,GAAG,mBAAA;AAAA,IACH,GAAK,EAAA,MAAA;AAAA,GACP,CAAA;AACA,EAAI,IAAA,CAAC,IAAI,IAAM,EAAA;AACb,IAAM,MAAA,IAAI,MAAM,sBAAsB,CAAA,CAAA;AAAA,GACxC;AACA,EAAM,MAAA,UAAA,GAAa,GAChB,CAAA,IAAA,CACA,OAAQ,CAAA,aAAA,EAAe,CAAC,CAAG,EAAA,EAAA,KAAO,EAAG,CAAA,WAAA,EAAa,CAAA,CAAA;AACrD,EAAA,MAAM,iBAAiB,MAAO,CAAA,WAAA;AAAA,IAC5B,MAAA,CAAO,OAAQ,CAAA,GAAA,CAAI,OAAW,IAAA,EAAE,CAAA,CAE7B,MAAO,CAAA,CAAC,CAAC,GAAG,CAAM,KAAA,CAAC,IAAI,UAAW,CAAA,CAAA,EAAA,EAAK,MAAM,CAAA,CAAE,CAAK,IAAA,CAAC,GAAI,CAAA,UAAA,CAAW,MAAM,CAAC,CAE3E,CAAA,MAAA,CAAO,CAAC,CAAC,GAAG,CAAM,KAAA,CAAC,oBAAqB,CAAA,IAAA,CAAK,GAAG,CAAC,CAEjD,CAAA,MAAA,CAAO,CAAC,GAAG,KAAK,CAAM,KAAA,OAAO,KAAU,KAAA,QAAA,IAAY,KAAM,CAAA,WAAW,CAAK,IAAA,KAAA,CAAM,QAAQ,CAAC,CACxF,CAAA,GAAA,CAAI,CAAC,CAAC,GAAK,EAAA,KAAK,CAAM,KAAA;AAAA,MACrB,IACG,OAAQ,CAAA,MAAA,EAAQ,OAAO,CACvB,CAAA,OAAA,CAAQ,SAAS,EAAE,CAAA;AAAA,MACtB,OAAO,KAAA,KAAU,QAAW,GAAA,KAAA,GAAQ,MAAM,WAAW,CAAA;AAAA,KACtD,CAAA;AAAA,GACL,CAAA;AACA,EAAA,MAAM,cAAiB,GAAA,IAAA,CAAK,GAAI,CAAA,GAAG,MAAO,CAAA,MAAA,CAAO,cAAc,CAAA,CAAE,GAAI,CAAA,CAAA,CAAA,KAAK,CAAE,CAAA,MAAM,CAAC,CAAA,CAAA;AACnF,EAAA,SAAS,aAAa,KAAe,EAAA;AACnC,IAAO,OAAA,KAAA,CAAM,OAAO,cAAc,CAAA,CAAA;AAAA,GACpC;AAEA,EAAA,MAAM,CAAC,eAAA,EAAiB,aAAa,CAAA,GAAI,oBAAqB,EAAA,CAAA;AAC9D,EAAA,MAAM,WAAW,gBAAiB,EAAA,CAAA;AAElC,EAAA,MAAM,gBAAgB,EACtB,CAAA;AACA,EAAA,MAAM,aAAgB,GAAA;AAAA,IACpBC,qBAAK,EAAA;AAAA,GACP,CAAA;AACA,EAAM,MAAA,SAAA,GAAY,IAAIC,oBAAS,CAAA;AAAA,IAC7B,eAAiB,EAAA,KAAA;AAAA,IACjB,UAAY,EAAA,IAAA;AAAA,IACZ,MAAQ,EAAA,wCAAA;AAAA,GACV,EAAGC,oBAAQ,cAAc,CAAA,CAAA;AACzB,EAAM,MAAA,OAAA,GAAU,MAAO,CAAA,MAAA,CAAO,cAAc,CAAA,CAAA;AAC5C,EAAA,MAAM,mBAAmB,CAAC,IAAA,KAAgC,QACvD,MAAO,CAAA,CAAC,KAAK,KAAU,KAAA;AACtB,IAAA,MAAM,GAAM,GAAA,SAAA,CAAU,MAAO,CAAA,GAAA,EAAK,CAAC,CAAA,CAAA;AACnC,IAAI,GAAA,CAAA,MAAA,CAAO,CAAG,EAAA,EAAE,IAAM,EAAA,KAAA,EAAO,aAAa,KAAK,CAAA,EAAG,OAAS,EAAA,SAAA,EAAW,CAAA,CAAA;AACtE,IAAA,OAAO,EAAE,GAAG,GAAA,EAAK,CAAC,KAAK,GAAG,GAAI,EAAA,CAAA;AAAA,GAChC,EAAG,EAAyD,CAAA,CAAA;AAC9D,EAAA,MAAM,aAAgB,GAAA;AAAA,IACpB,GAAA,EAAK,iBAAiB,KAAK,CAAA;AAAA,IAC3B,GAAA,EAAK,iBAAiB,KAAK,CAAA;AAAA,IAC3B,GAAA,EAAK,iBAAiB,KAAK,CAAA;AAAA,GAC7B,CAAA;AACA,EAAA,MAAM,QAAW,GAAA,OAAA,CAAQ,MAAO,CAAA,CAACC,UAAS,KAAW,MAAA,EAAE,GAAGA,QAAAA,EAAS,CAAC,KAAK,GAAG,KAAM,EAAA,CAAA,EAAI,EAA6B,CAAA,CAAA;AACnH,EAAM,MAAA,gBAAA,GAAmB,CACvB,IAAA,EACA,YACG,KAAA;AACH,IAAM,MAAA,KAAA,GAAQ,cAAc,IAAI,CAAA,CAAA;AAChC,IAAO,OAAA,aAAA;AAAA,MACL,MAAA,CAAO,OAAO,cAAc,CAAA;AAAA,MAC5B,CAAS,KAAA,KAAA;AACP,QAAA,MAAM,IAAI,YAAgB,IAAA,KAAA,CAAA;AAC1B,QAAM,MAAA,GAAA,GAAM,MAAM,CAAC,CAAA,CAAA;AACnB,QAAA,IAAI,CAAC,GAAA;AAAK,UAAA,OAAA;AACV,QAAI,GAAA,CAAA,MAAA,CAAO,CAAG,EAAA,EAAE,IAAM,EAAA,KAAA,EAAO,aAAa,CAAC,CAAA,EAAG,OAAS,EAAA,YAAA,EAAc,CAAA,CAAA;AAAA,OACvE;AAAA,MACA,CAAC,MAAM,QAAa,KAAA;AAClB,QAAM,MAAA,CAAA,GAAI,YAAgB,IAAA,cAAA,CAAe,IAAI,CAAA,CAAA;AAC7C,QAAM,MAAA,GAAA,GAAM,MAAM,CAAC,CAAA,CAAA;AACnB,QAAA,IAAI,CAAC,GAAA;AAAK,UAAA,OAAA;AACV,QAAA,MAAM,OAAU,GAAA;AAAA,UACd,GAAK,EAAA,YAAA;AAAA,UACL,GAAK,EAAA,cAAA;AAAA,UACL,GAAK,EAAA,eAAA;AAAA,UACL,IAAI,CAAA,CAAA;AACN,QAAA,IAAI,CAAC,OAAA,CAAQ,IAAK,CAAA,QAAQ,CAAG,EAAA;AAC3B,UAAI,GAAA,CAAA,MAAA,CAAO,EAAI,EAAA,EAAE,IAAM,EAAA,KAAA,EAAO,aAAa,CAAC,CAAA,EAAG,OAAS,EAAA,WAAA,EAAa,CAAA,CAAA;AAAA,SAChE,MAAA;AACL,UAAI,GAAA,CAAA,MAAA,CAAO,GAAK,EAAA,EAAE,IAAM,EAAA,KAAA,EAAO,aAAa,CAAC,CAAA,EAAG,OAAS,EAAA,UAAA,EAAY,CAAA,CAAA;AAAA,SACvE;AACA,QAAA,IAAI,SAAS,KAAO,EAAA;AAClB,UAAA,QAAA,CAAS,CAAC,CAAI,GAAA,IAAA,CAAA;AACd,UAAA,IAAI,OAAO,MAAO,CAAA,QAAQ,CAAE,CAAA,KAAA,CAAM,OAAO,CAAG,EAAA;AAC1C,YAAA,UAAA,CAAW,MAAM,SAAA,CAAU,IAAK,EAAA,EAAG,GAAG,CAAA,CAAA;AAAA,WACxC;AAAA,SACF;AAAA,OACF;AAAA,KACF,CAAA;AAAA,GACF,CAAA;AACA,EAAO,OAAA;AAAA,IACL;AAAA,MACE,GAAG,aAAA;AAAA,MACH,KAAO,EAAA,cAAA;AAAA,MACP,MAAQ,EAAA;AAAA,QACN,GAAG,UAAW,CAAA;AAAA,UACZ,GAAG,aAAA;AAAA,UACH,MAAQ,EAAA,KAAA;AAAA,UACR,cAAgB,EAAA,eAAA;AAAA,UAChB,eAAiB,EAAA,IAAA;AAAA,SAClB,CAAA;AAAA,OACH;AAAA,MACA,OAAS,EAAA;AAAA,QACP,iBAAiB,KAAK,CAAA;AAAA,QACtB,aAAA;AAAA,QACA,eAAA,CAAgB,EAAE,QAAA,EAAU,CAAA;AAAA,QAC5B,UAAU,IAAK,CAAA,EAAE,UAAU,CAAC,UAAU,GAAG,CAAA;AAAA,QACzCC,wBAAQ,EAAA;AAAA,QACR,YAAA;AAAA,OACF;AAAA,KACF;AAAA,IACA,GAAG,MAAO,CAAA,OAAA,CAAQ,cAAc,CAAA,CAAE,IAAI,CAAC,CAAC,IAAM,EAAA,KAAK,CAAM,KAAA;AACvD,MAAA,MAAM,UAAa,GAAA,UAAA,IACjB,IAAS,KAAA,OAAA,GAAU,EACjB,GAAA,IAAA,CAAK,OAAQ,CAAA,aAAA,EAAe,CAAC,CAAA,EAAG,EAAO,KAAA,EAAA,CAAG,aAAa,CAAA,CAAA,CAAA;AAG3D,MAAO,OAAA;AAAA,QACL,GAAG,aAAA;AAAA,QACH,KAAA;AAAA,QACA,QAAQ,SAAY,GAAA;AAAA,UAClB,GAAG,UAAW,CAAA;AAAA,YACZ,GAAG,aAAA;AAAA,YACH,IAAM,EAAA,UAAA;AAAA,YACN,MAAQ,EAAA,KAAA;AAAA,YACR,cAAA,EAAgB,GAAG,IAAI,CAAA,IAAA,CAAA;AAAA,WACxB,CAAA;AAAA,SACC,GAAA;AAAA,UACF,GAAG,UAAW,CAAA;AAAA,YACZ,GAAG,aAAA;AAAA,YACH,IAAM,EAAA,UAAA;AAAA,YACN,MAAQ,EAAA,MAAA;AAAA,YACR,cAAA,EAAgB,GAAG,IAAI,CAAA,QAAA,CAAA;AAAA,WACxB,CAAA;AAAA,UACD,GAAG,UAAW,CAAA;AAAA,YACZ,GAAG,aAAA;AAAA,YACH,IAAM,EAAA,UAAA;AAAA,YACN,MAAQ,EAAA,KAAA;AAAA,YACR,cAAA,EAAgB,GAAG,IAAI,CAAA,OAAA,CAAA;AAAA,WACxB,CAAA;AAAA,SACH;AAAA,QACA,OAAS,EAAA;AAAA,UACP,gBAAA,CAAiB,OAAO,KAAK,CAAA;AAAA,UAC7B,aAAA;AAAA,UACA,aAAA;AAAA,UACA,UAAUC,wBAAQ,CAAA;AAAA,YAChB,OAAA,EAAS,CAACC,6BAAY,CAAA;AAAA,YACtB,QAAU,EAAA,IAAA;AAAA,YACV,SAAW,EAAA,IAAA;AAAA,YACX,OAAA,EAAS,GAAG,IAAI,CAAA,IAAA,CAAA;AAAA,WACjB,CAAA;AAAA,UACDF,wBAAQ,EAAA;AAAA,UACR,YAAA;AAAA,SACF;AAAA,QACA,QAAA;AAAA,OACF,CAAA;AAAA,KACD,CAAA;AAAA,IACD;AAAA,MACE,GAAG,aAAA;AAAA,MACH,KAAO,EAAA,cAAA;AAAA,MACP,MAAQ,EAAA;AAAA,QACN;AAAA,UACE,GAAK,EAAA,MAAA;AAAA,SACP;AAAA,QACA;AAAA,UACE,GAAK,EAAA,MAAA;AAAA,UACL,cAAA,EAAgB,CAAC,EAAE,IAAK,EAAA,KAAM,GAAG,IAAK,CAAA,OAAA,CAAQ,QAAU,EAAA,EAAE,CAAC,CAAA,SAAA,CAAA;AAAA,UAC3D,eAAiB,EAAA,IAAA;AAAA,SACnB;AAAA,OACF;AAAA,MACA,OAAS,EAAA;AAAA,QACP,iBAAiB,KAAK,CAAA;AAAA,QACtB,aAAA;AAAA,QACA,UAAU,IAAK,CAAA,EAAE,UAAU,CAAC,UAAU,GAAG,CAAA;AAAA,QACzCG,oBAAI,EAAE,QAAA,EAAU,oBAAqB,CAAA,mBAAmB,GAAG,CAAA;AAAA,QAC3D;AAAA,UACE,IAAM,EAAA,uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAKN,cAAA,CAAe,GAAG,MAAQ,EAAA;AACxB,YAAA,KAAA,MAAW,IAAQ,IAAA,MAAA,CAAO,MAAO,CAAA,MAAM,CAAG,EAAA;AACxC,cAAA,IAAI,EAAE,MAAU,IAAA,IAAA,CAAA;AAAO,gBAAA,SAAA;AAEvB,cAAK,IAAA,CAAA,IAAA,GAAO,KAAK,IAAK,CAAA,OAAA;AAAA,gBACpB,gCAAA;AAAA,gBACA,CAAA,gBAAA,EAAmB,IAAI,IAAI,CAAA,CAAA,CAAA;AAAA,eAC7B,CAAA;AAAA,aACF;AAAA,WACF;AAAA,SACF;AAAA,QACA,UAAA;AAAA,OACF;AAAA,MACA,QAAA;AAAA,KACF;AAAA,GACF,CAAA;AACF;;;;"}
|
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 '@jiek/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 {\n JIEK_SILENT,\n JIEK_TARGET,\n JIEK_ROOT\n} = process.env\nconst silent = JIEK_SILENT === 'true'\nconst target = JIEK_TARGET ?? 'esm,umd,dts'\nconst ACCEPTED_TARGETS = ['esm', 'umd', 'dts']\nconst targets = (\n target\n .split(',')\n .filter(Boolean)\n .filter(t => ACCEPTED_TARGETS.includes(t))\n) as ('esm' | 'umd' | 'dts')[]\nconst workspaceRoot = JIEK_ROOT ?? 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 if (targets.length === 0)\n throw new Error('no target specified')\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: Partial<Record<'esm' | 'umd' | 'dts', ReturnType<typeof addBarsByEntries>>> = {}\n targets.forEach(target => {\n progressState[target] = addBarsByEntries(target)\n })\n const resolved = entries.reduce((entries, entry) => ({ ...entries, [entry]: false }), {} as Record<string, boolean>)\n const watchingProgress = (\n type: 'esm' | 'umd' | 'dts',\n isLast = false,\n defaultEntry?: string\n ) => {\n const group = progressState[type]\n if (!group) throw new Error(`target ${type} found`)\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 (isLast) {\n resolved[e] = true\n if (Object.values(resolved).every(Boolean)) {\n setTimeout(() => multiBars.stop(), 200)\n }\n }\n }\n )\n }\n const esmOpts: (isLast: boolean) => RollupOptions = isLast => ({\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', isLast),\n commonPlugins,\n globalsRegister({ external }),\n styled && skip({ patterns: [/\\.s?css$/] }),\n esbuild(),\n indexPlugins\n ]\n })\n const umdOpts: (isLast: boolean) => RollupOptions[] = isLast => 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', isLast, 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 const dtsOpts: (isLast: boolean) => RollupOptions = isLast => ({\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', isLast),\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 const optionsMap = { esm: esmOpts, umd: umdOpts, dts: dtsOpts }\n return targets.flatMap(target => {\n const optsGen = optionsMap[target as 'esm' | 'umd' | 'dts']\n if (optsGen === undefined)\n throw new Error(`target ${target} is not supported`)\n const opts = optsGen(target === targets[targets.length - 1])\n if (Array.isArray(opts)) return opts\n return [opts]\n })\n}\n"],"names":["terser","getWorkspaceDir","resolve","json","MultiBar","Presets","target","entries","esbuild","postcss","autoprefixer","dts"],"mappings":"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"}
|