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
@@ -1,31 +1,35 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
var fs = require('node:fs');
|
4
|
+
var path = require('node:path');
|
5
|
+
var entrypoints = require('@jiek/pkger/entrypoints');
|
6
|
+
var rollupPluginDts = require('@jiek/rollup-plugin-dts');
|
7
|
+
var getWorkspaceDir = require('@jiek/utils/getWorkspaceDir');
|
8
|
+
var json = require('@rollup/plugin-json');
|
9
|
+
var pluginNodeResolve = require('@rollup/plugin-node-resolve');
|
10
|
+
var terser = require('@rollup/plugin-terser');
|
11
|
+
var execa = require('execa');
|
12
|
+
var jsoncParser = require('jsonc-parser');
|
13
|
+
var micromatch = require('micromatch');
|
14
|
+
var esbuild = require('rollup-plugin-esbuild');
|
15
|
+
var ts = require('typescript');
|
16
|
+
var commander = require('commander');
|
17
|
+
var jsYaml = require('js-yaml');
|
18
|
+
require('@pnpm/filter-workspace-packages');
|
17
19
|
|
18
20
|
const intersection = (a, b) => new Set([...a].filter((i) => b.has(i)));
|
19
21
|
function getExports({
|
20
|
-
entrypoints,
|
22
|
+
entrypoints: entrypoints$1,
|
21
23
|
pkgIsModule,
|
22
24
|
entries,
|
23
25
|
config,
|
24
26
|
dir,
|
25
|
-
noFilter
|
27
|
+
noFilter,
|
28
|
+
withSource,
|
29
|
+
withSuffix
|
26
30
|
}) {
|
27
|
-
const dirResolve = (...paths) => resolve(dir ?? process.cwd(), ...paths);
|
28
|
-
const dirRelative = (path) => relative(dir ?? process.cwd(), path);
|
31
|
+
const dirResolve = (...paths) => path.resolve(dir ?? process.cwd(), ...paths);
|
32
|
+
const dirRelative = (path$1) => path.relative(dir ?? process.cwd(), path$1);
|
29
33
|
const { build = {} } = config ?? {};
|
30
34
|
const {
|
31
35
|
crossModuleConvertor = true
|
@@ -33,21 +37,21 @@ function getExports({
|
|
33
37
|
const jsOutdir = `./${dirRelative(dirResolve(
|
34
38
|
(typeof build?.output?.dir === "object" ? build.output.dir.js : build?.output?.dir) ?? "dist"
|
35
39
|
))}`;
|
36
|
-
const [, resolvedEntrypoints] = resolveEntrypoints(entrypoints);
|
40
|
+
const [, resolvedEntrypoints] = entrypoints.resolveEntrypoints(entrypoints$1);
|
37
41
|
if (entries) {
|
38
42
|
Object.entries(resolvedEntrypoints).forEach(([key]) => {
|
39
|
-
if (!entries.some((e) => isMatch(key, e, { matchBase: true }))) {
|
43
|
+
if (!entries.some((e) => micromatch.isMatch(key, e, { matchBase: true }))) {
|
40
44
|
delete resolvedEntrypoints[key];
|
41
45
|
}
|
42
46
|
});
|
43
47
|
}
|
44
|
-
const filteredResolvedEntrypoints = noFilter ? resolvedEntrypoints : filterLeafs(
|
48
|
+
const filteredResolvedEntrypoints = noFilter ? resolvedEntrypoints : entrypoints.filterLeafs(
|
45
49
|
resolvedEntrypoints,
|
46
50
|
{
|
47
51
|
skipValue: [
|
48
52
|
// ignore values that filename starts with `.jk-noentry`
|
49
53
|
/(^|\/)\.jk-noentry/,
|
50
|
-
...DEFAULT_SKIP_VALUES
|
54
|
+
...entrypoints.DEFAULT_SKIP_VALUES
|
51
55
|
]
|
52
56
|
}
|
53
57
|
);
|
@@ -63,8 +67,10 @@ function getExports({
|
|
63
67
|
} : {};
|
64
68
|
return [
|
65
69
|
filteredResolvedEntrypoints,
|
66
|
-
entrypoints2Exports(filteredResolvedEntrypoints, {
|
70
|
+
entrypoints.entrypoints2Exports(filteredResolvedEntrypoints, {
|
67
71
|
outdir: jsOutdir,
|
72
|
+
withSource,
|
73
|
+
withSuffix,
|
68
74
|
withConditional: {
|
69
75
|
...crossModuleWithConditional
|
70
76
|
}
|
@@ -76,7 +82,7 @@ let root;
|
|
76
82
|
function getRoot() {
|
77
83
|
if (root)
|
78
84
|
return root;
|
79
|
-
const rootOption = program.getOptionValue("root");
|
85
|
+
const rootOption = commander.program.getOptionValue("root");
|
80
86
|
root = rootOption ? path.isAbsolute(rootOption) ? rootOption : path.resolve(process.cwd(), rootOption) : void 0;
|
81
87
|
return root;
|
82
88
|
}
|
@@ -88,7 +94,7 @@ try {
|
|
88
94
|
} catch {
|
89
95
|
}
|
90
96
|
if (type !== "") {
|
91
|
-
program.option("-f, --filter <filter>", "filter packages");
|
97
|
+
commander.program.option("-f, --filter <filter>", "filter packages");
|
92
98
|
}
|
93
99
|
|
94
100
|
let wd;
|
@@ -98,13 +104,13 @@ function getWD() {
|
|
98
104
|
return { wd, notWorkspace };
|
99
105
|
const root = getRoot();
|
100
106
|
if (root !== void 0) {
|
101
|
-
const isWorkspace = isWorkspaceDir(root, type);
|
107
|
+
const isWorkspace = getWorkspaceDir.isWorkspaceDir(root, type);
|
102
108
|
notWorkspace = !isWorkspace;
|
103
109
|
wd = root;
|
104
110
|
return { wd, notWorkspace };
|
105
111
|
}
|
106
112
|
try {
|
107
|
-
wd = getWorkspaceDir(type);
|
113
|
+
wd = getWorkspaceDir.getWorkspaceDir(type);
|
108
114
|
} catch (e) {
|
109
115
|
if ("message" in e && e.message === "workspace root not found") {
|
110
116
|
wd = root;
|
@@ -171,7 +177,7 @@ function getConfigPath(root, dir) {
|
|
171
177
|
}
|
172
178
|
function loadConfig(dir) {
|
173
179
|
const { wd: root } = getWD();
|
174
|
-
let configPath = program.getOptionValue("configPath");
|
180
|
+
let configPath = commander.program.getOptionValue("configPath");
|
175
181
|
if (!configPath) {
|
176
182
|
configPath = getConfigPath(root, dir);
|
177
183
|
} else {
|
@@ -191,7 +197,7 @@ function loadConfig(dir) {
|
|
191
197
|
case ".json":
|
192
198
|
return require(configPath);
|
193
199
|
case ".yaml":
|
194
|
-
return load(fs.readFileSync(configPath, "utf-8"));
|
200
|
+
return jsYaml.load(fs.readFileSync(configPath, "utf-8"));
|
195
201
|
case ".ts":
|
196
202
|
if (tsRegisterName) {
|
197
203
|
require(tsRegisterName);
|
@@ -260,21 +266,21 @@ const {
|
|
260
266
|
JIEK_ROOT,
|
261
267
|
JIEK_ENTRIES
|
262
268
|
} = process.env;
|
263
|
-
const WORKSPACE_ROOT = JIEK_ROOT ?? getWorkspaceDir();
|
269
|
+
const WORKSPACE_ROOT = JIEK_ROOT ?? getWorkspaceDir.getWorkspaceDir();
|
264
270
|
const COMMON_OPTIONS = {};
|
265
271
|
const COMMON_PLUGINS = [
|
266
272
|
json()
|
267
273
|
];
|
268
274
|
const config = loadConfig() ?? {};
|
269
275
|
const { build = {} } = config;
|
270
|
-
const jsOutdir = `./${relative(
|
276
|
+
const jsOutdir = `./${path.relative(
|
271
277
|
process.cwd(),
|
272
|
-
resolve(
|
278
|
+
path.resolve(
|
273
279
|
(typeof build?.output?.dir === "object" ? build.output.dir.js : build?.output?.dir) ?? "dist"
|
274
280
|
)
|
275
281
|
)}`;
|
276
282
|
const STYLE_REGEXP = /\.(css|s[ac]ss|less|styl)$/;
|
277
|
-
const resolveWorkspacePath = (p) => resolve(WORKSPACE_ROOT, p);
|
283
|
+
const resolveWorkspacePath = (p) => path.resolve(WORKSPACE_ROOT, p);
|
278
284
|
const pascalCase = (str) => str.replace(/[@|/-](\w)/g, (_, $1) => $1.toUpperCase()).replace(/(?:^|-)(\w)/g, (_, $1) => $1.toUpperCase());
|
279
285
|
const reveal = (obj, keys) => keys.reduce((acc, key) => {
|
280
286
|
if (typeof acc === "string")
|
@@ -303,12 +309,12 @@ const withMinify = (output, minify = build?.output?.minify) => minify === false
|
|
303
309
|
]
|
304
310
|
}
|
305
311
|
];
|
306
|
-
const getTSConfig = (p) => !fs.existsSync(p) || !fs.statSync(p).isFile() ? {} : parse(fs.readFileSync(p, "utf-8"), [], { allowTrailingComma: true, allowEmptyContent: true });
|
312
|
+
const getTSConfig = (p) => !fs.existsSync(p) || !fs.statSync(p).isFile() ? {} : jsoncParser.parse(fs.readFileSync(p, "utf-8"), [], { allowTrailingComma: true, allowEmptyContent: true });
|
307
313
|
const getExtendTSConfig = (tsconfigPath) => {
|
308
|
-
tsconfigPath = resolve(tsconfigPath);
|
309
|
-
const tsconfigPathDirname = dirname(tsconfigPath);
|
314
|
+
tsconfigPath = path.resolve(tsconfigPath);
|
315
|
+
const tsconfigPathDirname = path.dirname(tsconfigPath);
|
310
316
|
const { extends: exts, ...tsconfig } = getTSConfig(tsconfigPath);
|
311
|
-
const resolvePaths = (paths) => paths?.map((p) => resolve(tsconfigPathDirname, p)) ?? [];
|
317
|
+
const resolvePaths = (paths) => paths?.map((p) => path.resolve(tsconfigPathDirname, p)) ?? [];
|
312
318
|
const extendsPaths = resolvePaths(
|
313
319
|
exts ? Array.isArray(exts) ? exts : [exts] : []
|
314
320
|
);
|
@@ -324,11 +330,11 @@ const getExtendTSConfig = (tsconfigPath) => {
|
|
324
330
|
}), tsconfig);
|
325
331
|
};
|
326
332
|
const getCompilerOptionsByFilePath = (tsconfigPath, filePath) => {
|
327
|
-
tsconfigPath = resolve(tsconfigPath);
|
328
|
-
filePath = resolve(filePath);
|
329
|
-
const tsconfigPathDirname = dirname(tsconfigPath);
|
333
|
+
tsconfigPath = path.resolve(tsconfigPath);
|
334
|
+
filePath = path.resolve(filePath);
|
335
|
+
const tsconfigPathDirname = path.dirname(tsconfigPath);
|
330
336
|
const tsconfig = getExtendTSConfig(tsconfigPath);
|
331
|
-
const resolvePaths = (paths) => paths?.map((p) => resolve(tsconfigPathDirname, p)) ?? [];
|
337
|
+
const resolvePaths = (paths) => paths?.map((p) => path.resolve(tsconfigPathDirname, p)) ?? [];
|
332
338
|
const [
|
333
339
|
references,
|
334
340
|
files,
|
@@ -340,13 +346,13 @@ const getCompilerOptionsByFilePath = (tsconfigPath, filePath) => {
|
|
340
346
|
tsconfig.include,
|
341
347
|
tsconfig.exclude
|
342
348
|
].map(resolvePaths);
|
343
|
-
if (exclude.length > 0 && exclude.some((i) => isMatch(filePath, i)))
|
349
|
+
if (exclude.length > 0 && exclude.some((i) => micromatch.isMatch(filePath, i)))
|
344
350
|
return;
|
345
351
|
if (tsconfig.files?.length === 0 && tsconfig.include?.length === 0)
|
346
352
|
return;
|
347
353
|
let isInclude = false;
|
348
354
|
isInclude || (isInclude = files.length > 0 && files.includes(filePath));
|
349
|
-
isInclude || (isInclude = include.length > 0 && include.some((i) => isMatch(filePath, i)));
|
355
|
+
isInclude || (isInclude = include.length > 0 && include.some((i) => micromatch.isMatch(filePath, i)));
|
350
356
|
if (isInclude) {
|
351
357
|
return tsconfig.compilerOptions ?? {};
|
352
358
|
} else {
|
@@ -362,7 +368,7 @@ const getCompilerOptionsByFilePath = (tsconfigPath, filePath) => {
|
|
362
368
|
return tsconfig.compilerOptions;
|
363
369
|
};
|
364
370
|
const generateConfigs = ({
|
365
|
-
path,
|
371
|
+
path: path$1,
|
366
372
|
name,
|
367
373
|
input,
|
368
374
|
output,
|
@@ -385,10 +391,10 @@ const generateConfigs = ({
|
|
385
391
|
});
|
386
392
|
let compilerOptions = {};
|
387
393
|
if (dtsTSConfigPath) {
|
388
|
-
const jsonCompilerOptions = getCompilerOptionsByFilePath(dtsTSConfigPath, resolve(input));
|
394
|
+
const jsonCompilerOptions = getCompilerOptionsByFilePath(dtsTSConfigPath, path.resolve(input));
|
389
395
|
const { options: options2, errors } = ts.convertCompilerOptionsFromJson(
|
390
396
|
jsonCompilerOptions,
|
391
|
-
dirname(dtsTSConfigPath)
|
397
|
+
path.dirname(dtsTSConfigPath)
|
392
398
|
);
|
393
399
|
if (errors.length > 0) {
|
394
400
|
throw new Error(errors.map((e) => e.messageText).join("\n"));
|
@@ -398,7 +404,7 @@ const generateConfigs = ({
|
|
398
404
|
const exportConditions = [...conditionals, ...compilerOptions.customConditions ?? []];
|
399
405
|
const throughEventProps = {
|
400
406
|
type: "progress",
|
401
|
-
data: { name, path, exportConditions, input }
|
407
|
+
data: { name, path: path$1, exportConditions, input }
|
402
408
|
};
|
403
409
|
const outdir = options?.output?.dir;
|
404
410
|
return [
|
@@ -415,16 +421,16 @@ const generateConfigs = ({
|
|
415
421
|
})
|
416
422
|
],
|
417
423
|
plugins: [
|
418
|
-
nodeResolve({ exportConditions }),
|
424
|
+
pluginNodeResolve.nodeResolve({ exportConditions }),
|
419
425
|
import('rollup-plugin-postcss').then(
|
420
426
|
({ default: postcss }) => postcss({
|
421
|
-
extract: resolve(output.replace(/\.[cm]?js$/, ".css")),
|
427
|
+
extract: path.resolve(output.replace(/\.[cm]?js$/, ".css")),
|
422
428
|
minimize: true
|
423
429
|
})
|
424
430
|
).catch(() => void 0),
|
425
431
|
esbuild(),
|
426
432
|
progress({
|
427
|
-
onEvent: (event, message) => sendMessage(
|
433
|
+
onEvent: (event, message) => execa.sendMessage(
|
428
434
|
{
|
429
435
|
...throughEventProps,
|
430
436
|
data: { ...throughEventProps.data, event, message, tags: ["js"] }
|
@@ -438,21 +444,21 @@ const generateConfigs = ({
|
|
438
444
|
external,
|
439
445
|
output: [
|
440
446
|
{
|
441
|
-
dir: resolve((typeof outdir === "object" ? outdir.dts : outdir) ?? "dist"),
|
447
|
+
dir: path.resolve((typeof outdir === "object" ? outdir.dts : outdir) ?? "dist"),
|
442
448
|
sourcemap: typeof options?.output?.sourcemap === "object" ? options.output.sourcemap.dts : options?.output?.sourcemap,
|
443
449
|
entryFileNames: () => output.replace(`${jsOutdir}/`, "").replace(/(\.[cm]?)js$/, ".d$1ts"),
|
444
450
|
strict: typeof options?.output?.strict === "object" ? options.output.strict.dts : options?.output?.strict
|
445
451
|
}
|
446
452
|
],
|
447
453
|
plugins: [
|
448
|
-
nodeResolve({ exportConditions }),
|
454
|
+
pluginNodeResolve.nodeResolve({ exportConditions }),
|
449
455
|
skip({ patterns: [STYLE_REGEXP] }),
|
450
|
-
dts({
|
456
|
+
rollupPluginDts.dts({
|
451
457
|
respectExternal: true,
|
452
458
|
compilerOptions
|
453
459
|
}),
|
454
460
|
progress({
|
455
|
-
onEvent: (event, message) => sendMessage(
|
461
|
+
onEvent: (event, message) => execa.sendMessage(
|
456
462
|
{
|
457
463
|
...throughEventProps,
|
458
464
|
data: { ...throughEventProps.data, event, message, tags: ["dts"] }
|
@@ -464,11 +470,11 @@ const generateConfigs = ({
|
|
464
470
|
];
|
465
471
|
};
|
466
472
|
function template(packageJSON) {
|
467
|
-
const { name, type, exports: entrypoints } = packageJSON;
|
473
|
+
const { name, type, exports: entrypoints$1 } = packageJSON;
|
468
474
|
const pkgIsModule = type === "module";
|
469
475
|
if (!name)
|
470
476
|
throw new Error("package.json name is required");
|
471
|
-
if (!entrypoints)
|
477
|
+
if (!entrypoints$1)
|
472
478
|
throw new Error("package.json exports is required");
|
473
479
|
const entries = JIEK_ENTRIES?.split(",").map((e) => e.trim()).map((e) => ({
|
474
480
|
"index": "."
|
@@ -476,13 +482,13 @@ function template(packageJSON) {
|
|
476
482
|
const packageName = pascalCase(name);
|
477
483
|
const external = externalResolver(packageJSON);
|
478
484
|
const [filteredResolvedEntrypoints, exports] = getExports({
|
479
|
-
entrypoints,
|
485
|
+
entrypoints: entrypoints$1,
|
480
486
|
pkgIsModule,
|
481
487
|
entries,
|
482
488
|
config
|
483
489
|
});
|
484
490
|
const leafMap = /* @__PURE__ */ new Map();
|
485
|
-
getAllLeafs(filteredResolvedEntrypoints, ({ keys, value }) => {
|
491
|
+
entrypoints.getAllLeafs(filteredResolvedEntrypoints, ({ keys, value }) => {
|
486
492
|
if (typeof value === "string") {
|
487
493
|
const keysArr = leafMap.get(value) ?? [];
|
488
494
|
leafMap.set(value, keysArr);
|
@@ -513,7 +519,7 @@ function template(packageJSON) {
|
|
513
519
|
break;
|
514
520
|
}
|
515
521
|
case "object": {
|
516
|
-
getAllLeafs(keyExports, ({ keys: nextKeys, value }) => {
|
522
|
+
entrypoints.getAllLeafs(keyExports, ({ keys: nextKeys, value }) => {
|
517
523
|
const allConditionals = [.../* @__PURE__ */ new Set([...conditionals, ...nextKeys])];
|
518
524
|
if (typeof value === "string") {
|
519
525
|
configs.push(...generateConfigs({
|
@@ -529,7 +535,7 @@ function template(packageJSON) {
|
|
529
535
|
}
|
530
536
|
})
|
531
537
|
);
|
532
|
-
sendMessage(
|
538
|
+
execa.sendMessage(
|
533
539
|
{
|
534
540
|
type: "init",
|
535
541
|
data: {
|
@@ -548,4 +554,4 @@ function template(packageJSON) {
|
|
548
554
|
}));
|
549
555
|
}
|
550
556
|
|
551
|
-
|
557
|
+
exports.template = template;
|