jiek 0.4.7-alpha.3 → 0.4.7-alpha.5
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/bin/jiek.js +7 -4
- package/dist/{cli.mjs → cli.cjs} +92 -65
- package/dist/cli.js +71 -86
- package/dist/cli.min.cjs +1 -0
- package/dist/cli.min.js +1 -1
- package/dist/index.cjs +5 -0
- package/dist/index.js +1 -3
- package/dist/index.min.cjs +1 -0
- package/dist/index.min.js +1 -1
- package/dist/rollup/{index.mjs → index.cjs} +69 -63
- package/dist/rollup/index.js +67 -65
- package/dist/rollup/index.min.cjs +1 -0
- package/dist/rollup/index.min.js +1 -1
- package/package.json +10 -9
- package/dist/cli.d.mts.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/cli.min.js.map +0 -1
- package/dist/cli.min.mjs +0 -1
- package/dist/cli.min.mjs.map +0 -1
- package/dist/cli.mjs.map +0 -1
- package/dist/index.d.mts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.min.js.map +0 -1
- package/dist/index.min.mjs +0 -1
- package/dist/index.min.mjs.map +0 -1
- package/dist/index.mjs +0 -3
- package/dist/index.mjs.map +0 -1
- package/dist/rollup/index.d.mts.map +0 -1
- package/dist/rollup/index.d.ts.map +0 -1
- package/dist/rollup/index.js.map +0 -1
- package/dist/rollup/index.min.js.map +0 -1
- package/dist/rollup/index.min.mjs +0 -1
- package/dist/rollup/index.min.mjs.map +0 -1
- package/dist/rollup/index.mjs.map +0 -1
- /package/dist/{cli.d.mts → cli.d.cts} +0 -0
- /package/dist/{index.d.mts → index.d.cts} +0 -0
- /package/dist/rollup/{index.d.mts → index.d.cts} +0 -0
package/dist/rollup/index.js
CHANGED
@@ -1,33 +1,33 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
var jsYaml = require('js-yaml');
|
18
|
-
require('@pnpm/filter-workspace-packages');
|
1
|
+
import fs from 'node:fs';
|
2
|
+
import path, { resolve, relative, dirname } from 'node:path';
|
3
|
+
import { resolveEntrypoints, filterLeafs, DEFAULT_SKIP_VALUES, entrypoints2Exports, getAllLeafs } from '@jiek/pkger/entrypoints';
|
4
|
+
import { dts } from '@jiek/rollup-plugin-dts';
|
5
|
+
import { isWorkspaceDir, getWorkspaceDir } from '@jiek/utils/getWorkspaceDir';
|
6
|
+
import json from '@rollup/plugin-json';
|
7
|
+
import { nodeResolve } from '@rollup/plugin-node-resolve';
|
8
|
+
import terser from '@rollup/plugin-terser';
|
9
|
+
import { sendMessage } from 'execa';
|
10
|
+
import { parse } from 'jsonc-parser';
|
11
|
+
import { isMatch } from 'micromatch';
|
12
|
+
import esbuild from 'rollup-plugin-esbuild';
|
13
|
+
import ts from 'typescript';
|
14
|
+
import { program } from 'commander';
|
15
|
+
import { load } from 'js-yaml';
|
16
|
+
import '@pnpm/filter-workspace-packages';
|
19
17
|
|
20
18
|
const intersection = (a, b) => new Set([...a].filter((i) => b.has(i)));
|
21
19
|
function getExports({
|
22
|
-
entrypoints
|
20
|
+
entrypoints,
|
23
21
|
pkgIsModule,
|
24
22
|
entries,
|
25
23
|
config,
|
26
24
|
dir,
|
27
|
-
noFilter
|
25
|
+
noFilter,
|
26
|
+
withSource,
|
27
|
+
withSuffix
|
28
28
|
}) {
|
29
|
-
const dirResolve = (...paths) =>
|
30
|
-
const dirRelative = (path
|
29
|
+
const dirResolve = (...paths) => resolve(dir ?? process.cwd(), ...paths);
|
30
|
+
const dirRelative = (path) => relative(dir ?? process.cwd(), path);
|
31
31
|
const { build = {} } = config ?? {};
|
32
32
|
const {
|
33
33
|
crossModuleConvertor = true
|
@@ -35,21 +35,21 @@ function getExports({
|
|
35
35
|
const jsOutdir = `./${dirRelative(dirResolve(
|
36
36
|
(typeof build?.output?.dir === "object" ? build.output.dir.js : build?.output?.dir) ?? "dist"
|
37
37
|
))}`;
|
38
|
-
const [, resolvedEntrypoints] =
|
38
|
+
const [, resolvedEntrypoints] = resolveEntrypoints(entrypoints);
|
39
39
|
if (entries) {
|
40
40
|
Object.entries(resolvedEntrypoints).forEach(([key]) => {
|
41
|
-
if (!entries.some((e) =>
|
41
|
+
if (!entries.some((e) => isMatch(key, e, { matchBase: true }))) {
|
42
42
|
delete resolvedEntrypoints[key];
|
43
43
|
}
|
44
44
|
});
|
45
45
|
}
|
46
|
-
const filteredResolvedEntrypoints = noFilter ? resolvedEntrypoints :
|
46
|
+
const filteredResolvedEntrypoints = noFilter ? resolvedEntrypoints : filterLeafs(
|
47
47
|
resolvedEntrypoints,
|
48
48
|
{
|
49
49
|
skipValue: [
|
50
50
|
// ignore values that filename starts with `.jk-noentry`
|
51
51
|
/(^|\/)\.jk-noentry/,
|
52
|
-
...
|
52
|
+
...DEFAULT_SKIP_VALUES
|
53
53
|
]
|
54
54
|
}
|
55
55
|
);
|
@@ -65,8 +65,10 @@ function getExports({
|
|
65
65
|
} : {};
|
66
66
|
return [
|
67
67
|
filteredResolvedEntrypoints,
|
68
|
-
|
68
|
+
entrypoints2Exports(filteredResolvedEntrypoints, {
|
69
69
|
outdir: jsOutdir,
|
70
|
+
withSource,
|
71
|
+
withSuffix,
|
70
72
|
withConditional: {
|
71
73
|
...crossModuleWithConditional
|
72
74
|
}
|
@@ -78,7 +80,7 @@ let root;
|
|
78
80
|
function getRoot() {
|
79
81
|
if (root)
|
80
82
|
return root;
|
81
|
-
const rootOption =
|
83
|
+
const rootOption = program.getOptionValue("root");
|
82
84
|
root = rootOption ? path.isAbsolute(rootOption) ? rootOption : path.resolve(process.cwd(), rootOption) : void 0;
|
83
85
|
return root;
|
84
86
|
}
|
@@ -90,7 +92,7 @@ try {
|
|
90
92
|
} catch {
|
91
93
|
}
|
92
94
|
if (type !== "") {
|
93
|
-
|
95
|
+
program.option("-f, --filter <filter>", "filter packages");
|
94
96
|
}
|
95
97
|
|
96
98
|
let wd;
|
@@ -100,13 +102,13 @@ function getWD() {
|
|
100
102
|
return { wd, notWorkspace };
|
101
103
|
const root = getRoot();
|
102
104
|
if (root !== void 0) {
|
103
|
-
const isWorkspace =
|
105
|
+
const isWorkspace = isWorkspaceDir(root, type);
|
104
106
|
notWorkspace = !isWorkspace;
|
105
107
|
wd = root;
|
106
108
|
return { wd, notWorkspace };
|
107
109
|
}
|
108
110
|
try {
|
109
|
-
wd = getWorkspaceDir
|
111
|
+
wd = getWorkspaceDir(type);
|
110
112
|
} catch (e) {
|
111
113
|
if ("message" in e && e.message === "workspace root not found") {
|
112
114
|
wd = root;
|
@@ -173,7 +175,7 @@ function getConfigPath(root, dir) {
|
|
173
175
|
}
|
174
176
|
function loadConfig(dir) {
|
175
177
|
const { wd: root } = getWD();
|
176
|
-
let configPath =
|
178
|
+
let configPath = program.getOptionValue("configPath");
|
177
179
|
if (!configPath) {
|
178
180
|
configPath = getConfigPath(root, dir);
|
179
181
|
} else {
|
@@ -193,7 +195,7 @@ function loadConfig(dir) {
|
|
193
195
|
case ".json":
|
194
196
|
return require(configPath);
|
195
197
|
case ".yaml":
|
196
|
-
return
|
198
|
+
return load(fs.readFileSync(configPath, "utf-8"));
|
197
199
|
case ".ts":
|
198
200
|
if (tsRegisterName) {
|
199
201
|
require(tsRegisterName);
|
@@ -262,21 +264,21 @@ const {
|
|
262
264
|
JIEK_ROOT,
|
263
265
|
JIEK_ENTRIES
|
264
266
|
} = process.env;
|
265
|
-
const WORKSPACE_ROOT = JIEK_ROOT ?? getWorkspaceDir
|
267
|
+
const WORKSPACE_ROOT = JIEK_ROOT ?? getWorkspaceDir();
|
266
268
|
const COMMON_OPTIONS = {};
|
267
269
|
const COMMON_PLUGINS = [
|
268
270
|
json()
|
269
271
|
];
|
270
272
|
const config = loadConfig() ?? {};
|
271
273
|
const { build = {} } = config;
|
272
|
-
const jsOutdir = `./${
|
274
|
+
const jsOutdir = `./${relative(
|
273
275
|
process.cwd(),
|
274
|
-
|
276
|
+
resolve(
|
275
277
|
(typeof build?.output?.dir === "object" ? build.output.dir.js : build?.output?.dir) ?? "dist"
|
276
278
|
)
|
277
279
|
)}`;
|
278
280
|
const STYLE_REGEXP = /\.(css|s[ac]ss|less|styl)$/;
|
279
|
-
const resolveWorkspacePath = (p) =>
|
281
|
+
const resolveWorkspacePath = (p) => resolve(WORKSPACE_ROOT, p);
|
280
282
|
const pascalCase = (str) => str.replace(/[@|/-](\w)/g, (_, $1) => $1.toUpperCase()).replace(/(?:^|-)(\w)/g, (_, $1) => $1.toUpperCase());
|
281
283
|
const reveal = (obj, keys) => keys.reduce((acc, key) => {
|
282
284
|
if (typeof acc === "string")
|
@@ -305,12 +307,12 @@ const withMinify = (output, minify = build?.output?.minify) => minify === false
|
|
305
307
|
]
|
306
308
|
}
|
307
309
|
];
|
308
|
-
const getTSConfig = (p) => !fs.existsSync(p) || !fs.statSync(p).isFile() ? {} :
|
310
|
+
const getTSConfig = (p) => !fs.existsSync(p) || !fs.statSync(p).isFile() ? {} : parse(fs.readFileSync(p, "utf-8"), [], { allowTrailingComma: true, allowEmptyContent: true });
|
309
311
|
const getExtendTSConfig = (tsconfigPath) => {
|
310
|
-
tsconfigPath =
|
311
|
-
const tsconfigPathDirname =
|
312
|
+
tsconfigPath = resolve(tsconfigPath);
|
313
|
+
const tsconfigPathDirname = dirname(tsconfigPath);
|
312
314
|
const { extends: exts, ...tsconfig } = getTSConfig(tsconfigPath);
|
313
|
-
const resolvePaths = (paths) => paths?.map((p) =>
|
315
|
+
const resolvePaths = (paths) => paths?.map((p) => resolve(tsconfigPathDirname, p)) ?? [];
|
314
316
|
const extendsPaths = resolvePaths(
|
315
317
|
exts ? Array.isArray(exts) ? exts : [exts] : []
|
316
318
|
);
|
@@ -326,11 +328,11 @@ const getExtendTSConfig = (tsconfigPath) => {
|
|
326
328
|
}), tsconfig);
|
327
329
|
};
|
328
330
|
const getCompilerOptionsByFilePath = (tsconfigPath, filePath) => {
|
329
|
-
tsconfigPath =
|
330
|
-
filePath =
|
331
|
-
const tsconfigPathDirname =
|
331
|
+
tsconfigPath = resolve(tsconfigPath);
|
332
|
+
filePath = resolve(filePath);
|
333
|
+
const tsconfigPathDirname = dirname(tsconfigPath);
|
332
334
|
const tsconfig = getExtendTSConfig(tsconfigPath);
|
333
|
-
const resolvePaths = (paths) => paths?.map((p) =>
|
335
|
+
const resolvePaths = (paths) => paths?.map((p) => resolve(tsconfigPathDirname, p)) ?? [];
|
334
336
|
const [
|
335
337
|
references,
|
336
338
|
files,
|
@@ -342,13 +344,13 @@ const getCompilerOptionsByFilePath = (tsconfigPath, filePath) => {
|
|
342
344
|
tsconfig.include,
|
343
345
|
tsconfig.exclude
|
344
346
|
].map(resolvePaths);
|
345
|
-
if (exclude.length > 0 && exclude.some((i) =>
|
347
|
+
if (exclude.length > 0 && exclude.some((i) => isMatch(filePath, i)))
|
346
348
|
return;
|
347
349
|
if (tsconfig.files?.length === 0 && tsconfig.include?.length === 0)
|
348
350
|
return;
|
349
351
|
let isInclude = false;
|
350
352
|
isInclude || (isInclude = files.length > 0 && files.includes(filePath));
|
351
|
-
isInclude || (isInclude = include.length > 0 && include.some((i) =>
|
353
|
+
isInclude || (isInclude = include.length > 0 && include.some((i) => isMatch(filePath, i)));
|
352
354
|
if (isInclude) {
|
353
355
|
return tsconfig.compilerOptions ?? {};
|
354
356
|
} else {
|
@@ -364,7 +366,7 @@ const getCompilerOptionsByFilePath = (tsconfigPath, filePath) => {
|
|
364
366
|
return tsconfig.compilerOptions;
|
365
367
|
};
|
366
368
|
const generateConfigs = ({
|
367
|
-
path
|
369
|
+
path,
|
368
370
|
name,
|
369
371
|
input,
|
370
372
|
output,
|
@@ -387,10 +389,10 @@ const generateConfigs = ({
|
|
387
389
|
});
|
388
390
|
let compilerOptions = {};
|
389
391
|
if (dtsTSConfigPath) {
|
390
|
-
const jsonCompilerOptions = getCompilerOptionsByFilePath(dtsTSConfigPath,
|
392
|
+
const jsonCompilerOptions = getCompilerOptionsByFilePath(dtsTSConfigPath, resolve(input));
|
391
393
|
const { options: options2, errors } = ts.convertCompilerOptionsFromJson(
|
392
394
|
jsonCompilerOptions,
|
393
|
-
|
395
|
+
dirname(dtsTSConfigPath)
|
394
396
|
);
|
395
397
|
if (errors.length > 0) {
|
396
398
|
throw new Error(errors.map((e) => e.messageText).join("\n"));
|
@@ -400,7 +402,7 @@ const generateConfigs = ({
|
|
400
402
|
const exportConditions = [...conditionals, ...compilerOptions.customConditions ?? []];
|
401
403
|
const throughEventProps = {
|
402
404
|
type: "progress",
|
403
|
-
data: { name, path
|
405
|
+
data: { name, path, exportConditions, input }
|
404
406
|
};
|
405
407
|
const outdir = options?.output?.dir;
|
406
408
|
return [
|
@@ -417,16 +419,16 @@ const generateConfigs = ({
|
|
417
419
|
})
|
418
420
|
],
|
419
421
|
plugins: [
|
420
|
-
|
422
|
+
nodeResolve({ exportConditions }),
|
421
423
|
import('rollup-plugin-postcss').then(
|
422
424
|
({ default: postcss }) => postcss({
|
423
|
-
extract:
|
425
|
+
extract: resolve(output.replace(/\.[cm]?js$/, ".css")),
|
424
426
|
minimize: true
|
425
427
|
})
|
426
428
|
).catch(() => void 0),
|
427
429
|
esbuild(),
|
428
430
|
progress({
|
429
|
-
onEvent: (event, message) =>
|
431
|
+
onEvent: (event, message) => sendMessage(
|
430
432
|
{
|
431
433
|
...throughEventProps,
|
432
434
|
data: { ...throughEventProps.data, event, message, tags: ["js"] }
|
@@ -440,21 +442,21 @@ const generateConfigs = ({
|
|
440
442
|
external,
|
441
443
|
output: [
|
442
444
|
{
|
443
|
-
dir:
|
445
|
+
dir: resolve((typeof outdir === "object" ? outdir.dts : outdir) ?? "dist"),
|
444
446
|
sourcemap: typeof options?.output?.sourcemap === "object" ? options.output.sourcemap.dts : options?.output?.sourcemap,
|
445
447
|
entryFileNames: () => output.replace(`${jsOutdir}/`, "").replace(/(\.[cm]?)js$/, ".d$1ts"),
|
446
448
|
strict: typeof options?.output?.strict === "object" ? options.output.strict.dts : options?.output?.strict
|
447
449
|
}
|
448
450
|
],
|
449
451
|
plugins: [
|
450
|
-
|
452
|
+
nodeResolve({ exportConditions }),
|
451
453
|
skip({ patterns: [STYLE_REGEXP] }),
|
452
|
-
|
454
|
+
dts({
|
453
455
|
respectExternal: true,
|
454
456
|
compilerOptions
|
455
457
|
}),
|
456
458
|
progress({
|
457
|
-
onEvent: (event, message) =>
|
459
|
+
onEvent: (event, message) => sendMessage(
|
458
460
|
{
|
459
461
|
...throughEventProps,
|
460
462
|
data: { ...throughEventProps.data, event, message, tags: ["dts"] }
|
@@ -466,11 +468,11 @@ const generateConfigs = ({
|
|
466
468
|
];
|
467
469
|
};
|
468
470
|
function template(packageJSON) {
|
469
|
-
const { name, type, exports: entrypoints
|
471
|
+
const { name, type, exports: entrypoints } = packageJSON;
|
470
472
|
const pkgIsModule = type === "module";
|
471
473
|
if (!name)
|
472
474
|
throw new Error("package.json name is required");
|
473
|
-
if (!entrypoints
|
475
|
+
if (!entrypoints)
|
474
476
|
throw new Error("package.json exports is required");
|
475
477
|
const entries = JIEK_ENTRIES?.split(",").map((e) => e.trim()).map((e) => ({
|
476
478
|
"index": "."
|
@@ -478,13 +480,13 @@ function template(packageJSON) {
|
|
478
480
|
const packageName = pascalCase(name);
|
479
481
|
const external = externalResolver(packageJSON);
|
480
482
|
const [filteredResolvedEntrypoints, exports] = getExports({
|
481
|
-
entrypoints
|
483
|
+
entrypoints,
|
482
484
|
pkgIsModule,
|
483
485
|
entries,
|
484
486
|
config
|
485
487
|
});
|
486
488
|
const leafMap = /* @__PURE__ */ new Map();
|
487
|
-
|
489
|
+
getAllLeafs(filteredResolvedEntrypoints, ({ keys, value }) => {
|
488
490
|
if (typeof value === "string") {
|
489
491
|
const keysArr = leafMap.get(value) ?? [];
|
490
492
|
leafMap.set(value, keysArr);
|
@@ -515,7 +517,7 @@ function template(packageJSON) {
|
|
515
517
|
break;
|
516
518
|
}
|
517
519
|
case "object": {
|
518
|
-
|
520
|
+
getAllLeafs(keyExports, ({ keys: nextKeys, value }) => {
|
519
521
|
const allConditionals = [.../* @__PURE__ */ new Set([...conditionals, ...nextKeys])];
|
520
522
|
if (typeof value === "string") {
|
521
523
|
configs.push(...generateConfigs({
|
@@ -531,7 +533,7 @@ function template(packageJSON) {
|
|
531
533
|
}
|
532
534
|
})
|
533
535
|
);
|
534
|
-
|
536
|
+
sendMessage(
|
535
537
|
{
|
536
538
|
type: "init",
|
537
539
|
data: {
|
@@ -550,4 +552,4 @@ function template(packageJSON) {
|
|
550
552
|
}));
|
551
553
|
}
|
552
554
|
|
553
|
-
|
555
|
+
export { template };
|
@@ -0,0 +1 @@
|
|
1
|
+
"use strict";var e=require("node:fs"),t=require("node:path"),r=require("@jiek/pkger/entrypoints"),s=require("@jiek/rollup-plugin-dts"),o=require("@jiek/utils/getWorkspaceDir"),n=require("@rollup/plugin-json"),i=require("@rollup/plugin-node-resolve"),c=require("@rollup/plugin-terser"),p=require("execa"),u=require("jsonc-parser"),a=require("micromatch"),l=require("rollup-plugin-esbuild"),d=require("typescript"),f=require("commander"),m=require("js-yaml");require("@pnpm/filter-workspace-packages");const g=(e,t)=>new Set([...e].filter((e=>t.has(e))));let h;function y(){if(h)return h;const e=f.program.getOptionValue("root");return h=e?t.isAbsolute(e)?e:t.resolve(process.cwd(),e):void 0,h}let w,v="";try{require.resolve("@pnpm/filter-workspace-packages"),v="pnpm"}catch{}""!==v&&f.program.option("-f, --filter <filter>","filter packages");let j,k=!1;function $(e){try{return require.resolve(e),!0}catch(e){return!1}}const E=[process.env.JIEK_TS_REGISTER,"esbuild-register","@swc-node/register","ts-node/register"].filter(Boolean);for(const e of E)if($(e)){j=e;break}let S="jiek.config";var x=(e={})=>{const{onEvent:t}=e;return{name:"progress",buildStart:()=>t?.("start","Start building..."),buildEnd:()=>t?.("end","Build completed!"),resolveId:{order:"post",handler:e=>t?.("resolve",`Resolving ${e}...`)},load:{order:"post",handler:e=>t?.("load",`Loading ${e}...`)},transform:{order:"post",handler:(e,r)=>t?.("transform",`Transforming ${r}...`)}}},b=(e={})=>({name:"skip",load(t){if(e.patterns?.some((e=>"string"==typeof e?t.includes(e):e.test(t))))return""}});const{JIEK_ROOT:q,JIEK_ENTRIES:O}=process.env,I=q??o.getWorkspaceDir(),M={},C=[n()],F=function(r){const{wd:s}=function(){if(w)return{wd:w,notWorkspace:k};const e=y();if(void 0!==e){const t=o.isWorkspaceDir(e,v);return k=!t,w=e,{wd:w,notWorkspace:k}}try{w=o.getWorkspaceDir(v)}catch(t){if(!("message"in t)||"workspace root not found"!==t.message)throw t;w=e,k=!0}return{wd:w,notWorkspace:k}}();let n=f.program.getOptionValue("configPath");if(n){if(!e.existsSync(n))throw new Error(`config file not found: ${n}`);t.isAbsolute(n)||(n=t.resolve(s,n))}else n=function(r,s){const o=!!j;function n(o){const n=[t.resolve(process.cwd(),`${S}.${o}`),t.resolve(process.cwd(),`.${S}.${o}`),t.resolve(r,`${S}.${o}`),t.resolve(r,`.${S}.${o}`)];s&&n.unshift(t.resolve(s,`${S}.${o}`),t.resolve(s,`.${S}.${o}`));for(const t of n)if(e.existsSync(t)&&e.lstatSync(t).isFile())return t}return S=n("js")??S,S=n("json")??S,S=n("yaml")??S,o&&(S=n("ts")??S),t.resolve(r,S)}(s,r);const i=t.extname(n);let c;switch(i){case".js":c=require(n);break;case".json":return require(n);case".yaml":return m.load(e.readFileSync(n,"utf-8"));case".ts":if(j){require(j),c=require(n);break}throw new Error("ts config file is not supported without ts register, please install esbuild-register or set JIEK_TS_REGISTER env for custom ts register");case".config":c={};break;default:throw new Error(`unsupported config file type: ${i}`)}if(!c)throw new Error("config file is empty");return c.default??c}()??{},{build:R={}}=F,T=`./${t.relative(process.cwd(),t.resolve(("object"==typeof R?.output?.dir?R.output.dir.js:R?.output?.dir)??"dist"))}`,A=/\.(css|s[ac]ss|less|styl)$/,_=e=>t.resolve(I,e),D=e=>e.replace(/[@|/-](\w)/g,((e,t)=>t.toUpperCase())).replace(/(?:^|-)(\w)/g,((e,t)=>t.toUpperCase())),L=(e,t=R?.output?.minify)=>!1===t?[e]:"only-minify"===t?[{...e,file:e.file?.replace(/(\.[cm]?js)$/,".min$1"),plugins:[...e.plugins??[],c()]}]:[e,{...e,file:e.file?.replace(/(\.[cm]?js)$/,".min$1"),plugins:[...e.plugins??[],c()]}],W=r=>{r=t.resolve(r);const s=t.dirname(r),{extends:o,...n}=(i=r,e.existsSync(i)&&e.statSync(i).isFile()?u.parse(e.readFileSync(i,"utf-8"),[],{allowTrailingComma:!0,allowEmptyContent:!0}):{});var i;const c=(p=o?Array.isArray(o)?o:[o]:[],p?.map((e=>t.resolve(s,e)))??[]);var p;return 0===c.length?n:c.map(W).reduce(((e,{compilerOptions:t={},references:r,...s})=>({...e,...s,compilerOptions:{...e.compilerOptions,...t}})),n)},J=(e,r)=>{e=t.resolve(e),r=t.resolve(r);const s=t.dirname(e),o=W(e),[n,i,c,p]=[o.references?.map((({path:e})=>e)),o.files,o.include,o.exclude].map((e=>e?.map((e=>t.resolve(s,e)))??[]));if(p.length>0&&p.some((e=>a.isMatch(r,e))))return;if(0===o.files?.length&&0===o.include?.length)return;let u=!1;if(u||(u=i.length>0&&i.includes(r)),u||(u=c.length>0&&c.some((e=>a.isMatch(r,e)))),u)return o.compilerOptions??{};if(!(o.files&&o.files.length>0||o.include&&o.include.length>0)){n.reverse();for(const e of n){const t=J(e,r);if(t)return t}return o.compilerOptions}},K=({path:r,name:o,input:n,output:c,external:u,pkgIsModule:a,conditionals:f},m={})=>{const g=f.includes("import"),h=f.includes("require"),y=f.includes("browser");let w;[_("tsconfig.json"),_("tsconfig.dts.json")].forEach((t=>{e.existsSync(t)&&e.statSync(t).isFile()&&(w=t)}));let v={};if(w){const e=J(w,t.resolve(n)),{options:r,errors:s}=d.convertCompilerOptionsFromJson(e,t.dirname(w));if(s.length>0)throw new Error(s.map((e=>e.messageText)).join("\n"));v=r}const j=[...f,...v.customConditions??[]],k={type:"progress",data:{name:o,path:r,exportConditions:j,input:n}},$=m?.output?.dir;return[{input:n,external:u,output:[...L({file:c,name:o,sourcemap:"object"==typeof m?.output?.sourcemap?m.output.sourcemap.js:m?.output?.sourcemap,format:g?"esm":h?"cjs":y?"umd":a?"esm":"cjs",strict:"object"==typeof m?.output?.strict?m.output.strict.js:m?.output?.strict})],plugins:[i.nodeResolve({exportConditions:j}),import("rollup-plugin-postcss").then((({default:e})=>e({extract:t.resolve(c.replace(/\.[cm]?js$/,".css")),minimize:!0}))).catch((()=>{})),l(),x({onEvent:(e,t)=>p.sendMessage({...k,data:{...k.data,event:e,message:t,tags:["js"]}})})]},{input:n,external:u,output:[{dir:t.resolve(("object"==typeof $?$.dts:$)??"dist"),sourcemap:"object"==typeof m?.output?.sourcemap?m.output.sourcemap.dts:m?.output?.sourcemap,entryFileNames:()=>c.replace(`${T}/`,"").replace(/(\.[cm]?)js$/,".d$1ts"),strict:"object"==typeof m?.output?.strict?m.output.strict.dts:m?.output?.strict}],plugins:[i.nodeResolve({exportConditions:j}),b({patterns:[A]}),s.dts({respectExternal:!0,compilerOptions:v}),x({onEvent:(e,t)=>p.sendMessage({...k,data:{...k.data,event:e,message:t,tags:["dts"]}})})]}]};exports.template=function(s){const{name:o,type:n,exports:i}=s,c="module"===n;if(!o)throw new Error("package.json name is required");if(!i)throw new Error("package.json exports is required");const u=O?.split(",").map((e=>e.trim())).map((e=>({index:"."}[e]??e))),l=D(o),d=function(t=process.cwd()){const r="string"==typeof t?e.existsSync(`${t}/package.json`)?JSON.parse(e.readFileSync(`${t}/package.json`,"utf-8")):{}:t,{dependencies:s={},peerDependencies:o={},optionalDependencies:n={}}=r;return Object.keys(s).concat(Object.keys(o)).concat(Object.keys(n)).map((e=>new RegExp(`^${e}(/.*)?$`))).concat([/^node:/])}(s),[f,m]=function({entrypoints:e,pkgIsModule:s,entries:o,config:n,dir:i,noFilter:c,withSource:p,withSuffix:u}){const{build:l={}}=n??{},{crossModuleConvertor:d=!0}=l,f=`./${m=((...e)=>t.resolve(i??process.cwd(),...e))(("object"==typeof l?.output?.dir?l.output.dir.js:l?.output?.dir)??"dist"),t.relative(i??process.cwd(),m)}`;var m;const[,h]=r.resolveEntrypoints(e);o&&Object.entries(h).forEach((([e])=>{o.some((t=>a.isMatch(e,t,{matchBase:!0})))||delete h[e]}));const y=c?h:r.filterLeafs(h,{skipValue:[/(^|\/)\.jk-noentry/,...r.DEFAULT_SKIP_VALUES]}),w=d?{import:e=>!s&&0===g(new Set(e.conditionals),new Set(["import","module"])).size&&e.dist.replace(/\.js$/,".mjs"),require:e=>!(!s||0!==g(new Set(e.conditionals),new Set(["require","node"])).size)&&e.dist.replace(/\.js$/,".cjs")}:{};return[y,r.entrypoints2Exports(y,{outdir:f,withSource:p,withSuffix:u,withConditional:{...w}})]}({entrypoints:i,pkgIsModule:c,entries:u,config:F}),h=new Map;r.getAllLeafs(f,(({keys:e,value:t})=>{if("string"==typeof t){const r=h.get(t)??[];h.set(t,r),r.push(e)}return!1}));const y=[];return h.forEach(((e,t)=>e.forEach((e=>{const[s,...o]=e,n=l+("."===s?"":D(s)),i=((e,t)=>t.reduce(((e,t)=>{if("string"==typeof e)throw new Error("key not found in exports");if(!(t in e))throw new Error(`key ${t} not found in exports`);return e[t]}),e))(m,e),p={path:s,name:n,input:t,external:d,pkgIsModule:c};switch(typeof i){case"string":y.push(...K({...p,output:i,conditionals:o},R));break;case"object":r.getAllLeafs(i,(({keys:e,value:t})=>{const r=[...new Set([...o,...e])];return"string"==typeof t&&y.push(...K({...p,output:t,conditionals:r},R)),!1}))}})))),p.sendMessage({type:"init",data:{leafMap:h,targetsLength:y.length}}),y.map((e=>({...M,...e,plugins:[...C,e.plugins]})))};
|
package/dist/rollup/index.min.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
import e from"node:fs";import t,{resolve as r,relative as o,dirname as s}from"node:path";import{resolveEntrypoints as n,filterLeafs as i,DEFAULT_SKIP_VALUES as p,entrypoints2Exports as c,getAllLeafs as u}from"@jiek/pkger/entrypoints";import{dts as l}from"@jiek/rollup-plugin-dts";import{isWorkspaceDir as a,getWorkspaceDir as f}from"@jiek/utils/getWorkspaceDir";import d from"@rollup/plugin-json";import{nodeResolve as m}from"@rollup/plugin-node-resolve";import g from"@rollup/plugin-terser";import{sendMessage as w}from"execa";import{parse as y}from"jsonc-parser";import{isMatch as h}from"micromatch";import j from"rollup-plugin-esbuild";import k from"typescript";import{program as $}from"commander";import{load as v}from"js-yaml";import"@pnpm/filter-workspace-packages";const E=(e,t)=>new Set([...e].filter((e=>t.has(e))));let S;function b(){if(S)return S;const e=$.getOptionValue("root");return S=e?t.isAbsolute(e)?e:t.resolve(process.cwd(),e):void 0,S}let x,O="";try{require.resolve("@pnpm/filter-workspace-packages"),O="pnpm"}catch{}""!==O&&$.option("-f, --filter <filter>","filter packages");let I,q=!1;function C(e){try{return require.resolve(e),!0}catch(e){return!1}}const F=[process.env.JIEK_TS_REGISTER,"esbuild-register","@swc-node/register","ts-node/register"].filter(Boolean);for(const e of F)if(C(e)){I=e;break}let T="jiek.config";var R=(e={})=>{const{onEvent:t}=e;return{name:"progress",buildStart:()=>t?.("start","Start building..."),buildEnd:()=>t?.("end","Build completed!"),resolveId:{order:"post",handler:e=>t?.("resolve",`Resolving ${e}...`)},load:{order:"post",handler:e=>t?.("load",`Loading ${e}...`)},transform:{order:"post",handler:(e,r)=>t?.("transform",`Transforming ${r}...`)}}},M=(e={})=>({name:"skip",load(t){if(e.patterns?.some((e=>"string"==typeof e?t.includes(e):e.test(t))))return""}});const{JIEK_ROOT:J,JIEK_ENTRIES:_}=process.env,A=J??f(),K={},W=[d()],z=function(r){const{wd:o}=function(){if(x)return{wd:x,notWorkspace:q};const e=b();if(void 0!==e){const t=a(e,O);return q=!t,x=e,{wd:x,notWorkspace:q}}try{x=f(O)}catch(t){if(!("message"in t)||"workspace root not found"!==t.message)throw t;x=e,q=!0}return{wd:x,notWorkspace:q}}();let s=$.getOptionValue("configPath");if(s){if(!e.existsSync(s))throw new Error(`config file not found: ${s}`);t.isAbsolute(s)||(s=t.resolve(o,s))}else s=function(r,o){const s=!!I;function n(s){const n=[t.resolve(process.cwd(),`${T}.${s}`),t.resolve(process.cwd(),`.${T}.${s}`),t.resolve(r,`${T}.${s}`),t.resolve(r,`.${T}.${s}`)];o&&n.unshift(t.resolve(o,`${T}.${s}`),t.resolve(o,`.${T}.${s}`));for(const t of n)if(e.existsSync(t)&&e.lstatSync(t).isFile())return t}return T=n("js")??T,T=n("json")??T,T=n("yaml")??T,s&&(T=n("ts")??T),t.resolve(r,T)}(o,r);const n=t.extname(s);let i;switch(n){case".js":i=require(s);break;case".json":return require(s);case".yaml":return v(e.readFileSync(s,"utf-8"));case".ts":if(I){require(I),i=require(s);break}throw new Error("ts config file is not supported without ts register, please install esbuild-register or set JIEK_TS_REGISTER env for custom ts register");case".config":i={};break;default:throw new Error(`unsupported config file type: ${n}`)}if(!i)throw new Error("config file is empty");return i.default??i}()??{},{build:B={}}=z,D=`./${o(process.cwd(),r(("object"==typeof B?.output?.dir?B.output.dir.js:B?.output?.dir)??"dist"))}`,N=/\.(css|s[ac]ss|less|styl)$/,V=e=>r(A,e),G=e=>e.replace(/[@|/-](\w)/g,((e,t)=>t.toUpperCase())).replace(/(?:^|-)(\w)/g,((e,t)=>t.toUpperCase())),L=(e,t=B?.output?.minify)=>!1===t?[e]:"only-minify"===t?[{...e,file:e.file?.replace(/(\.[cm]?js)$/,".min$1"),plugins:[...e.plugins??[],g()]}]:[e,{...e,file:e.file?.replace(/(\.[cm]?js)$/,".min$1"),plugins:[...e.plugins??[],g()]}],U=t=>{t=r(t);const o=s(t),{extends:n,...i}=(p=t,e.existsSync(p)&&e.statSync(p).isFile()?y(e.readFileSync(p,"utf-8"),[],{allowTrailingComma:!0,allowEmptyContent:!0}):{});var p;const c=(u=n?Array.isArray(n)?n:[n]:[],u?.map((e=>r(o,e)))??[]);var u;return 0===c.length?i:c.map(U).reduce(((e,{compilerOptions:t={},references:r,...o})=>({...e,...o,compilerOptions:{...e.compilerOptions,...t}})),i)},P=(e,t)=>{e=r(e),t=r(t);const o=s(e),n=U(e),[i,p,c,u]=[n.references?.map((({path:e})=>e)),n.files,n.include,n.exclude].map((e=>e?.map((e=>r(o,e)))??[]));if(u.length>0&&u.some((e=>h(t,e))))return;if(0===n.files?.length&&0===n.include?.length)return;let l=!1;if(l||(l=p.length>0&&p.includes(t)),l||(l=c.length>0&&c.some((e=>h(t,e)))),l)return n.compilerOptions??{};if(!(n.files&&n.files.length>0||n.include&&n.include.length>0)){i.reverse();for(const e of i){const r=P(e,t);if(r)return r}return n.compilerOptions}},H=({path:t,name:o,input:n,output:i,external:p,pkgIsModule:c,conditionals:u},a={})=>{const f=u.includes("import"),d=u.includes("require"),g=u.includes("browser");let y;[V("tsconfig.json"),V("tsconfig.dts.json")].forEach((t=>{e.existsSync(t)&&e.statSync(t).isFile()&&(y=t)}));let h={};if(y){const e=P(y,r(n)),{options:t,errors:o}=k.convertCompilerOptionsFromJson(e,s(y));if(o.length>0)throw new Error(o.map((e=>e.messageText)).join("\n"));h=t}const $=[...u,...h.customConditions??[]],v={type:"progress",data:{name:o,path:t,exportConditions:$,input:n}},E=a?.output?.dir;return[{input:n,external:p,output:[...L({file:i,name:o,sourcemap:"object"==typeof a?.output?.sourcemap?a.output.sourcemap.js:a?.output?.sourcemap,format:f?"esm":d?"cjs":g?"umd":c?"esm":"cjs",strict:"object"==typeof a?.output?.strict?a.output.strict.js:a?.output?.strict})],plugins:[m({exportConditions:$}),import("rollup-plugin-postcss").then((({default:e})=>e({extract:r(i.replace(/\.[cm]?js$/,".css")),minimize:!0}))).catch((()=>{})),j(),R({onEvent:(e,t)=>w({...v,data:{...v.data,event:e,message:t,tags:["js"]}})})]},{input:n,external:p,output:[{dir:r(("object"==typeof E?E.dts:E)??"dist"),sourcemap:"object"==typeof a?.output?.sourcemap?a.output.sourcemap.dts:a?.output?.sourcemap,entryFileNames:()=>i.replace(`${D}/`,"").replace(/(\.[cm]?)js$/,".d$1ts"),strict:"object"==typeof a?.output?.strict?a.output.strict.dts:a?.output?.strict}],plugins:[m({exportConditions:$}),M({patterns:[N]}),l({respectExternal:!0,compilerOptions:h}),R({onEvent:(e,t)=>w({...v,data:{...v.data,event:e,message:t,tags:["dts"]}})})]}]};function Q(t){const{name:s,type:l,exports:a}=t,f="module"===l;if(!s)throw new Error("package.json name is required");if(!a)throw new Error("package.json exports is required");const d=_?.split(",").map((e=>e.trim())).map((e=>({index:"."}[e]??e))),m=G(s),g=function(t=process.cwd()){const r="string"==typeof t?e.existsSync(`${t}/package.json`)?JSON.parse(e.readFileSync(`${t}/package.json`,"utf-8")):{}:t,{dependencies:o={},peerDependencies:s={},optionalDependencies:n={}}=r;return Object.keys(o).concat(Object.keys(s)).concat(Object.keys(n)).map((e=>new RegExp(`^${e}(/.*)?$`))).concat([/^node:/])}(t),[y,j]=function({entrypoints:e,pkgIsModule:t,entries:s,config:u,dir:l,noFilter:a,withSource:f,withSuffix:d}){const{build:m={}}=u??{},{crossModuleConvertor:g=!0}=m,w=`./${(e=>o(l??process.cwd(),e))(((...e)=>r(l??process.cwd(),...e))(("object"==typeof m?.output?.dir?m.output.dir.js:m?.output?.dir)??"dist"))}`,[,y]=n(e);s&&Object.entries(y).forEach((([e])=>{s.some((t=>h(e,t,{matchBase:!0})))||delete y[e]}));const j=a?y:i(y,{skipValue:[/(^|\/)\.jk-noentry/,...p]});return[j,c(j,{outdir:w,withSource:f,withSuffix:d,withConditional:{...g?{import:e=>!t&&0===E(new Set(e.conditionals),new Set(["import","module"])).size&&e.dist.replace(/\.js$/,".mjs"),require:e=>!(!t||0!==E(new Set(e.conditionals),new Set(["require","node"])).size)&&e.dist.replace(/\.js$/,".cjs")}:{}}})]}({entrypoints:a,pkgIsModule:f,entries:d,config:z}),k=new Map;u(y,(({keys:e,value:t})=>{if("string"==typeof t){const r=k.get(t)??[];k.set(t,r),r.push(e)}return!1}));const $=[];return k.forEach(((e,t)=>e.forEach((e=>{const[r,...o]=e,s=m+("."===r?"":G(r)),n=((e,t)=>t.reduce(((e,t)=>{if("string"==typeof e)throw new Error("key not found in exports");if(!(t in e))throw new Error(`key ${t} not found in exports`);return e[t]}),e))(j,e),i={path:r,name:s,input:t,external:g,pkgIsModule:f};switch(typeof n){case"string":$.push(...H({...i,output:n,conditionals:o},B));break;case"object":u(n,(({keys:e,value:t})=>{const r=[...new Set([...o,...e])];return"string"==typeof t&&$.push(...H({...i,output:t,conditionals:r},B)),!1}))}})))),w({type:"init",data:{leafMap:k,targetsLength:$.length}}),$.map((e=>({...K,...e,plugins:[...W,e.plugins]})))}export{Q as template};
|
package/package.json
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "jiek",
|
3
|
-
"
|
3
|
+
"type": "module",
|
4
|
+
"version": "0.4.7-alpha.5",
|
4
5
|
"description": "YiJie's personal kits.",
|
5
6
|
"bin": {
|
6
7
|
"jiek": "bin/jiek.js",
|
@@ -26,27 +27,27 @@
|
|
26
27
|
"./package.json": "./package.json",
|
27
28
|
".": {
|
28
29
|
"source": "./src/index.ts",
|
29
|
-
"
|
30
|
+
"require": "./dist/index.cjs",
|
30
31
|
"default": "./dist/index.js"
|
31
32
|
},
|
32
33
|
"./cli": {
|
33
34
|
"source": "./src/cli.ts",
|
34
|
-
"
|
35
|
+
"require": "./dist/cli.cjs",
|
35
36
|
"default": "./dist/cli.js"
|
36
37
|
},
|
37
38
|
"./rollup": {
|
38
39
|
"source": "./src/rollup/index.ts",
|
39
|
-
"
|
40
|
+
"require": "./dist/rollup/index.cjs",
|
40
41
|
"default": "./dist/rollup/index.js"
|
41
42
|
},
|
42
43
|
"./cli.js": {
|
43
44
|
"source": "./src/cli.ts",
|
44
|
-
"
|
45
|
+
"require": "./dist/cli.cjs",
|
45
46
|
"default": "./dist/cli.js"
|
46
47
|
},
|
47
48
|
"./rollup.js": {
|
48
49
|
"source": "./src/rollup/index.ts",
|
49
|
-
"
|
50
|
+
"require": "./dist/rollup/index.cjs",
|
50
51
|
"default": "./dist/rollup/index.js"
|
51
52
|
}
|
52
53
|
},
|
@@ -71,7 +72,7 @@
|
|
71
72
|
"rollup-plugin-copy": "^3.5.0",
|
72
73
|
"rollup-plugin-esbuild": "^6.1.0",
|
73
74
|
"typescript": "^5.0.0",
|
74
|
-
"@jiek/pkger": "^0.
|
75
|
+
"@jiek/pkger": "^0.2.0",
|
75
76
|
"@jiek/utils": "^0.2.0"
|
76
77
|
},
|
77
78
|
"optionalDependencies": {
|
@@ -93,6 +94,6 @@
|
|
93
94
|
"postcss": "^8.4.47",
|
94
95
|
"rollup-plugin-postcss": "^4.0.2"
|
95
96
|
},
|
96
|
-
"main": "./dist/index.
|
97
|
-
"module": "./dist/index.
|
97
|
+
"main": "./dist/index.cjs",
|
98
|
+
"module": "./dist/index.js"
|
98
99
|
}
|
package/dist/cli.d.mts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"cli.d.mts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/cli.d.ts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|