@build-script/package-tools 0.0.6 → 0.0.8
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/lib/commands/detect-package-change.d.ts +5 -5
- package/lib/commands/detect-package-change.d.ts.map +1 -1
- package/lib/commands/detect-package-change.js +4 -4
- package/lib/commands/detect-package-change.js.map +1 -1
- package/lib/commands/monorepo-bump-version.d.ts +5 -5
- package/lib/commands/monorepo-bump-version.d.ts.map +1 -1
- package/lib/commands/monorepo-bump-version.js +6 -7
- package/lib/commands/monorepo-bump-version.js.map +1 -1
- package/lib/commands/monorepo-cnpm-sync.d.ts +4 -4
- package/lib/commands/monorepo-cnpm-sync.d.ts.map +1 -1
- package/lib/commands/monorepo-cnpm-sync.js +3 -3
- package/lib/commands/monorepo-cnpm-sync.js.map +1 -1
- package/lib/commands/monorepo-invalid.d.ts +4 -4
- package/lib/commands/monorepo-invalid.d.ts.map +1 -1
- package/lib/commands/monorepo-invalid.js +2 -2
- package/lib/commands/monorepo-invalid.js.map +1 -1
- package/lib/commands/monorepo-link-binaries.d.ts +7 -5
- package/lib/commands/monorepo-link-binaries.d.ts.map +1 -1
- package/lib/commands/monorepo-link-binaries.js +14 -9
- package/lib/commands/monorepo-link-binaries.js.map +1 -1
- package/lib/commands/monorepo-list.d.ts +5 -5
- package/lib/commands/monorepo-list.d.ts.map +1 -1
- package/lib/commands/monorepo-list.js +3 -2
- package/lib/commands/monorepo-list.js.map +1 -1
- package/lib/commands/monorepo-publish.d.ts +5 -5
- package/lib/commands/monorepo-publish.d.ts.map +1 -1
- package/lib/commands/monorepo-publish.js +11 -7
- package/lib/commands/monorepo-publish.js.map +1 -1
- package/lib/commands/monorepo-tsconfig.d.ts +6 -5
- package/lib/commands/monorepo-tsconfig.d.ts.map +1 -1
- package/lib/commands/monorepo-tsconfig.js +8 -5
- package/lib/commands/monorepo-tsconfig.js.map +1 -1
- package/lib/commands/monorepo-upgrade.d.ts +4 -4
- package/lib/commands/monorepo-upgrade.d.ts.map +1 -1
- package/lib/commands/monorepo-upgrade.js +3 -4
- package/lib/commands/monorepo-upgrade.js.map +1 -1
- package/lib/commands/run-if-version-mismatch.d.ts +9 -7
- package/lib/commands/run-if-version-mismatch.d.ts.map +1 -1
- package/lib/commands/run-if-version-mismatch.js +22 -11
- package/lib/commands/run-if-version-mismatch.js.map +1 -1
- package/lib/commands/sync-my-readme.d.ts +4 -4
- package/lib/commands/sync-my-readme.d.ts.map +1 -1
- package/lib/commands/sync-my-readme.js +1 -1
- package/lib/commands/sync-my-readme.js.map +1 -1
- package/lib/commands/test.d.ts +12 -5
- package/lib/commands/test.d.ts.map +1 -1
- package/lib/commands/test.js +14 -1
- package/lib/commands/test.js.map +1 -1
- package/lib/{command-file-map.generated.d.ts → commands.generated.d.ts} +4 -3
- package/lib/commands.generated.d.ts.map +1 -0
- package/lib/commands.generated.js +234 -0
- package/lib/commands.generated.js.map +1 -0
- package/lib/common/cache/native.npm.js +1 -1
- package/lib/common/cache/native.npm.js.map +1 -1
- package/lib/common/functions/cli.d.ts +4 -74
- package/lib/common/functions/cli.d.ts.map +1 -1
- package/lib/common/functions/cli.js +12 -94
- package/lib/common/functions/cli.js.map +1 -1
- package/lib/common/git/git.js +1 -1
- package/lib/common/git/git.js.map +1 -1
- package/lib/common/package-manager/driver.abstract.js +1 -1
- package/lib/common/package-manager/driver.abstract.js.map +1 -1
- package/lib/common/package-manager/driver.pnpm.js +1 -1
- package/lib/common/package-manager/driver.pnpm.js.map +1 -1
- package/lib/common/package-manager/functions.d.ts.map +1 -1
- package/lib/common/package-manager/functions.js +2 -1
- package/lib/common/package-manager/functions.js.map +1 -1
- package/lib/common/package-manager/package-json.d.ts.map +1 -1
- package/lib/common/package-manager/package-json.js +2 -1
- package/lib/common/package-manager/package-json.js.map +1 -1
- package/lib/common/package-manager/proxy.js +1 -1
- package/lib/common/package-manager/proxy.js.map +1 -1
- package/lib/common/shared-jobs/clear-cache.js +1 -1
- package/lib/common/shared-jobs/clear-cache.js.map +1 -1
- package/lib/common/shared-jobs/cnpm-sync.js +2 -2
- package/lib/common/shared-jobs/cnpm-sync.js.map +1 -1
- package/lib/common/shared-jobs/detect-change-job.js +1 -1
- package/lib/common/shared-jobs/detect-change-job.js.map +1 -1
- package/lib/common/shared-jobs/publish-package-version-job.js +1 -1
- package/lib/common/shared-jobs/publish-package-version-job.js.map +1 -1
- package/lib/common/taball/decompress.js +1 -1
- package/lib/common/taball/decompress.js.map +1 -1
- package/lib/common/taball/file-download.js +1 -1
- package/lib/common/taball/file-download.js.map +1 -1
- package/lib/common/temp-work-folder.d.ts +1 -1
- package/lib/common/temp-work-folder.js +1 -1
- package/lib/common/temp-work-folder.js.map +1 -1
- package/lib/common/version.generated.d.ts +1 -1
- package/lib/common/version.generated.js +1 -1
- package/lib/main.d.ts +2 -1
- package/lib/main.d.ts.map +1 -1
- package/lib/main.js +12 -114
- package/lib/main.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/load.js +1 -8
- package/package.json +15 -13
- package/src/command-file-map.generator.ts +6 -19
- package/src/commands/detect-package-change.ts +7 -7
- package/src/commands/monorepo-bump-version.ts +10 -11
- package/src/commands/monorepo-cnpm-sync.ts +6 -6
- package/src/commands/monorepo-invalid.ts +5 -5
- package/src/commands/monorepo-link-binaries.ts +17 -12
- package/src/commands/monorepo-list.ts +7 -6
- package/src/commands/monorepo-publish.ts +14 -11
- package/src/commands/monorepo-tsconfig.ts +11 -8
- package/src/commands/monorepo-upgrade.ts +6 -7
- package/src/commands/run-if-version-mismatch.ts +26 -15
- package/src/commands/sync-my-readme.ts +5 -5
- package/src/commands/test.ts +19 -5
- package/src/commands.generated.ts +235 -0
- package/src/common/cache/native.npm.ts +1 -1
- package/src/common/functions/cli.ts +12 -127
- package/src/common/git/git.ts +1 -1
- package/src/common/package-manager/driver.abstract.ts +1 -1
- package/src/common/package-manager/driver.pnpm.ts +1 -1
- package/src/common/package-manager/functions.ts +2 -1
- package/src/common/package-manager/package-json.ts +2 -1
- package/src/common/package-manager/proxy.ts +1 -1
- package/src/common/shared-jobs/clear-cache.ts +1 -1
- package/src/common/shared-jobs/cnpm-sync.ts +2 -2
- package/src/common/shared-jobs/detect-change-job.ts +1 -1
- package/src/common/shared-jobs/publish-package-version-job.ts +1 -1
- package/src/common/taball/decompress.ts +1 -1
- package/src/common/taball/file-download.ts +1 -1
- package/src/common/temp-work-folder.ts +1 -1
- package/src/common/version.generated.ts +1 -1
- package/src/main.ts +12 -129
- package/lib/command-file-map.generated.d.ts.map +0 -1
- package/lib/command-file-map.generated.js +0 -28
- package/lib/command-file-map.generated.js.map +0 -1
- package/src/command-file-map.generated.ts +0 -29
package/load.js
CHANGED
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
const { install } = await import('source-map-support');
|
|
5
|
-
install();
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
import { registerNodejsExitHandler } from '@idlebox/node';
|
|
9
|
-
|
|
10
|
-
registerNodejsExitHandler();
|
|
3
|
+
import '@idlebox/source-map-support/register';
|
|
11
4
|
|
|
12
5
|
await import('./lib/main.js');
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@build-script/package-tools",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.8",
|
|
5
|
+
"description": "A Node.js package managing tool",
|
|
5
6
|
"bin": {
|
|
6
7
|
"package-tools": "./load.js",
|
|
7
8
|
"njspkg": "./load.js"
|
|
@@ -18,17 +19,16 @@
|
|
|
18
19
|
"pacote": "^21.0.0",
|
|
19
20
|
"semver": "^7.7.2",
|
|
20
21
|
"split-cmd": "^1.1.0",
|
|
21
|
-
"source-map-support": "^0.5.21",
|
|
22
22
|
"targz": "^1.0.1",
|
|
23
23
|
"tiny-async-pool": "^2.1.0",
|
|
24
|
-
"@build-script/monorepo-lib": "^0.0.
|
|
25
|
-
"@idlebox/
|
|
26
|
-
"@idlebox/
|
|
27
|
-
"@idlebox/
|
|
24
|
+
"@build-script/monorepo-lib": "^0.0.6",
|
|
25
|
+
"@idlebox/ensure-symlink": "^1.0.37",
|
|
26
|
+
"@idlebox/cli": "^0.0.1",
|
|
27
|
+
"@idlebox/dependency-graph": "^0.0.6",
|
|
28
|
+
"@idlebox/node": "^1.4.12",
|
|
29
|
+
"@idlebox/common": "^1.4.19",
|
|
28
30
|
"@idlebox/json-edit": "^0.0.5",
|
|
29
|
-
"@idlebox/
|
|
30
|
-
"@idlebox/node": "^1.4.11",
|
|
31
|
-
"@idlebox/logger": "^0.0.6"
|
|
31
|
+
"@idlebox/source-map-support": "^0.0.5"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@rushstack/heft": "^0.74.0",
|
|
@@ -41,11 +41,13 @@
|
|
|
41
41
|
"@types/targz": "^1.0.5",
|
|
42
42
|
"@types/tiny-async-pool": "^2.0.3",
|
|
43
43
|
"@types/tinycolor2": "^1.4.6",
|
|
44
|
-
"@build-script/codegen": "^1.0.
|
|
45
|
-
"@build-script/single-dog-asset": "^1.0.
|
|
46
|
-
"@
|
|
47
|
-
"@
|
|
44
|
+
"@build-script/codegen": "^1.0.7",
|
|
45
|
+
"@build-script/single-dog-asset": "^1.0.39",
|
|
46
|
+
"@internal/local-rig": "^1.0.1",
|
|
47
|
+
"@idlebox/cli-static-generator": "^0.0.1",
|
|
48
|
+
"@mpis/run": "^0.0.7"
|
|
48
49
|
},
|
|
50
|
+
"sideEffects": false,
|
|
49
51
|
"license": "MIT",
|
|
50
52
|
"author": "GongT <admin@gongt.me>",
|
|
51
53
|
"repository": "https://github.com/GongT/baobao",
|
|
@@ -1,23 +1,10 @@
|
|
|
1
1
|
import type { GenerateContext } from '@build-script/codegen';
|
|
2
|
-
import {
|
|
3
|
-
import { resolve } from 'node:path';
|
|
2
|
+
import { makeIndexFile } from '@idlebox/cli/builder';
|
|
4
3
|
|
|
5
4
|
export async function generate(ctx: GenerateContext) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
if (!name.endsWith('.ts')) {
|
|
12
|
-
continue;
|
|
13
|
-
}
|
|
14
|
-
const parts = name.split('.');
|
|
15
|
-
if (parts.length !== 2) {
|
|
16
|
-
throw new Error(`Invalid command file name: ${name}`);
|
|
17
|
-
}
|
|
18
|
-
const cmdName = parts[0];
|
|
19
|
-
const file = `./commands/${cmdName}.js`;
|
|
20
|
-
map[cmdName] = file;
|
|
21
|
-
}
|
|
22
|
-
return `export default ${JSON.stringify(map, null, '\t')} as const;\n`;
|
|
5
|
+
ctx.watchFiles(`${__dirname}/commands/*.ts`);
|
|
6
|
+
ctx.watchFiles(`${__dirname}/commands`);
|
|
7
|
+
|
|
8
|
+
const content = await makeIndexFile(__dirname, ['commands/*.ts']);
|
|
9
|
+
ctx.file('commands.ts').append(content);
|
|
23
10
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createWorkspaceOrPackage } from '@build-script/monorepo-lib';
|
|
2
|
-
import { logger } from '@idlebox/
|
|
2
|
+
import { argv, CommandDefine, logger } from '@idlebox/cli';
|
|
3
3
|
import { printLine } from '@idlebox/node';
|
|
4
|
-
import {
|
|
4
|
+
import { isJsonOutput } from '../common/functions/cli.js';
|
|
5
5
|
import { PackageManagerUsageKind } from '../common/package-manager/driver.abstract.js';
|
|
6
6
|
import { increaseVersion } from '../common/package-manager/package-json.js';
|
|
7
7
|
import { createPackageManager } from '../common/package-manager/package-manager.js';
|
|
@@ -10,16 +10,16 @@ import { executeChangeDetect } from '../common/shared-jobs/detect-change-job.js'
|
|
|
10
10
|
process.env.COREPACK_ENABLE_STRICT = '0';
|
|
11
11
|
|
|
12
12
|
export class Command extends CommandDefine {
|
|
13
|
-
protected override _usage =
|
|
14
|
-
protected override _description = '本地运行npm pack并与npm上的最新版本对比差异';
|
|
15
|
-
protected override _help = '';
|
|
16
|
-
protected override _arguments = {
|
|
13
|
+
protected override readonly _usage = '';
|
|
14
|
+
protected override readonly _description = '本地运行npm pack并与npm上的最新版本对比差异';
|
|
15
|
+
protected override readonly _help = '';
|
|
16
|
+
protected override readonly _arguments = {
|
|
17
17
|
'--bump': { flag: true, description: '当发现更改时更新package.json,增加版本号0.0.1' },
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
export async function main() {
|
|
22
|
-
const autoInc = argv.flag('--bump');
|
|
22
|
+
const autoInc = argv.flag(['--bump']);
|
|
23
23
|
|
|
24
24
|
const workspace = await createWorkspaceOrPackage();
|
|
25
25
|
const pm = await createPackageManager(PackageManagerUsageKind.Read, workspace);
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import { createWorkspace, type IPackageInfo, type MonorepoWorkspace } from '@build-script/monorepo-lib';
|
|
2
|
+
import { argv, CommandDefine, CSI, logger } from '@idlebox/cli';
|
|
2
3
|
import { humanDate } from '@idlebox/common';
|
|
3
4
|
import { Job, JobGraphBuilder } from '@idlebox/dependency-graph';
|
|
4
|
-
import { logger } from '@idlebox/logger';
|
|
5
5
|
import { makeRe } from 'minimatch';
|
|
6
|
-
import { argv, CommandDefine, CSI } from '../common/functions/cli.js';
|
|
7
6
|
import { PackageManagerUsageKind } from '../common/package-manager/driver.abstract.js';
|
|
8
7
|
import { increaseVersion } from '../common/package-manager/package-json.js';
|
|
9
8
|
import { createPackageManager } from '../common/package-manager/package-manager.js';
|
|
10
9
|
import { executeChangeDetect } from '../common/shared-jobs/detect-change-job.js';
|
|
11
10
|
|
|
12
11
|
export class Command extends CommandDefine {
|
|
13
|
-
protected override _usage = ``;
|
|
14
|
-
protected override _description = '在monorepo中按照依赖顺序分别运行detect-package-change';
|
|
15
|
-
protected override _help = '';
|
|
16
|
-
protected override _arguments = {
|
|
12
|
+
protected override readonly _usage = ``;
|
|
13
|
+
protected override readonly _description = '在monorepo中按照依赖顺序分别运行detect-package-change';
|
|
14
|
+
protected override readonly _help = '';
|
|
15
|
+
protected override readonly _arguments = {
|
|
17
16
|
'--skip': { flag: false, description: '跳过前N-1个包(从第N个包开始运行)' },
|
|
18
17
|
'--allow-private': { flag: true, description: '即使private=true也执行' },
|
|
19
18
|
'--exclude': { flag: false, description: '排除指定的包' },
|
|
@@ -82,7 +81,7 @@ class BumpVersionJob extends Job<void> {
|
|
|
82
81
|
}
|
|
83
82
|
|
|
84
83
|
function options() {
|
|
85
|
-
const excludes = argv.multiple('--exclude');
|
|
84
|
+
const excludes = argv.multiple(['--exclude']);
|
|
86
85
|
let excludeReg: RegExp | undefined;
|
|
87
86
|
if (excludes.length > 0) {
|
|
88
87
|
const regTxt = [];
|
|
@@ -96,15 +95,15 @@ function options() {
|
|
|
96
95
|
excludeReg = new RegExp(`^(${regTxt.join('|')})$`);
|
|
97
96
|
}
|
|
98
97
|
|
|
99
|
-
const skip = Number.parseInt(argv.single('--skip') || '0');
|
|
98
|
+
const skip = Number.parseInt(argv.single(['--skip']) || '0');
|
|
100
99
|
if (Number.isNaN(skip)) {
|
|
101
100
|
throw new Error('skip 不是数字');
|
|
102
101
|
}
|
|
103
102
|
|
|
104
|
-
const force = argv.flag('--force') > 0;
|
|
105
|
-
const always = !force && argv.flag('--always') > 0;
|
|
103
|
+
const force = argv.flag(['--force']) > 0;
|
|
104
|
+
const always = !force && argv.flag(['--always']) > 0;
|
|
106
105
|
|
|
107
|
-
const allowPrivate = argv.flag('--allow-private') > 0;
|
|
106
|
+
const allowPrivate = argv.flag(['--allow-private']) > 0;
|
|
108
107
|
|
|
109
108
|
if (argv.unused().length > 0) {
|
|
110
109
|
logger.fatal`未知参数: ${argv.unused().join(', ')}`;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { createWorkspace } from '@build-script/monorepo-lib';
|
|
2
|
-
import { argv } from '@idlebox/
|
|
3
|
-
import {
|
|
2
|
+
import { argv, CommandDefine } from '@idlebox/cli';
|
|
3
|
+
import { isQuiet, pDesc } from '../common/functions/cli.js';
|
|
4
4
|
import { PackageManagerUsageKind } from '../common/package-manager/driver.abstract.js';
|
|
5
5
|
import { createPackageManager } from '../common/package-manager/package-manager.js';
|
|
6
6
|
import { clearNpmMetaCache } from '../common/shared-jobs/clear-cache.js';
|
|
7
7
|
import { cnpmSyncNames } from '../common/shared-jobs/cnpm-sync.js';
|
|
8
8
|
|
|
9
9
|
export class Command extends CommandDefine {
|
|
10
|
-
protected override _usage = '';
|
|
11
|
-
protected override _description = '调用cnpm sync命令';
|
|
12
|
-
protected override _help = pDesc('需要在PATH中存在cnpm命令');
|
|
10
|
+
protected override readonly _usage = '';
|
|
11
|
+
protected override readonly _description = '调用cnpm sync命令';
|
|
12
|
+
protected override readonly _help = pDesc('需要在PATH中存在cnpm命令');
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
export async function main() {
|
|
16
16
|
const workspace = await createWorkspace();
|
|
17
17
|
const list = await workspace.listPackages();
|
|
18
18
|
|
|
19
|
-
const dry = argv.flag('--dry') > 0;
|
|
19
|
+
const dry = argv.flag(['--dry']) > 0;
|
|
20
20
|
|
|
21
21
|
const names = list
|
|
22
22
|
.filter((e) => {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { createWorkspace } from '@build-script/monorepo-lib';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { CommandDefine } from '@idlebox/cli';
|
|
3
|
+
import { logger } from '@idlebox/cli';
|
|
4
4
|
import { PackageManagerUsageKind } from '../common/package-manager/driver.abstract.js';
|
|
5
5
|
import { createPackageManager } from '../common/package-manager/package-manager.js';
|
|
6
6
|
|
|
7
7
|
export class Command extends CommandDefine {
|
|
8
|
-
protected override _usage = '';
|
|
9
|
-
protected override _description = '从npm缓存中删除关于本monorepo的数据,以便安装最新版本';
|
|
10
|
-
protected override _help = '';
|
|
8
|
+
protected override readonly _usage = '';
|
|
9
|
+
protected override readonly _description = '从npm缓存中删除关于本monorepo的数据,以便安装最新版本';
|
|
10
|
+
protected override readonly _help = '';
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export async function main() {
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { createWorkspace, type MonorepoWorkspace } from '@build-script/monorepo-lib';
|
|
2
|
-
import { argv } from '@idlebox/
|
|
2
|
+
import { argv } from '@idlebox/cli';
|
|
3
|
+
import { CommandDefine } from '@idlebox/cli';
|
|
3
4
|
import type { DeepReadonly, IPackageJson } from '@idlebox/common';
|
|
4
5
|
import { ensureLinkTargetSync } from '@idlebox/ensure-symlink';
|
|
5
|
-
import { logger } from '@idlebox/
|
|
6
|
+
import { logger } from '@idlebox/cli';
|
|
6
7
|
import { relativePath } from '@idlebox/node';
|
|
7
8
|
import { readFileSync } from 'node:fs';
|
|
8
9
|
import { basename, resolve } from 'node:path';
|
|
9
|
-
import { CommandDefine, pArgS } from '../common/functions/cli.js';
|
|
10
10
|
|
|
11
11
|
export class Command extends CommandDefine {
|
|
12
|
-
protected override _usage =
|
|
13
|
-
protected override _description = '将monorepo中每个项目的bins连接到当前项目的 ./node_modules/.bin';
|
|
14
|
-
protected override _help = '存在bin同名时,monorepo项目优先于npm包';
|
|
15
|
-
protected override _arguments = {
|
|
12
|
+
protected override readonly _usage = '';
|
|
13
|
+
protected override readonly _description = '将monorepo中每个项目的bins连接到当前项目的 ./node_modules/.bin';
|
|
14
|
+
protected override readonly _help = '存在bin同名时,monorepo项目优先于npm包';
|
|
15
|
+
protected override readonly _arguments = {
|
|
16
16
|
'--from': {
|
|
17
|
+
usage: true,
|
|
17
18
|
flag: false,
|
|
18
19
|
description: '将<value>视为各个项目的直接依赖 (必须是至少一个项目的依赖,否则找不到)',
|
|
19
20
|
},
|
|
@@ -21,7 +22,11 @@ export class Command extends CommandDefine {
|
|
|
21
22
|
flag: false,
|
|
22
23
|
description: '将<value>的所有直接依赖视为此项目的直接依赖',
|
|
23
24
|
},
|
|
24
|
-
'--recursive': {
|
|
25
|
+
'--recursive': {
|
|
26
|
+
usage: true,
|
|
27
|
+
flag: true,
|
|
28
|
+
description: '在每个项目中运行,而非当前项目',
|
|
29
|
+
},
|
|
25
30
|
};
|
|
26
31
|
}
|
|
27
32
|
|
|
@@ -37,7 +42,7 @@ interface IJobContext {
|
|
|
37
42
|
}
|
|
38
43
|
|
|
39
44
|
export async function main() {
|
|
40
|
-
const recursiveMode = argv.flag('--recursive') > 0;
|
|
45
|
+
const recursiveMode = argv.flag(['--recursive']) > 0;
|
|
41
46
|
|
|
42
47
|
const workspace = await createWorkspace();
|
|
43
48
|
|
|
@@ -48,8 +53,8 @@ export async function main() {
|
|
|
48
53
|
localPackages.push(pkg.packageJson.name);
|
|
49
54
|
}
|
|
50
55
|
|
|
51
|
-
const additionalPackages = new Set(argv.multiple('--from'));
|
|
52
|
-
for (const projectName of argv.multiple('--transparent')) {
|
|
56
|
+
const additionalPackages = new Set(argv.multiple(['--from']));
|
|
57
|
+
for (const projectName of argv.multiple(['--transparent'])) {
|
|
53
58
|
const proj = await workspace.getPackage(projectName);
|
|
54
59
|
if (!proj) {
|
|
55
60
|
throw new Error(`missing transparent project: ${projectName}`);
|
|
@@ -100,7 +105,7 @@ async function execute(ctx: IJobContext) {
|
|
|
100
105
|
}
|
|
101
106
|
}
|
|
102
107
|
|
|
103
|
-
const dry = argv.flag('--dry') > 0;
|
|
108
|
+
const dry = argv.flag(['--dry']) > 0;
|
|
104
109
|
const bindir = resolve(ctx.packageRoot, 'node_modules/.bin');
|
|
105
110
|
for (const [name, target] of final) {
|
|
106
111
|
const link = `${bindir}/${name}`;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { createWorkspace } from '@build-script/monorepo-lib';
|
|
2
|
-
import { argv, CommandDefine
|
|
2
|
+
import { argv, CommandDefine } from '@idlebox/cli';
|
|
3
|
+
import { isJsonOutput, isVerbose, pArgS } from '../common/functions/cli.js';
|
|
3
4
|
|
|
4
5
|
export class Command extends CommandDefine {
|
|
5
|
-
protected override _usage = `${pArgS('--verbose')} ${pArgS('--json')} ${pArgS('--relative')}`;
|
|
6
|
-
protected override _description = '列出所有项目目录';
|
|
7
|
-
protected override _help = '';
|
|
8
|
-
protected override _arguments = {
|
|
6
|
+
protected override readonly _usage = `${pArgS('--verbose')} ${pArgS('--json')} ${pArgS('--relative')}`;
|
|
7
|
+
protected override readonly _description = '列出所有项目目录';
|
|
8
|
+
protected override readonly _help = '';
|
|
9
|
+
protected override readonly _arguments = {
|
|
9
10
|
'--verbose': { flag: true, description: '列出所有信息,而不仅是目录' },
|
|
10
11
|
'--json': { flag: true, description: '输出json(同时使--verbose和--relative无效)' },
|
|
11
12
|
'--relative': { flag: true, description: '输出相对路径(相对于monorepo根目录)' },
|
|
@@ -16,7 +17,7 @@ export async function main() {
|
|
|
16
17
|
const repo = await createWorkspace();
|
|
17
18
|
const list = await repo.listPackages();
|
|
18
19
|
|
|
19
|
-
const isRelative = argv.flag('--relative') > 0;
|
|
20
|
+
const isRelative = argv.flag(['--relative']) > 0;
|
|
20
21
|
|
|
21
22
|
if (isJsonOutput) {
|
|
22
23
|
console.log(
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { createWorkspace, normalizePackageName, type IPackageInfo, type MonorepoWorkspace } from '@build-script/monorepo-lib';
|
|
2
|
+
import { argv, CommandDefine, CSI, logger } from '@idlebox/cli';
|
|
2
3
|
import { Emitter, prettyPrintError } from '@idlebox/common';
|
|
3
4
|
import { Job, JobGraphBuilder } from '@idlebox/dependency-graph';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { commandInPath, emptyDir, writeFileIfChange } from '@idlebox/node';
|
|
6
|
+
import { existsSync } from 'node:fs';
|
|
7
|
+
import { copyFile } from 'node:fs/promises';
|
|
7
8
|
import { resolve } from 'node:path';
|
|
8
|
-
import {
|
|
9
|
+
import { pArgS } from '../common/functions/cli.js';
|
|
9
10
|
import { PackageManagerUsageKind } from '../common/package-manager/driver.abstract.js';
|
|
10
11
|
import { increaseVersion } from '../common/package-manager/package-json.js';
|
|
11
12
|
import { createPackageManager } from '../common/package-manager/package-manager.js';
|
|
@@ -14,10 +15,10 @@ import { cnpmSyncNames } from '../common/shared-jobs/cnpm-sync.js';
|
|
|
14
15
|
import { executeChangeDetect } from '../common/shared-jobs/detect-change-job.js';
|
|
15
16
|
|
|
16
17
|
export class Command extends CommandDefine {
|
|
17
|
-
protected override _usage = `${pArgS('--debug')} ${pArgS('--dry')}`;
|
|
18
|
-
protected override _description = '在monorepo中按照依赖顺序发布修改过的包';
|
|
19
|
-
protected override _help = '';
|
|
20
|
-
protected override _arguments = {
|
|
18
|
+
protected override readonly _usage = `${pArgS('--debug')} ${pArgS('--dry')}`;
|
|
19
|
+
protected override readonly _description = '在monorepo中按照依赖顺序发布修改过的包';
|
|
20
|
+
protected override readonly _help = '';
|
|
21
|
+
protected override readonly _arguments = {
|
|
21
22
|
'--debug': { flag: true, description: '详细输出模式' },
|
|
22
23
|
'--dry': { flag: true, description: '仅检查修改,不发布(仍会修改version字段)' },
|
|
23
24
|
'--private': { flag: false, description: '即使private=true也执行' },
|
|
@@ -116,7 +117,7 @@ class BuildPackageJob extends Job<void> {
|
|
|
116
117
|
}
|
|
117
118
|
|
|
118
119
|
function options() {
|
|
119
|
-
const dryRun = argv.flag('--dry') > 0;
|
|
120
|
+
const dryRun = argv.flag(['--dry']) > 0;
|
|
120
121
|
|
|
121
122
|
return {
|
|
122
123
|
dryRun: dryRun,
|
|
@@ -202,9 +203,11 @@ export async function main() {
|
|
|
202
203
|
const pm = await createPackageManager(PackageManagerUsageKind.Write, workspace, temp);
|
|
203
204
|
const npmrc = workspace.getNpmRCPath(true);
|
|
204
205
|
if (existsSync(npmrc)) {
|
|
205
|
-
|
|
206
|
+
await copyFile(npmrc, resolve(temp, '.npmrc'));
|
|
207
|
+
} else {
|
|
208
|
+
logger.warn`npmrc文件不存在 (long<${npmrc}>)`;
|
|
206
209
|
}
|
|
207
|
-
|
|
210
|
+
await writeFileIfChange(resolve(temp, 'package.json'), '{}');
|
|
208
211
|
|
|
209
212
|
const w = packageToPublish.length.toFixed(0).length;
|
|
210
213
|
const published: string[] = [];
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import { createWorkspace, type IPackageInfo } from '@build-script/monorepo-lib';
|
|
2
|
+
import { argv, CommandDefine, logger } from '@idlebox/cli';
|
|
2
3
|
import { resolveExportPath } from '@idlebox/common';
|
|
3
4
|
import { loadJsonFile, writeJsonFile, writeJsonFileBack } from '@idlebox/json-edit';
|
|
4
|
-
import { logger } from '@idlebox/logger';
|
|
5
5
|
import { relativePath } from '@idlebox/node';
|
|
6
6
|
import { existsSync } from 'node:fs';
|
|
7
7
|
import { dirname, resolve } from 'node:path';
|
|
8
|
-
import { argv, CommandDefine, pArgS } from '../common/functions/cli.js';
|
|
9
8
|
|
|
10
9
|
export class Command extends CommandDefine {
|
|
11
|
-
protected override _usage =
|
|
12
|
-
protected override _description = '为所有项目的 tsconfig.json 添加 references 字段';
|
|
13
|
-
protected override _help = `查找tsconfig.json和src/tsconfig.json\n 如果不在这里,可以在package.json中设置exports['./tsconfig.json'] = './xxxx'`;
|
|
14
|
-
protected override _arguments = {
|
|
15
|
-
'--dev': {
|
|
10
|
+
protected override readonly _usage = '';
|
|
11
|
+
protected override readonly _description = '为所有项目的 tsconfig.json 添加 references 字段';
|
|
12
|
+
protected override readonly _help = `查找tsconfig.json和src/tsconfig.json\n 如果不在这里,可以在package.json中设置exports['./tsconfig.json'] = './xxxx'`;
|
|
13
|
+
protected override readonly _arguments = {
|
|
14
|
+
'--dev': {
|
|
15
|
+
usage: true,
|
|
16
|
+
flag: true,
|
|
17
|
+
description: '也将devDependencies中的包添加到references中',
|
|
18
|
+
},
|
|
16
19
|
};
|
|
17
20
|
}
|
|
18
21
|
|
|
@@ -23,7 +26,7 @@ interface IReference {
|
|
|
23
26
|
}
|
|
24
27
|
|
|
25
28
|
export async function main() {
|
|
26
|
-
const includeDev = argv.flag('--dev') > 0;
|
|
29
|
+
const includeDev = argv.flag(['--dev']) > 0;
|
|
27
30
|
|
|
28
31
|
const repo = await createWorkspace();
|
|
29
32
|
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
import { createWorkspace, type IPackageInfo } from '@build-script/monorepo-lib';
|
|
2
|
+
import { argv, CommandDefine, logger } from '@idlebox/cli';
|
|
2
3
|
import { loadJsonFile, writeJsonFileBack } from '@idlebox/json-edit';
|
|
3
|
-
import { logger } from '@idlebox/logger';
|
|
4
4
|
import { resolve } from 'node:path';
|
|
5
|
-
import { argv, CommandDefine } from '../common/functions/cli.js';
|
|
6
5
|
import { PackageManagerUsageKind } from '../common/package-manager/driver.abstract.js';
|
|
7
6
|
import { resolveNpm, splitAliasVersion, splitPackageSpecSimple } from '../common/package-manager/functions.js';
|
|
8
7
|
import { createPackageManager } from '../common/package-manager/package-manager.js';
|
|
9
8
|
|
|
10
9
|
export class Command extends CommandDefine {
|
|
11
|
-
protected override _usage = '';
|
|
12
|
-
protected override _description = '更新monorepo中各个项目的所有依赖版本';
|
|
13
|
-
protected override _help = '被更新的包必须没有或者用^作为前缀';
|
|
10
|
+
protected override readonly _usage = '';
|
|
11
|
+
protected override readonly _description = '更新monorepo中各个项目的所有依赖版本';
|
|
12
|
+
protected override readonly _help = '被更新的包必须没有或者用^作为前缀';
|
|
14
13
|
}
|
|
15
14
|
|
|
16
15
|
export async function main() {
|
|
17
|
-
const dryRun = argv.flag('--dry') > 0;
|
|
18
|
-
const skipUpdate = argv.flag('--skip-update') > 0;
|
|
16
|
+
const dryRun = argv.flag(['--dry']) > 0;
|
|
17
|
+
const skipUpdate = argv.flag(['--skip-update']) > 0;
|
|
19
18
|
|
|
20
19
|
const workspace = await createWorkspace();
|
|
21
20
|
const packageManager = await createPackageManager(PackageManagerUsageKind.Read, workspace);
|
|
@@ -1,32 +1,43 @@
|
|
|
1
1
|
import { createWorkspace } from '@build-script/monorepo-lib';
|
|
2
|
-
import type {
|
|
3
|
-
import { logger } from '@idlebox/
|
|
2
|
+
import type { ArgumentTypings } from '@idlebox/cli';
|
|
3
|
+
import { CommandDefine, logger } from '@idlebox/cli';
|
|
4
4
|
import { checkChildProcessResult } from '@idlebox/node';
|
|
5
5
|
import { execa } from 'execa';
|
|
6
6
|
import { lt } from 'semver';
|
|
7
7
|
import { CacheMode } from '../common/cache/native.npm.js';
|
|
8
|
-
import {
|
|
8
|
+
import { distTagInput } from '../common/functions/cli.js';
|
|
9
9
|
import { PackageManagerUsageKind } from '../common/package-manager/driver.abstract.js';
|
|
10
10
|
import { createPackageManager } from '../common/package-manager/package-manager.js';
|
|
11
11
|
|
|
12
12
|
process.env.COREPACK_ENABLE_STRICT = '0';
|
|
13
13
|
|
|
14
14
|
export class Command extends CommandDefine {
|
|
15
|
-
protected override _usage =
|
|
16
|
-
protected override _description = '如果版本号改变,则运行命令';
|
|
17
|
-
protected override _help =
|
|
18
|
-
注意: 命令行中的"
|
|
15
|
+
protected override readonly _usage = `\x1B[38;5;9m--\x1B[0m command to run`;
|
|
16
|
+
protected override readonly _description = '如果版本号改变,则运行命令';
|
|
17
|
+
protected override readonly _help = `如果package.json中的version与npm上的版本(latest)不一致,则运行命令
|
|
18
|
+
注意: 命令行中的"\x1B[38;5;9m--\x1B[0m"是必须的
|
|
19
19
|
`;
|
|
20
|
-
protected override _arguments = {
|
|
21
|
-
'--no-cache': {
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
protected override readonly _arguments = {
|
|
21
|
+
'--no-cache': {
|
|
22
|
+
usage: true,
|
|
23
|
+
flag: true,
|
|
24
|
+
description: '禁用缓存',
|
|
25
|
+
},
|
|
26
|
+
'--flush': {
|
|
27
|
+
usage: true,
|
|
28
|
+
flag: true,
|
|
29
|
+
description: '程序成功退出时自动删除npm缓存',
|
|
30
|
+
},
|
|
31
|
+
'--newer': {
|
|
32
|
+
flag: true,
|
|
33
|
+
description: '只有在本地版本号大于远程版本号时才运行(默认只要不同就运行)',
|
|
34
|
+
},
|
|
24
35
|
};
|
|
25
36
|
}
|
|
26
|
-
export async function main(argv: IArgsReaderApi) {
|
|
27
|
-
const noCache = argv.flag('--no-cache') > 0;
|
|
28
|
-
const flushCache = argv.flag('--flush') > 0;
|
|
29
|
-
const onlyNewer = argv.flag('--newer') > 0;
|
|
37
|
+
export async function main(argv: ArgumentTypings.IArgsReaderApi) {
|
|
38
|
+
const noCache = argv.flag(['--no-cache']) > 0;
|
|
39
|
+
const flushCache = argv.flag(['--flush']) > 0;
|
|
40
|
+
const onlyNewer = argv.flag(['--newer']) > 0;
|
|
30
41
|
|
|
31
42
|
const commands = argv.unused();
|
|
32
43
|
if (commands.length === 0 || !process.argv.includes('--')) {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
+
import { CommandDefine } from '@idlebox/cli';
|
|
1
2
|
import { findUpUntilSync, writeFileIfChangeSync } from '@idlebox/node';
|
|
2
3
|
import { execaNode } from 'execa';
|
|
3
4
|
import { readFileSync } from 'node:fs';
|
|
4
|
-
import { CommandDefine } from '../common/functions/cli.js';
|
|
5
5
|
|
|
6
6
|
export class Command extends CommandDefine {
|
|
7
|
-
protected override _usage = '';
|
|
8
|
-
protected override _description = '内部开发命令';
|
|
9
|
-
protected override _help = '';
|
|
10
|
-
public
|
|
7
|
+
protected override readonly _usage = '';
|
|
8
|
+
protected override readonly _description = '内部开发命令';
|
|
9
|
+
protected override readonly _help = '';
|
|
10
|
+
public isHidden = true;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export async function main() {
|
package/src/commands/test.ts
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import { createSimpleProject } from '@build-script/monorepo-lib';
|
|
2
|
-
import { CommandDefine } from '
|
|
2
|
+
import { CommandDefine, logger } from '@idlebox/cli';
|
|
3
3
|
import { PackageManagerUsageKind } from '../common/package-manager/driver.abstract.js';
|
|
4
4
|
import { createPackageManager } from '../common/package-manager/package-manager.js';
|
|
5
5
|
|
|
6
6
|
export class Command extends CommandDefine {
|
|
7
|
-
protected override _usage = '测试参数';
|
|
8
|
-
protected override _description = '测试命令';
|
|
9
|
-
protected override _help = '没有帮助信息';
|
|
10
|
-
|
|
7
|
+
protected override readonly _usage = '测试参数';
|
|
8
|
+
protected override readonly _description = '测试命令';
|
|
9
|
+
protected override readonly _help = '没有帮助信息';
|
|
10
|
+
protected override readonly _arguments = {
|
|
11
|
+
'--test': {
|
|
12
|
+
flag: false,
|
|
13
|
+
usage: true,
|
|
14
|
+
description: '关于test参数的说明',
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
public readonly isHidden = true;
|
|
11
18
|
}
|
|
12
19
|
|
|
13
20
|
export async function main() {
|
|
@@ -15,6 +22,13 @@ export async function main() {
|
|
|
15
22
|
const pm = await createPackageManager(PackageManagerUsageKind.Read, w);
|
|
16
23
|
const cache = await pm.createCacheHandler();
|
|
17
24
|
|
|
25
|
+
logger.verbose('verbose日志');
|
|
26
|
+
logger.debug('debug日志');
|
|
27
|
+
logger.log('log日志');
|
|
28
|
+
logger.warn('warn日志');
|
|
29
|
+
logger.error('error日志');
|
|
30
|
+
logger.success('success日志');
|
|
31
|
+
|
|
18
32
|
const r = await cache.downloadTarball('react-dom', 'latest');
|
|
19
33
|
console.log(r);
|
|
20
34
|
}
|