jiek 0.2.1-alpha.2 → 0.2.2-alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. package/bin/jiek.js +8 -1
  2. package/dist/base.esm.d.ts +55 -0
  3. package/dist/cli.d.ts +2 -0
  4. package/dist/cli.esm.d.ts +2 -0
  5. package/dist/cli.esm.js +10 -0
  6. package/dist/cli.esm.js.map +1 -0
  7. package/dist/cli.esm.min.js +2 -0
  8. package/dist/cli.esm.min.js.map +1 -0
  9. package/dist/cli.iife.js +658 -0
  10. package/dist/cli.iife.js.map +1 -0
  11. package/dist/cli.iife.min.js +2 -0
  12. package/dist/cli.iife.min.js.map +1 -0
  13. package/dist/cli.umd.js +661 -0
  14. package/dist/cli.umd.js.map +1 -0
  15. package/dist/cli.umd.min.js +2 -0
  16. package/dist/cli.umd.min.js.map +1 -0
  17. package/dist/commands/build.esm.js +3 -4
  18. package/dist/commands/build.esm.js.map +1 -1
  19. package/dist/commands/build.esm.min.js +1 -1
  20. package/dist/commands/build.esm.min.js.map +1 -1
  21. package/dist/index.d.ts +56 -1
  22. package/dist/index.esm.d.ts +5 -1
  23. package/dist/index.esm.js +2 -8
  24. package/dist/index.esm.js.map +1 -1
  25. package/dist/index.esm.min.js +1 -1
  26. package/dist/index.esm.min.js.map +1 -1
  27. package/dist/index.iife.js +6 -653
  28. package/dist/index.iife.js.map +1 -1
  29. package/dist/index.iife.min.js +1 -1
  30. package/dist/index.iife.min.js.map +1 -1
  31. package/dist/index.umd.js +6 -655
  32. package/dist/index.umd.js.map +1 -1
  33. package/dist/index.umd.min.js +1 -1
  34. package/dist/index.umd.min.js.map +1 -1
  35. package/dist/utils/loadConfig.esm.js +1 -20
  36. package/dist/utils/loadConfig.esm.js.map +1 -1
  37. package/dist/utils/loadConfig.esm.min.js +1 -1
  38. package/dist/utils/loadConfig.esm.min.js.map +1 -1
  39. package/dist/utils/tsRegister.esm.js +24 -0
  40. package/dist/utils/tsRegister.esm.js.map +1 -0
  41. package/dist/utils/tsRegister.esm.min.js +2 -0
  42. package/dist/utils/tsRegister.esm.min.js.map +1 -0
  43. package/package.json +8 -3
  44. package/bin/jiek-dev.js +0 -4
@@ -1,658 +1,11 @@
1
- (function (fs, path, filterWorkspacePackages, commander, jsYaml, getWorkspaceDir, childProcess, pkger, detectIndent, inquirer, jsoncParser, micromatch, bumper, childProcess$1) {
2
- 'use strict';
1
+ var jiek = (function (exports) {
2
+ 'use strict';
3
3
 
4
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
4
+ const defineConfig = (config) => config;
5
5
 
6
- function _interopNamespace(e) {
7
- if (e && e.__esModule) return e;
8
- var n = Object.create(null);
9
- if (e) {
10
- Object.keys(e).forEach(function (k) {
11
- if (k !== 'default') {
12
- var d = Object.getOwnPropertyDescriptor(e, k);
13
- Object.defineProperty(n, k, d.get ? d : {
14
- enumerable: true,
15
- get: function () { return e[k]; }
16
- });
17
- }
18
- });
19
- }
20
- n.default = e;
21
- return Object.freeze(n);
22
- }
6
+ exports.defineConfig = defineConfig;
23
7
 
24
- var fs__default = /*#__PURE__*/_interopDefault(fs);
25
- var path__default = /*#__PURE__*/_interopDefault(path);
26
- var childProcess__namespace = /*#__PURE__*/_interopNamespace(childProcess);
27
- var detectIndent__default = /*#__PURE__*/_interopDefault(detectIndent);
28
- var inquirer__default = /*#__PURE__*/_interopDefault(inquirer);
29
- var childProcess__namespace$1 = /*#__PURE__*/_interopNamespace(childProcess$1);
8
+ return exports;
30
9
 
31
- let root;
32
- function getRoot() {
33
- if (root)
34
- return root;
35
- const rootOption = commander.program.getOptionValue("root");
36
- root = rootOption ? path__default.default.isAbsolute(rootOption) ? rootOption : path__default.default.resolve(process.cwd(), rootOption) : process.cwd();
37
- return root;
38
- }
39
-
40
- let wd;
41
- let notWorkspace = false;
42
- function getWD() {
43
- if (wd)
44
- return { wd, notWorkspace };
45
- const root = getRoot();
46
- try {
47
- wd = getWorkspaceDir.getWorkspaceDir(root, type);
48
- } catch (e) {
49
- if ("message" in e && e.message === "workspace root not found") {
50
- wd = root;
51
- notWorkspace = true;
52
- } else {
53
- throw e;
54
- }
55
- }
56
- return { wd, notWorkspace };
57
- }
58
-
59
- let type = "";
60
- try {
61
- require.resolve("@pnpm/filter-workspace-packages");
62
- type = "pnpm";
63
- } catch {
64
- }
65
- if (type !== "") {
66
- commander.program.option("-f, --filter <filter>", "filter packages");
67
- }
68
- async function getSelectedProjectsGraph() {
69
- let filter = commander.program.getOptionValue("filter");
70
- const root = getRoot();
71
- const { wd, notWorkspace } = getWD();
72
- if (!notWorkspace && type === "pnpm") {
73
- const pnpmWorkspaceFilePath = path__default.default.resolve(wd, "pnpm-workspace.yaml");
74
- const pnpmWorkspaceFileContent = fs__default.default.readFileSync(pnpmWorkspaceFilePath, "utf-8");
75
- const pnpmWorkspace = jsYaml.load(pnpmWorkspaceFileContent);
76
- if (root === wd && !filter) {
77
- throw new Error("root path is workspace root, please provide a filter");
78
- }
79
- if (root !== wd && !filter) {
80
- const packageJSONIsExist = fs__default.default.existsSync(path__default.default.resolve(root, "package.json"));
81
- if (!packageJSONIsExist) {
82
- throw new Error("root path is not workspace root, please provide a filter");
83
- }
84
- const packageJSON = JSON.parse(fs__default.default.readFileSync(path__default.default.resolve(root, "package.json"), "utf-8"));
85
- if (!packageJSON.name) {
86
- throw new Error("root path is not workspace root, please provide a filter");
87
- }
88
- filter = packageJSON.name;
89
- }
90
- const { selectedProjectsGraph } = await filterWorkspacePackages.filterPackagesFromDir(wd, [{
91
- filter: filter ?? "",
92
- followProdDepsOnly: true
93
- }], {
94
- prefix: root,
95
- workspaceDir: wd,
96
- patterns: pnpmWorkspace.packages
97
- });
98
- return {
99
- wd,
100
- root,
101
- value: Object.entries(selectedProjectsGraph).reduce((acc, [key, value]) => {
102
- acc[key] = value.package.manifest;
103
- return acc;
104
- }, {})
105
- };
106
- }
107
- return {
108
- wd,
109
- root,
110
- value: {
111
- [wd]: JSON.parse(fs__default.default.readFileSync(path__default.default.resolve(wd, "package.json"), "utf-8"))
112
- }
113
- };
114
- }
115
-
116
- let resolve;
117
- function actionDone() {
118
- resolve();
119
- }
120
- function actionRestore() {
121
- new Promise((r) => resolve = r);
122
- }
123
-
124
- function commondir(files, cwd = process.cwd()) {
125
- const resolvedFiles = files.map((file) => {
126
- if (path__default.default.isAbsolute(file))
127
- return file;
128
- return path__default.default.resolve(cwd, file);
129
- });
130
- const sep = "/";
131
- const [first = ""] = resolvedFiles;
132
- const parts = first.split(sep);
133
- let common = "";
134
- for (let i = 0; i < parts.length; i++) {
135
- const segment = parts[i];
136
- if (resolvedFiles.every((file) => file.startsWith(common + segment))) {
137
- common += segment + sep;
138
- } else {
139
- break;
140
- }
141
- }
142
- return common;
143
- }
144
-
145
- function mergePackageJson(manifest, cwd) {
146
- const {
147
- jiek: { cwd: _, ...jiek } = {}
148
- } = manifest;
149
- let { exports } = manifest;
150
- let includeIndex = false;
151
- if (typeof exports === "string") {
152
- includeIndex = true;
153
- exports = { ".": exports };
154
- }
155
- if (exports === void 0) {
156
- exports = { ".": "./src/index.ts" };
157
- }
158
- if (typeof exports === "object") {
159
- if (Array.isArray(exports) && exports.length > 0) {
160
- includeIndex = true;
161
- } else {
162
- includeIndex = !!exports["."];
163
- }
164
- }
165
- const inputs = Array.isArray(exports) ? exports : Object.entries(exports).reduce((acc, [key, value]) => {
166
- if (typeof value === "string")
167
- return key === "." ? [value, ...acc] : acc.concat(value);
168
- if (Array.isArray(value))
169
- return acc.concat(value);
170
- throw new TypeError(`Unexpected value type for key "${key}" in exports, expected string, got ${typeof value}`);
171
- }, []);
172
- if (inputs.length === 0)
173
- throw new Error("No inputs found");
174
- const absoluteInputs = inputs.map(
175
- (input) => path__default.default.isAbsolute(input) ? input : path__default.default.resolve(cwd, input)
176
- );
177
- let cDir = path__default.default.dirname(absoluteInputs[0]);
178
- if (absoluteInputs.length > 1) {
179
- cDir = commondir(absoluteInputs, cwd);
180
- }
181
- const resolvedInputs = absoluteInputs.map((input) => {
182
- return path__default.default.relative(cDir, input);
183
- });
184
- return {
185
- ...manifest,
186
- ...pkger.pkger({
187
- cwd,
188
- noIndex: !includeIndex,
189
- source: path__default.default.relative(cwd, cDir),
190
- inputs: resolvedInputs,
191
- ...jiek
192
- })
193
- };
194
- }
195
-
196
- const FILE_TEMPLATE = (manifest) => `
197
- const pkg = ${JSON.stringify(manifest, null, 2)}
198
- const { jiek = {} } = pkg
199
- const templateArg = jiek.templateArgFilePath
200
- ? require.resolve(jiek.templateArgFilePath)
201
- : {
202
- styled: jiek.styled
203
- }
204
- module.exports = require('jiek/rollup').template(templateArg, pkg)
205
- `.trimStart();
206
- commander.program.command("build").action(async () => {
207
- actionRestore();
208
- const {
209
- wd,
210
- value = {}
211
- } = await getSelectedProjectsGraph() ?? {};
212
- if (Object.keys(value).length === 0) {
213
- throw new Error("no package found");
214
- }
215
- const jiekTempDir = (...paths) => path__default.default.resolve(wd, "node_modules/.jiek", ...paths);
216
- if (!fs__default.default.existsSync(jiekTempDir()))
217
- fs__default.default.mkdirSync(jiekTempDir());
218
- const rollupBinaryPath = require.resolve("rollup").replace(/dist\/rollup.js$/, "dist/bin/rollup");
219
- let i = 0;
220
- for (const [dir, manifest] of Object.entries(value)) {
221
- const newManifest = mergePackageJson(manifest, dir);
222
- const escapeManifestName = manifest.name?.replace(/^@/g, "").replace(/\//g, "+");
223
- const configFile = jiekTempDir(
224
- `${escapeManifestName ?? `anonymous-${i++}`}.rollup.config.js`
225
- );
226
- fs__default.default.writeFileSync(configFile, FILE_TEMPLATE(newManifest));
227
- let prefix = "";
228
- if (process.env.NODE_ENV === "test") {
229
- const registerPath = require.resolve("esbuild-register");
230
- const loaderPath = require.resolve("esbuild-register/loader");
231
- prefix = `node --import ${registerPath} -r ${loaderPath} `;
232
- }
233
- childProcess__namespace.execSync(`${prefix}${rollupBinaryPath} -c ${configFile}`, {
234
- cwd: dir,
235
- stdio: "inherit"
236
- });
237
- }
238
- actionDone();
239
- });
240
-
241
- function packageIsExist(name) {
242
- try {
243
- require.resolve(name);
244
- return true;
245
- } catch (e) {
246
- console.log(e);
247
- return false;
248
- }
249
- }
250
- let tsRegisterName;
251
- const registers = [
252
- process.env.JIEK_TS_REGISTER,
253
- "esbuild-register"
254
- ].filter(Boolean);
255
- for (const register of registers) {
256
- if (packageIsExist(register)) {
257
- tsRegisterName = register;
258
- break;
259
- }
260
- }
261
- let configName = "jiek.config";
262
- function getConfigPath(root) {
263
- const isSupportTsLoader = !!tsRegisterName;
264
- function configWithExtIsExist(ext) {
265
- const filenames = [
266
- path__default.default.resolve(root, `${configName}.${ext}`),
267
- path__default.default.resolve(root, `.${configName}.${ext}`)
268
- ];
269
- for (const filename of filenames) {
270
- if (fs__default.default.existsSync(filename) && fs__default.default.lstatSync(filename).isFile()) {
271
- return filename;
272
- }
273
- }
274
- return;
275
- }
276
- configName = configWithExtIsExist("js") ?? configName;
277
- configName = configWithExtIsExist("json") ?? configName;
278
- configName = configWithExtIsExist("yaml") ?? configName;
279
- if (isSupportTsLoader) {
280
- configName = configWithExtIsExist("ts") ?? configName;
281
- }
282
- return path__default.default.resolve(root, configName);
283
- }
284
- function loadConfig() {
285
- const { wd: root, notWorkspace } = getWD();
286
- if (notWorkspace)
287
- throw new Error("not in workspace");
288
- let configPath = commander.program.getOptionValue("configPath");
289
- if (!configPath) {
290
- configPath = getConfigPath(root);
291
- } else {
292
- if (!fs__default.default.existsSync(configPath))
293
- throw new Error(`config file not found: ${configPath}`);
294
- if (!path__default.default.isAbsolute(configPath))
295
- configPath = path__default.default.resolve(root, configPath);
296
- }
297
- const ext = path__default.default.extname(configPath);
298
- let module;
299
- switch (ext) {
300
- case ".js":
301
- module = require(configPath);
302
- break;
303
- case ".json":
304
- return require(configPath);
305
- case ".yaml":
306
- return jsYaml.load(fs__default.default.readFileSync(configPath, "utf-8"));
307
- case ".ts":
308
- if (tsRegisterName) {
309
- require(tsRegisterName);
310
- module = require(configPath);
311
- break;
312
- }
313
- throw new Error(
314
- "ts config file is not supported without ts register, please install esbuild-register or set JIEK_TS_REGISTER env for custom ts register"
315
- );
316
- case ".config":
317
- module = {};
318
- break;
319
- default:
320
- throw new Error(`unsupported config file type: ${ext}`);
321
- }
322
- if (!module)
323
- throw new Error("config file is empty");
324
- return module.default ?? module;
325
- }
326
-
327
- const PACKAGE_JSON_TEMPLATE = `{
328
- "name": "",
329
- "version": "0.0.1",
330
- "description": "",
331
- "license": "",
332
- "author": "",
333
- "files": ["dist"],
334
- "exports": {
335
- ".": "./src/index.ts"
336
- },
337
- "scripts": {
338
- },
339
- "homepage": "",
340
- "repository": "",
341
- "bugs": ""
342
- }`.trimStart();
343
- const README_TEMPLATE = `# $name
344
-
345
- ## Installation
346
-
347
- \`\`\`bash
348
- npm install $name
349
- # or
350
- pnpm install $name
351
- # or
352
- yarn add $name
353
- \`\`\`
354
-
355
- ## Usage
356
-
357
-
358
- ## License
359
-
360
- $license
361
- `.trimStart();
362
- function getTemplateStr(wd, template) {
363
- let templateString = template ?? PACKAGE_JSON_TEMPLATE;
364
- let isTemplateFile = false;
365
- try {
366
- if (template)
367
- JSON.parse(template);
368
- } catch (e) {
369
- isTemplateFile = true;
370
- }
371
- if (isTemplateFile) {
372
- const templatePath = path__default.default.resolve(wd, template);
373
- templateString = fs__default.default.readFileSync(templatePath, "utf-8");
374
- }
375
- return templateString;
376
- }
377
- const wdCache = /* @__PURE__ */ new Map();
378
- function getWDPackageJSONFiled(wd, field) {
379
- if (wdCache.has(wd)) {
380
- return wdCache.get(wd)[field];
381
- }
382
- const packageJSONPath = path__default.default.resolve(wd, "package.json");
383
- const packageJSON = JSON.parse(fs__default.default.readFileSync(packageJSONPath, "utf-8"));
384
- wdCache.set(wd, packageJSON);
385
- return packageJSON[field];
386
- }
387
- async function getName(named, name, {
388
- wd,
389
- cwd,
390
- workspaceName
391
- }) {
392
- const relativePath = cwd.replace(`${wd}/`, "");
393
- let basename = path__default.default.basename(cwd);
394
- if (typeof named === "function") {
395
- return named(name, {
396
- full: wd,
397
- relative: cwd
398
- });
399
- }
400
- let isParentMatched = false;
401
- let matchedKey;
402
- let matchedRule;
403
- if (typeof named === "object") {
404
- const isWD = cwd === wd;
405
- if (isWD) {
406
- const { rule } = await inquirer__default.default.prompt({
407
- type: "list",
408
- name: "rule",
409
- message: "choose a rule",
410
- default: "default",
411
- choices: ["default"].concat(Object.keys(named))
412
- });
413
- if (rule !== "default") {
414
- matchedKey = rule;
415
- matchedRule = named[rule];
416
- }
417
- } else
418
- for (const [key, value] of Object.entries(named)) {
419
- if (micromatch.isMatch(relativePath, key)) {
420
- matchedKey = key;
421
- matchedRule = value;
422
- break;
423
- }
424
- if (micromatch.isMatch(`${relativePath}/jiek_ignore_dont_use_same_file_name`, key)) {
425
- isParentMatched = true;
426
- matchedKey = key;
427
- matchedRule = value;
428
- break;
429
- }
430
- }
431
- }
432
- if (!matchedRule) {
433
- matchedKey = "packages/*";
434
- matchedRule = `@${workspaceName}/$basename`;
435
- }
436
- if (!matchedRule)
437
- throw new Error("no matched rule");
438
- if (!name && isParentMatched) {
439
- basename = await inquirer__default.default.prompt({
440
- type: "input",
441
- name: "name",
442
- message: `the matched rule is \`${String(matchedRule)}\`, please input the basename
443
- `
444
- }).then(({ name: name2 }) => name2);
445
- }
446
- if (typeof matchedRule === "function") {
447
- return matchedRule(name, {
448
- full: wd,
449
- relative: cwd,
450
- basename
451
- });
452
- }
453
- if (typeof matchedRule === "string") {
454
- const dirName = name ?? basename;
455
- return [
456
- matchedRule.replace(/\$basename/g, dirName),
457
- matchedKey?.replace(/\/\*$/g, `/${dirName}`)
458
- ];
459
- }
460
- throw new Error("no matched rule");
461
- }
462
- commander.program.command("init [name]").option("-t, --template <template>", "the package.json template file path or file content").action(async () => {
463
- const [, name] = commander.program.args;
464
- const cwd = process.cwd();
465
- const { init = {} } = loadConfig() ?? {};
466
- const { wd } = getWD();
467
- const workspaceName = path__default.default.basename(wd);
468
- const {
469
- named,
470
- template,
471
- bug = {},
472
- readme: _readme = README_TEMPLATE,
473
- readmeTemplate
474
- } = init;
475
- const resolvedBug = {
476
- template: "bug_report.yml",
477
- labels: ["bug"],
478
- ...bug
479
- };
480
- let readme = _readme;
481
- if (readmeTemplate) {
482
- const readmeTemplatePath = path__default.default.resolve(wd, readmeTemplate);
483
- readme = fs__default.default.readFileSync(readmeTemplatePath, "utf-8");
484
- }
485
- const templateString = getTemplateStr(wd, template);
486
- const { indent = " " } = detectIndent__default.default(templateString);
487
- const formattingOptions = {
488
- tabSize: indent.length,
489
- insertSpaces: true
490
- };
491
- const passFields = [
492
- "license",
493
- "author"
494
- ];
495
- let newJSONString = templateString;
496
- for (const field of passFields) {
497
- newJSONString = jsoncParser.applyEdits(newJSONString, jsoncParser.modify(
498
- newJSONString,
499
- [field],
500
- getWDPackageJSONFiled(wd, field),
501
- { formattingOptions }
502
- ));
503
- }
504
- let [pkgName, pkgDir] = await getName(named, name, {
505
- wd,
506
- cwd,
507
- workspaceName
508
- });
509
- if (!pkgDir) {
510
- const { dir } = await inquirer__default.default.prompt({
511
- type: "input",
512
- name: "dir",
513
- message: "package directory",
514
- default: name
515
- });
516
- pkgDir = dir;
517
- }
518
- if (!pkgName) {
519
- const { name: inputName } = await inquirer__default.default.prompt({
520
- type: "input",
521
- name: "name",
522
- message: "package name",
523
- default: name
524
- });
525
- pkgName = inputName;
526
- }
527
- newJSONString = jsoncParser.applyEdits(newJSONString, jsoncParser.modify(newJSONString, ["name"], pkgName, { formattingOptions }));
528
- let pkgRepo = getWDPackageJSONFiled(wd, "repository");
529
- if (typeof pkgRepo === "string") {
530
- pkgRepo = {
531
- type: "git",
532
- url: pkgRepo,
533
- directory: pkgDir
534
- };
535
- }
536
- newJSONString = jsoncParser.applyEdits(newJSONString, jsoncParser.modify(
537
- newJSONString,
538
- ["repository"],
539
- pkgRepo,
540
- { formattingOptions }
541
- ));
542
- const homepage = `${pkgRepo?.url}/blob/master/${pkgDir}/README.md`;
543
- newJSONString = jsoncParser.applyEdits(newJSONString, jsoncParser.modify(
544
- newJSONString,
545
- ["homepage"],
546
- homepage,
547
- { formattingOptions }
548
- ));
549
- let labels = resolvedBug.labels;
550
- if (typeof labels === "function")
551
- labels = labels({
552
- name: pkgName,
553
- dir: pkgDir
554
- });
555
- labels.push(`scope:${pkgName}`);
556
- const bugs = `${pkgRepo?.url}/issues/new?template=${resolvedBug.template}&labels=${labels.join(",")}`;
557
- newJSONString = jsoncParser.applyEdits(newJSONString, jsoncParser.modify(
558
- newJSONString,
559
- ["bugs"],
560
- bugs,
561
- { formattingOptions }
562
- ));
563
- function pkgDirTo(to) {
564
- if (!pkgDir)
565
- throw new Error("pkgDir is not defined");
566
- return path__default.default.resolve(pkgDir, to);
567
- }
568
- if (!fs__default.default.existsSync(pkgDir))
569
- fs__default.default.mkdirSync(pkgDir);
570
- const pkgJSONFilePath = pkgDirTo("package.json");
571
- if (fs__default.default.existsSync(pkgJSONFilePath)) {
572
- throw new Error("package.json already exists");
573
- }
574
- fs__default.default.writeFileSync(pkgJSONFilePath, newJSONString);
575
- console.log(newJSONString, "written to", pkgJSONFilePath);
576
- const license = getWDPackageJSONFiled(wd, "license");
577
- const readmeFilePath = pkgDirTo("README.md");
578
- if (typeof readme === "function") {
579
- readme = readme({
580
- dir: pkgDir,
581
- packageJson: JSON.parse(newJSONString)
582
- });
583
- }
584
- const readmeContent = readme.replace(/\$name/g, pkgName).replace(/\$license/g, license);
585
- fs__default.default.writeFileSync(readmeFilePath, readmeContent);
586
- });
587
-
588
- commander.program.command("publish").aliases(["pub", "p"]).option("-b, --bumper <bumper>", "bump version", "patch").option("-p, --preview", "preview publish").action(async ({ preview, bumper: bumper$1, ...options }) => {
589
- actionRestore();
590
- const { value = {} } = await getSelectedProjectsGraph() ?? {};
591
- const selectedProjectsGraphEntries = Object.entries(value);
592
- if (selectedProjectsGraphEntries.length === 0) {
593
- throw new Error("no packages selected");
594
- }
595
- const mainfests = selectedProjectsGraphEntries.map(([dir, manifest]) => [
596
- dir,
597
- mergePackageJson(manifest, dir)
598
- ]);
599
- const passArgs = Object.entries(options).reduce((acc, [key, value2]) => {
600
- if (value2) {
601
- acc.push(`--${key}`, value2);
602
- }
603
- return acc;
604
- }, []);
605
- for (const [dir, manifest] of mainfests) {
606
- const oldJSONString = fs__default.default.readFileSync(path__default.default.join(dir, "package.json"), "utf-8");
607
- const oldJSON = JSON.parse(oldJSONString) ?? "0.0.0";
608
- const newVersion = bumper.bump(oldJSON.version, bumper$1);
609
- const { indent = " " } = detectIndent__default.default(oldJSONString);
610
- const formattingOptions = {
611
- tabSize: indent.length,
612
- insertSpaces: true
613
- };
614
- let newJSONString = oldJSONString;
615
- newJSONString = jsoncParser.applyEdits(newJSONString, jsoncParser.modify(
616
- newJSONString,
617
- ["version"],
618
- newVersion,
619
- { formattingOptions }
620
- ));
621
- for (const [key, value2] of Object.entries(manifest)) {
622
- if (JSON.stringify(value2) === JSON.stringify(oldJSON[key]))
623
- continue;
624
- newJSONString = jsoncParser.applyEdits(newJSONString, jsoncParser.modify(
625
- newJSONString,
626
- ["publishConfig", key],
627
- value2,
628
- { formattingOptions }
629
- ));
630
- }
631
- try {
632
- fs__default.default.renameSync(path__default.default.join(dir, "package.json"), path__default.default.join(dir, "package.json.bak"));
633
- fs__default.default.writeFileSync(path__default.default.join(dir, "package.json"), newJSONString);
634
- console.log(newJSONString);
635
- if (preview) {
636
- console.warn("preview mode");
637
- continue;
638
- }
639
- childProcess__namespace$1.execSync(["pnpm", "publish", "--access", "public", "--no-git-checks", ...passArgs].join(" "), {
640
- cwd: dir,
641
- stdio: "inherit"
642
- });
643
- const modifyVersionPackageJSON = jsoncParser.applyEdits(oldJSONString, jsoncParser.modify(oldJSONString, ["version"], newVersion, {}));
644
- fs__default.default.writeFileSync(path__default.default.join(dir, "package.json.bak"), modifyVersionPackageJSON);
645
- } finally {
646
- fs__default.default.unlinkSync(path__default.default.join(dir, "package.json"));
647
- fs__default.default.renameSync(path__default.default.join(dir, "package.json.bak"), path__default.default.join(dir, "package.json"));
648
- }
649
- }
650
- actionDone();
651
- });
652
-
653
- const pkg = require("../package.json");
654
- commander.program.version(pkg.version).description(pkg.description).option("--root <root>", "root path").option("-c, --config-path <configPath>", "config path");
655
- commander.program.parse(process.argv);
656
-
657
- })(fs, path, filterWorkspacePackages, commander, jsYaml, getWorkspaceDir, childProcess, pkger, detectIndent, inquirer, jsoncParser, micromatch, bumper, childProcess$1);
10
+ })({});
658
11
  //# sourceMappingURL=index.iife.js.map