jiek 0.4.7-alpha.3 → 0.4.7-alpha.4
Sign up to get free protection for your applications and to get access to all the features.
- package/bin/jiek.js +9 -6
- 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 +11 -10
- 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;
|