@build-script/package-tools 0.0.26 → 0.0.28

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.
Files changed (65) hide show
  1. package/bins/load.devel.js +15 -0
  2. package/{load.js → bins/load.js} +1 -1
  3. package/lib/commands/detect-package-change.d.ts.map +1 -1
  4. package/lib/commands/detect-package-change.js +1 -1
  5. package/lib/commands/detect-package-change.js.map +1 -1
  6. package/lib/commands/monorepo-publish.d.ts.map +1 -1
  7. package/lib/commands/monorepo-publish.js +31 -15
  8. package/lib/commands/monorepo-publish.js.map +1 -1
  9. package/lib/commands/run-if-version-mismatch.d.ts.map +1 -1
  10. package/lib/commands/run-if-version-mismatch.js +1 -1
  11. package/lib/commands/run-if-version-mismatch.js.map +1 -1
  12. package/lib/common/cache/native.npm.d.ts +4 -1
  13. package/lib/common/cache/native.npm.d.ts.map +1 -1
  14. package/lib/common/cache/native.npm.js +13 -10
  15. package/lib/common/cache/native.npm.js.map +1 -1
  16. package/lib/common/git/git.d.ts +3 -1
  17. package/lib/common/git/git.d.ts.map +1 -1
  18. package/lib/common/git/git.js +12 -10
  19. package/lib/common/git/git.js.map +1 -1
  20. package/lib/common/package-manager/driver.abstract.d.ts +3 -1
  21. package/lib/common/package-manager/driver.abstract.d.ts.map +1 -1
  22. package/lib/common/package-manager/driver.abstract.js +16 -14
  23. package/lib/common/package-manager/driver.abstract.js.map +1 -1
  24. package/lib/common/package-manager/package-manager.d.ts +2 -1
  25. package/lib/common/package-manager/package-manager.d.ts.map +1 -1
  26. package/lib/common/package-manager/package-manager.js +4 -3
  27. package/lib/common/package-manager/package-manager.js.map +1 -1
  28. package/lib/common/package-manager/proxy.d.ts +3 -2
  29. package/lib/common/package-manager/proxy.d.ts.map +1 -1
  30. package/lib/common/package-manager/proxy.js +6 -6
  31. package/lib/common/package-manager/proxy.js.map +1 -1
  32. package/lib/common/shared-jobs/detect-change-job.d.ts.map +1 -1
  33. package/lib/common/shared-jobs/detect-change-job.js +12 -13
  34. package/lib/common/shared-jobs/detect-change-job.js.map +1 -1
  35. package/lib/common/taball/decompress.d.ts +2 -1
  36. package/lib/common/taball/decompress.d.ts.map +1 -1
  37. package/lib/common/taball/decompress.js +2 -2
  38. package/lib/common/taball/decompress.js.map +1 -1
  39. package/lib/common/taball/file-download.d.ts +8 -1
  40. package/lib/common/taball/file-download.d.ts.map +1 -1
  41. package/lib/common/taball/file-download.js +107 -97
  42. package/lib/common/taball/file-download.js.map +1 -1
  43. package/lib/common/temp-work-folder.d.ts +3 -1
  44. package/lib/common/temp-work-folder.d.ts.map +1 -1
  45. package/lib/common/temp-work-folder.js +9 -7
  46. package/lib/common/temp-work-folder.js.map +1 -1
  47. package/lib/common/version.generated.d.ts +1 -1
  48. package/lib/common/version.generated.js +1 -1
  49. package/package.json +16 -17
  50. package/src/commands/detect-package-change.ts +1 -2
  51. package/src/commands/monorepo-publish.ts +33 -15
  52. package/src/commands/run-if-version-mismatch.ts +1 -2
  53. package/src/common/cache/native.npm.ts +13 -10
  54. package/src/common/git/git.ts +13 -10
  55. package/src/common/package-manager/driver.abstract.ts +14 -13
  56. package/src/common/package-manager/package-manager.ts +10 -4
  57. package/src/common/package-manager/proxy.ts +6 -6
  58. package/src/common/shared-jobs/detect-change-job.ts +13 -13
  59. package/src/common/taball/decompress.ts +2 -2
  60. package/src/common/taball/file-download.ts +113 -105
  61. package/src/common/temp-work-folder.ts +7 -6
  62. package/src/common/version.generated.ts +1 -1
  63. package/src/tsconfig.json +0 -1
  64. package/src/command-file-map.generator.ts +0 -10
  65. package/src/common/version.generator.ts +0 -19
@@ -1,4 +1,4 @@
1
- import { logger } from '@idlebox/cli';
1
+ import { logger as defaultLogger } from '@idlebox/cli';
2
2
  import { ensureLinkTarget } from '@idlebox/ensure-symlink';
3
3
  import { execLazyError, exists, writeFileIfChange } from '@idlebox/node';
4
4
  import { execa } from 'execa';
@@ -17,12 +17,14 @@ export var PackageManagerUsageKind;
17
17
  export class PackageManager {
18
18
  usageKind;
19
19
  workspace;
20
+ logger;
20
21
  projectPath;
21
22
  configTemp;
22
- constructor(usageKind, workspace, subdir = process.cwd()) {
23
+ constructor(usageKind, workspace, subdir = process.cwd(), logger = defaultLogger) {
23
24
  this.usageKind = usageKind;
24
25
  this.workspace = workspace;
25
- this.configTemp = new TempWorkingFolder(this.workspace, 'package-manager', true);
26
+ this.logger = logger;
27
+ this.configTemp = new TempWorkingFolder(this.workspace, 'package-manager', logger, true);
26
28
  this.projectPath = resolve(workspace.root, subdir);
27
29
  if (!this.projectPath.startsWith(workspace.root)) {
28
30
  throw new Error(`project "${this.projectPath}" is outside the workspace root`);
@@ -33,13 +35,13 @@ export class PackageManager {
33
35
  }
34
36
  async pack(saveAs) {
35
37
  const pkg = await this.loadPackageJson();
36
- logger.log `打包项目 (${pkg.publishConfig?.['packCommand'] ? 'custom' : 'default'}): relative<${this.projectPath}> -> relative<${saveAs}>`;
38
+ this.logger.log `打包项目 (${pkg.publishConfig?.['packCommand'] ? 'custom' : 'default'}): relative<${this.projectPath}> -> relative<${saveAs}>`;
37
39
  if (pkg.publishConfig?.['packCommand']) {
38
40
  const cmds = typeof pkg.publishConfig['packCommand'] === 'string' ? splitCmd(pkg.publishConfig['packCommand']) : pkg.publishConfig['packCommand'];
39
41
  if (!Array.isArray(cmds)) {
40
- logger.fatal `publishConfig.packCommand必须是字符串或字符串数组, 但实际是: ${typeof pkg.publishConfig['packCommand']}`;
42
+ this.logger.fatal `publishConfig.packCommand必须是字符串或字符串数组, 但实际是: ${typeof pkg.publishConfig['packCommand']}`;
41
43
  }
42
- logger.verbose ` - 自定义打包命令: ${Array.from(cmds)}`;
44
+ this.logger.verbose ` - 自定义打包命令: ${Array.from(cmds)}`;
43
45
  const [cmd, ...args] = cmds;
44
46
  await execLazyError(cmd, [...args, '--out', saveAs], {
45
47
  cwd: this.projectPath,
@@ -89,24 +91,24 @@ export class PackageManager {
89
91
  const scope = await this.getScope();
90
92
  if (scope) {
91
93
  const { stdout } = await this._execGetOut(cwd, ['config', 'get', `${scope}:${key}`], true, binary);
92
- logger.debug('$ %s config get %s:%s -> %s (cwd: %s)', binary, scope, key, stdout, cwd);
94
+ this.logger.debug('$ %s config get %s:%s -> %s (cwd: %s)', binary, scope, key, stdout, cwd);
93
95
  if (`${stdout}` !== 'undefined') {
94
96
  return stdout;
95
97
  }
96
98
  }
97
99
  const { stdout } = await this._execGetOut(cwd, ['config', 'get', key], true, binary);
98
- logger.debug('$ %s config get %s -> %s (cwd: %s)', binary, key, stdout, cwd);
100
+ this.logger.debug('$ %s config get %s -> %s (cwd: %s)', binary, key, stdout, cwd);
99
101
  return stdout === 'undefined' ? undefined : stdout;
100
102
  }
101
103
  async uploadTarball(pack, cwd = this.projectPath) {
102
- logger.debug(`上传压缩包: ${pack}`);
104
+ this.logger.debug(`上传压缩包: ${pack}`);
103
105
  try {
104
106
  const r = await this._uploadTarball(pack, cwd);
105
- logger.debug ` 发布成功: ${r.name} @ ${r.version} [${r.published}]`;
107
+ this.logger.debug ` 发布成功: ${r.name} @ ${r.version} [${r.published}]`;
106
108
  return r;
107
109
  }
108
110
  catch (e) {
109
- logger.debug ` tarball发布失败`;
111
+ this.logger.debug ` tarball发布失败`;
110
112
  throw e;
111
113
  }
112
114
  }
@@ -136,14 +138,14 @@ export class PackageManager {
136
138
  if (!this._cachedReg) {
137
139
  switch (registryInput) {
138
140
  case 'detect':
139
- logger.debug(`检测registry地址: ${registryInput}`);
141
+ this.logger.debug(`检测registry地址: ${registryInput}`);
140
142
  this._cachedReg = await this.getConfig('registry');
141
143
  break;
142
144
  default:
143
145
  if (!registryInput.startsWith('https://')) {
144
146
  throw new Error(`不支持的--registry协议: ${registryInput}`);
145
147
  }
146
- logger.debug('使用命令行提供的registry地址 (%s)', registryInput);
148
+ this.logger.debug('使用命令行提供的registry地址 (%s)', registryInput);
147
149
  this._cachedReg = registryInput;
148
150
  }
149
151
  }
@@ -156,7 +158,7 @@ export class PackageManager {
156
158
  const path = await this.getConfig('cache');
157
159
  if (!path)
158
160
  throw new Error('npm config get cache返回为空');
159
- this._cache_handler = new NpmCacheHandler(this, registry, path);
161
+ this._cache_handler = new NpmCacheHandler(this, registry, path, this.logger);
160
162
  }
161
163
  return this._cache_handler;
162
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"driver.abstract.js","sourceRoot":"","sources":["../../../src/common/package-manager/driver.abstract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.abstract.js","sourceRoot":"","sources":["../../../src/common/package-manager/driver.abstract.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { WorkspaceBase } from '@build-script/monorepo-lib';
2
+ import { type IMyLogger } from '@idlebox/cli';
2
3
  import type { PackageManager, PackageManagerUsageKind } from './driver.abstract.js';
3
4
  export type IPackageManager = PackageManager;
4
- export declare function createPackageManager(usage: PackageManagerUsageKind, workspace: WorkspaceBase, subdir?: string): Promise<IPackageManager>;
5
+ export declare function createPackageManager(usage: PackageManagerUsageKind, workspace: WorkspaceBase, subdir?: string, logger?: IMyLogger): Promise<IPackageManager>;
5
6
  //# sourceMappingURL=package-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../../src/common/package-manager/package-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAKpF,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC;AAM7C,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAsB9I"}
1
+ {"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../../src/common/package-manager/package-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEvE,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAKpF,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC;AAM7C,wBAAsB,oBAAoB,CACzC,KAAK,EAAE,uBAAuB,EAC9B,SAAS,EAAE,aAAa,EACxB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,GAAE,SAAyB,GAC/B,OAAO,CAAC,eAAe,CAAC,CAsB1B"}
@@ -1,18 +1,19 @@
1
+ import { logger as defaultLogger } from '@idlebox/cli';
1
2
  import { commandInPath, PathEnvironment } from '@idlebox/node';
2
3
  import { NPM } from './driver.npm.js';
3
4
  import { PNPM } from './driver.pnpm.js';
4
5
  import { reconfigureProxyWithNpmrc } from './proxy.js';
5
6
  let pmCls;
6
- export async function createPackageManager(usage, workspace, subdir) {
7
+ export async function createPackageManager(usage, workspace, subdir, logger = defaultLogger) {
7
8
  if (pmCls) {
8
- return new pmCls(usage, workspace, subdir);
9
+ return new pmCls(usage, workspace, subdir, logger);
9
10
  }
10
11
  const supports = { pnpm: PNPM, npm: NPM };
11
12
  for (const [name, Cls] of Object.entries(supports)) {
12
13
  if (!(await commandInPath(name).catch(() => false))) {
13
14
  continue;
14
15
  }
15
- const pm = new Cls(usage, workspace, subdir);
16
+ const pm = new Cls(usage, workspace, subdir, logger);
16
17
  await reconfigureProxyWithNpmrc(pm);
17
18
  pmCls = Cls;
18
19
  return pm;
@@ -1 +1 @@
1
- {"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../../src/common/package-manager/package-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAMvD,IAAI,KAA4C,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAA8B,EAAE,SAAwB,EAAE,MAAe;IACnH,IAAI,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,QAAQ,GAA8C,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACrF,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACrD,SAAS;QACV,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAE7C,MAAM,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAEpC,KAAK,GAAG,GAAG,CAAC;QACZ,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1F,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../../src/common/package-manager/package-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,aAAa,EAAkB,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAMvD,IAAI,KAA4C,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,KAA8B,EAC9B,SAAwB,EACxB,MAAe,EACf,SAAoB,aAAa;IAEjC,IAAI,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,QAAQ,GAA8C,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACrF,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACrD,SAAS;QACV,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAErD,MAAM,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAEpC,KAAK,GAAG,GAAG,CAAC;QACZ,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1F,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3E,CAAC"}
@@ -1,5 +1,6 @@
1
+ import { type IMyLogger } from '@idlebox/cli';
1
2
  import type { IPackageManager } from './package-manager.js';
2
- export declare function getProxyValue(url: string): string;
3
+ export declare function getProxyValue(url: string, logger?: IMyLogger): string;
3
4
  export declare function reconfigureProxyWithNpmrc(pm: IPackageManager): Promise<void>;
4
- export declare function configureProxyFromEnvironment(): void;
5
+ export declare function configureProxyFromEnvironment(logger?: IMyLogger): void;
5
6
  //# sourceMappingURL=proxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../src/common/package-manager/proxy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAY5D,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,UA+CxC;AAED,wBAAsB,yBAAyB,CAAC,EAAE,EAAE,eAAe,iBAelE;AAED,wBAAgB,6BAA6B,SAwC5C"}
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../src/common/package-manager/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAY5D,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,SAAyB,GAAG,MAAM,CA+CpF;AAED,wBAAsB,yBAAyB,CAAC,EAAE,EAAE,eAAe,iBAelE;AAED,wBAAgB,6BAA6B,CAAC,MAAM,GAAE,SAAyB,QAwC9E"}
@@ -1,5 +1,5 @@
1
+ import { logger as defaultLogger } from '@idlebox/cli';
1
2
  import { escapeRegExp } from '@idlebox/common';
2
- import { logger } from '@idlebox/cli';
3
3
  import { getEnvironment } from '@idlebox/node';
4
4
  let proxy_override_by_env = false;
5
5
  function makeRe(str) {
@@ -9,7 +9,7 @@ function makeRe(str) {
9
9
  .join('.+');
10
10
  return new RegExp(`^${reTxt}$`, 'i');
11
11
  }
12
- export function getProxyValue(url) {
12
+ export function getProxyValue(url, logger = defaultLogger) {
13
13
  const proxyValue = process.env.http_proxy;
14
14
  if (!proxyValue) {
15
15
  return '';
@@ -58,18 +58,18 @@ export function getProxyValue(url) {
58
58
  export async function reconfigureProxyWithNpmrc(pm) {
59
59
  if (proxy_override_by_env)
60
60
  return;
61
- logger.debug('通过npm设置代理服务器:');
61
+ pm.logger.debug('通过npm设置代理服务器:');
62
62
  const p = await pm.getConfig('proxy');
63
63
  const np = await pm.getConfig('noproxy');
64
64
  if (p) {
65
- logger.debug(` * proxy server = ${p}`);
65
+ pm.logger.debug(` * proxy server = ${p}`);
66
66
  }
67
67
  if (np) {
68
- logger.debug(` * no_proxy = ${np}`);
68
+ pm.logger.debug(` * no_proxy = ${np}`);
69
69
  }
70
70
  applyEnv(p || '', np || '');
71
71
  }
72
- export function configureProxyFromEnvironment() {
72
+ export function configureProxyFromEnvironment(logger = defaultLogger) {
73
73
  // bootstrap({
74
74
  // environmentVariableNamespace: '',
75
75
  // forceGlobalAgent: true,
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/common/package-manager/proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/common/package-manager/proxy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"detect-change-job.d.ts","sourceRoot":"","sources":["../../../src/common/shared-jobs/detect-change-job.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAG7E,UAAU,OAAO;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,cAAc;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,eAAe,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAkE7G"}
1
+ {"version":3,"file":"detect-change-job.d.ts","sourceRoot":"","sources":["../../../src/common/shared-jobs/detect-change-job.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAG7E,UAAU,OAAO;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,cAAc;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,eAAe,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAmE7G"}
@@ -1,4 +1,3 @@
1
- import { logger } from '@idlebox/cli';
2
1
  import { PathEnvironment } from '@idlebox/node';
3
2
  import { resolve } from 'node:path';
4
3
  import { gt } from 'semver';
@@ -8,7 +7,7 @@ import { makePackageJsonOrderConsistence } from '../package-manager/package-json
8
7
  import { TempWorkingFolder } from '../temp-work-folder.js';
9
8
  export async function executeChangeDetect(pm, options = {}) {
10
9
  const packageJson = await pm.loadPackageJson();
11
- logger.debug('修改检测 | 包名: %s', packageJson.name);
10
+ pm.logger.debug('修改检测 | 包名: %s', packageJson.name);
12
11
  if (!packageJson.name) {
13
12
  throw new Error(`${pm.projectPath}/package.json 中缺少 name 字段`);
14
13
  }
@@ -22,14 +21,14 @@ export async function executeChangeDetect(pm, options = {}) {
22
21
  }
23
22
  }
24
23
  if (packageJson.private && !options.forcePrivate) {
25
- logger.debug('检测到私有包,禁止运行');
24
+ pm.logger.debug('检测到私有包,禁止运行');
26
25
  return { changedFiles: [], hasChange: false };
27
26
  }
28
27
  const remotePackage = await cache.fetchVersion(packageJson.name, distTagInput);
29
- logger.debug(' -> npm 远程版本 = %s', remotePackage?.version);
30
- logger.debug(' -> package.json 本地版本 = %s', packageJson.version);
28
+ pm.logger.debug(' -> npm 远程版本 = %s', remotePackage?.version);
29
+ pm.logger.debug(' -> package.json 本地版本 = %s', packageJson.version);
31
30
  if (!remotePackage || gt(packageJson.version, remotePackage.version)) {
32
- logger.debug('本地版本 (%s) 已经大于远程版本 (%s),无需进一步检测', packageJson.version, remotePackage?.version);
31
+ pm.logger.debug('本地版本 (%s) 已经大于远程版本 (%s),无需进一步检测', packageJson.version, remotePackage?.version);
33
32
  return {
34
33
  changedFiles: ['package.json'],
35
34
  hasChange: false,
@@ -37,25 +36,25 @@ export async function executeChangeDetect(pm, options = {}) {
37
36
  packageJsonDiff: `短路检测: "version" 本地为 ${packageJson.version}, 远程版本为 ${remotePackage?.version}`,
38
37
  };
39
38
  }
40
- logger.debug('本地版本 (%s) 小于或等于远程版本 (%s),尝试检测更改...', packageJson.version, remotePackage.version);
39
+ pm.logger.debug('本地版本 (%s) 小于或等于远程版本 (%s),尝试检测更改...', packageJson.version, remotePackage.version);
41
40
  const tarball = await cache.downloadTarball(packageJson.name, distTagInput);
42
- const tempFolder = new TempWorkingFolder(pm.workspace, 'package-change-detect');
41
+ const tempFolder = new TempWorkingFolder(pm.workspace, 'package-change-detect', pm.logger);
43
42
  const workingRoot = tempFolder.resolve('working');
44
43
  await workingRoot.unpack(tarball);
45
44
  await makePackageJsonOrderConsistence(workingRoot.path);
46
- const gitrepo = new GitWorkingTree(workingRoot.path);
45
+ const gitrepo = new GitWorkingTree(workingRoot.path, pm.logger);
47
46
  await gitrepo.init();
48
47
  const pack = await pm.pack(tempFolder.joinpath('local-pack.tgz'));
49
- logger.verbose(' --> %s', pack);
48
+ pm.logger.verbose(' --> %s', pack);
50
49
  await workingRoot.unpack(pack);
51
- logger.verbose(' unpacked successfully');
50
+ pm.logger.verbose(' unpacked successfully');
52
51
  await makePackageJsonOrderConsistence(workingRoot.path);
53
52
  const changedFiles = await gitrepo.commitChanges();
54
- logger.verbose ` changed files: list<${changedFiles}>`;
53
+ pm.logger.verbose ` changed files: list<${changedFiles}>`;
55
54
  let packageJsonDiff = '';
56
55
  if (changedFiles.includes('package.json')) {
57
56
  packageJsonDiff = await gitrepo.fileDiff('package.json');
58
- logger.debug(` - package.json 文件的修改:\n${packageJsonDiff}`);
57
+ pm.logger.debug(` - package.json 文件的修改:\n${packageJsonDiff}`);
59
58
  }
60
59
  return { changedFiles, hasChange: changedFiles.length > 0, remoteVersion: remotePackage.version, packageJsonDiff };
61
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"detect-change-job.js","sourceRoot":"","sources":["../../../src/common/shared-jobs/detect-change-job.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detect-change-job.js","sourceRoot":"","sources":["../../../src/common/shared-jobs/detect-change-job.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
- export declare function decompressPack(src: string, dest: string): Promise<void>;
1
+ import { type IMyLogger } from '@idlebox/cli';
2
+ export declare function decompressPack(src: string, dest: string, logger?: IMyLogger): Promise<void>;
2
3
  //# sourceMappingURL=decompress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decompress.d.ts","sourceRoot":"","sources":["../../../src/common/taball/decompress.ts"],"names":[],"mappings":"AAOA,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,iBAuC7D"}
1
+ {"version":3,"file":"decompress.d.ts","sourceRoot":"","sources":["../../../src/common/taball/decompress.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAOvE,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,SAAyB,iBAuChG"}
@@ -1,9 +1,9 @@
1
+ import { logger as defaultLogger } from '@idlebox/cli';
1
2
  import { convertCatchedError } from '@idlebox/common';
2
- import { logger } from '@idlebox/cli';
3
3
  import { existsSync, unlinkSync } from 'node:fs';
4
4
  import tgz from 'targz';
5
5
  const packageFolder = /^package\//;
6
- export async function decompressPack(src, dest) {
6
+ export async function decompressPack(src, dest, logger = defaultLogger) {
7
7
  logger.debug(`解压文件: ${src}\n\u3000\u3000目录: ${dest}`);
8
8
  await new Promise((resolve, reject) => {
9
9
  if (!existsSync(src)) {
@@ -1 +1 @@
1
- {"version":3,"file":"decompress.js","sourceRoot":"","sources":["../../../src/common/taball/decompress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB,MAAM,aAAa,GAAG,YAAY,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,IAAY;IAC7D,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,qBAAqB,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,GAAG,CAAC,UAAU,CACb;YACC,GAAG;YACH,IAAI;YACJ,GAAG,EAAE;gBACJ,MAAM,CAAC,CAAC,EAAE,MAAM;oBACf,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAChC,CAAC;gBACD,GAAG,CAAC,MAAM;oBACT,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wBACrC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;oBACtD,CAAC;yBAAM,CAAC;wBACP,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;oBAClB,CAAC;oBACD,OAAO,MAAM,CAAC;gBACf,CAAC;aACD;SACD,EACD,CAAC,CAAC,EAAE,EAAE;YACL,IAAI,CAAC,EAAE,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC5C,IAAI,CAAC;oBACJ,UAAU,CAAC,GAAG,CAAC,CAAC;gBACjB,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;gBACV,MAAM,CAAC,CAAC,CAAC,CAAC;YACX,CAAC;iBAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACX,CAAC;QACF,CAAC,CACD,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"decompress.js","sourceRoot":"","sources":["../../../src/common/taball/decompress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,aAAa,EAAkB,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB,MAAM,aAAa,GAAG,YAAY,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,IAAY,EAAE,SAAoB,aAAa;IAChG,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,qBAAqB,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,GAAG,CAAC,UAAU,CACb;YACC,GAAG;YACH,IAAI;YACJ,GAAG,EAAE;gBACJ,MAAM,CAAC,CAAC,EAAE,MAAM;oBACf,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAChC,CAAC;gBACD,GAAG,CAAC,MAAM;oBACT,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wBACrC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;oBACtD,CAAC;yBAAM,CAAC;wBACP,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;oBAClB,CAAC;oBACD,OAAO,MAAM,CAAC;gBACf,CAAC;aACD;SACD,EACD,CAAC,CAAC,EAAE,EAAE;YACL,IAAI,CAAC,EAAE,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC5C,IAAI,CAAC;oBACJ,UAAU,CAAC,GAAG,CAAC,CAAC;gBACjB,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;gBACV,MAAM,CAAC,CAAC,CAAC,CAAC;YACX,CAAC;iBAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACX,CAAC;QACF,CAAC,CACD,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC"}
@@ -1,6 +1,13 @@
1
+ import { type IMyLogger } from '@idlebox/cli';
1
2
  import type { IncomingMessage } from 'node:http';
2
3
  import type { Readable } from 'node:stream';
3
- export declare function downloadFileCached(url: string, file: string): Promise<string>;
4
+ export declare class FileDownloader {
5
+ readonly logger: IMyLogger;
6
+ constructor(logger?: IMyLogger);
7
+ download(url: string, file: string): Promise<string>;
8
+ private http_stream;
9
+ private send_request;
10
+ }
4
11
  export declare class HttpError extends Error {
5
12
  readonly url: string;
6
13
  readonly code: number;
@@ -1 +1 @@
1
- {"version":3,"file":"file-download.d.ts","sourceRoot":"","sources":["../../../src/common/taball/file-download.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAuB,eAAe,EAAuB,MAAM,WAAW,CAAC;AAG3F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAQ5C,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBA2BjE;AAgBD,qBAAa,SAAU,SAAQ,KAAK;aAElB,GAAG,EAAE,MAAM;aACX,IAAI,EAAE,MAAM;gBADZ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAC5B,GAAG,EAAE,MAAM;IAKZ,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,SAAS;CAGrC;AAED,KAAK,OAAO,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,CAAC;AACpC,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,QAAQ,CAAC,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"file-download.d.ts","sourceRoot":"","sources":["../../../src/common/taball/file-download.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAKvE,OAAO,KAAK,EAAuB,eAAe,EAAuB,MAAM,WAAW,CAAC;AAG3F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAQ5C,qBAAa,cAAc;aACE,MAAM,EAAE,SAAS;gBAAjB,MAAM,GAAE,SAAyB;IAEhD,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;YA6BjC,WAAW;IA4BzB,OAAO,CAAC,YAAY;CA0DpB;AAgBD,qBAAa,SAAU,SAAQ,KAAK;aAElB,GAAG,EAAE,MAAM;aACX,IAAI,EAAE,MAAM;gBADZ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAC5B,GAAG,EAAE,MAAM;IAKZ,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,SAAS;CAGrC;AAED,KAAK,OAAO,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,CAAC;AACpC,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,QAAQ,CAAC,GAAG,OAAO,CAAC"}
@@ -1,4 +1,4 @@
1
- import { logger } from '@idlebox/cli';
1
+ import { logger as defaultLogger } from '@idlebox/cli';
2
2
  import { sleep } from '@idlebox/common';
3
3
  import { exists, streamPromise } from '@idlebox/node';
4
4
  import { createWriteStream } from 'node:fs';
@@ -6,29 +6,115 @@ import { mkdir, readFile, rename, writeFile } from 'node:fs/promises';
6
6
  import { get } from 'node:https';
7
7
  import { dirname } from 'node:path';
8
8
  import { createBrotliDecompress, createGunzip, createInflate } from 'node:zlib';
9
- export async function downloadFileCached(url, file) {
10
- const metadata = `${file}.meta.json`;
11
- logger.debug `下载文件:\n 地址: long<${url}>\n 保存到: long<${file}>`;
12
- let meta;
13
- if ((await exists(metadata)) && (await exists(file))) {
14
- try {
15
- meta = JSON.parse(await readFile(metadata, 'utf-8'));
9
+ export class FileDownloader {
10
+ logger;
11
+ constructor(logger = defaultLogger) {
12
+ this.logger = logger;
13
+ }
14
+ async download(url, file) {
15
+ const metadata = `${file}.meta.json`;
16
+ this.logger.debug `下载文件:\n 地址: long<${url}>\n 保存到: long<${file}>`;
17
+ let meta;
18
+ if ((await exists(metadata)) && (await exists(file))) {
19
+ try {
20
+ meta = JSON.parse(await readFile(metadata, 'utf-8'));
21
+ }
22
+ catch { }
23
+ if (meta?.url === url) {
24
+ this.logger.debug(' -> 已经下载');
25
+ return file;
26
+ }
16
27
  }
17
- catch { }
18
- if (meta?.url === url) {
19
- logger.debug(' -> 已经下载');
20
- return file;
28
+ const response = await this.http_stream(url);
29
+ await mkdir(dirname(file), { recursive: true });
30
+ const writeOut = createWriteStream(`${file}.downloading`);
31
+ await streamPromise(response.stream.pipe(writeOut));
32
+ meta = { headers: response.headers, url };
33
+ await writeFile(metadata, JSON.stringify(meta), 'utf-8');
34
+ await rename(`${file}.downloading`, file);
35
+ this.logger.debug(' -> 下载完成');
36
+ return file;
37
+ }
38
+ async http_stream(url, headers) {
39
+ let try_remain = 3;
40
+ let redirect_cnt = 0;
41
+ while (try_remain-- > 0) {
42
+ try {
43
+ return await this.send_request(url, headers || {});
44
+ }
45
+ catch (e) {
46
+ if (RedirectError.is(e)) {
47
+ redirect_cnt++;
48
+ if (redirect_cnt > 8) {
49
+ throw new HttpError(url, 0, '重定向次数过多');
50
+ }
51
+ this.logger.debug(`[http] 重定向到 ${e.location}`);
52
+ url = e.location;
53
+ try_remain++;
54
+ continue;
55
+ }
56
+ this.logger.error('获取 %s 失败 [剩余尝试次数 %s]', url, try_remain);
57
+ if (try_remain === 0)
58
+ throw e;
59
+ await sleep(2000);
60
+ }
21
61
  }
62
+ throw new Error('不可能的错误');
63
+ }
64
+ send_request(url, headers) {
65
+ headers['Accept-Encoding'] = 'br,gzip,deflate';
66
+ return new Promise((resolve, reject) => {
67
+ this.logger.debug(`[http] 请求 ${url}`);
68
+ const request = get(url, { headers }, (response) => {
69
+ this.logger.debug(`[http] 响应 ${response.statusCode} [encoding: ${response.headers['content-encoding']}][${response.headers['content-length']} bytes]`);
70
+ if (response.statusCode === 200) {
71
+ const bytes = Number.parseInt(response.headers['content-length'] ?? '--', 10);
72
+ if (bytes > 5 * 1024 * 1024 && process.stderr.isTTY) {
73
+ let downloaded = 0;
74
+ response.on('data', (bs) => {
75
+ downloaded += bs.length;
76
+ process.stderr.write(`\x1B[2mdownload: ${downloaded} of ${bytes} bytes (${Math.round((downloaded / bytes) * 100)}%)\x1B[0m\r`);
77
+ });
78
+ response.on('end', () => {
79
+ process.stderr.write('\x1B[K');
80
+ });
81
+ }
82
+ let stream;
83
+ switch (response.headers['content-encoding']) {
84
+ case 'br':
85
+ stream = response.pipe(createBrotliDecompress());
86
+ break;
87
+ // Or, just use zlib.createUnzip() to handle both of the following cases:
88
+ case 'gzip':
89
+ stream = response.pipe(createGunzip());
90
+ break;
91
+ case 'deflate':
92
+ stream = response.pipe(createInflate());
93
+ break;
94
+ default:
95
+ stream = response;
96
+ break;
97
+ }
98
+ resolve(Object.assign(response, { stream }));
99
+ }
100
+ else if ((response.statusCode === 302 ||
101
+ response.statusCode === 301 ||
102
+ response.statusCode === 303 ||
103
+ response.statusCode === 307 ||
104
+ response.statusCode === 308) &&
105
+ response.headers.location) {
106
+ reject(new RedirectError(url, response.headers.location, response.statusCode));
107
+ }
108
+ else {
109
+ reject(new HttpError(url, response.statusCode, response.statusMessage));
110
+ }
111
+ });
112
+ request.on('error', (err) => {
113
+ reject(err);
114
+ });
115
+ request.end();
116
+ });
22
117
  }
23
- const response = await http_stream(url);
24
- await mkdir(dirname(file), { recursive: true });
25
- const writeOut = createWriteStream(`${file}.downloading`);
26
- await streamPromise(response.stream.pipe(writeOut));
27
- meta = { headers: response.headers, url };
28
- await writeFile(metadata, JSON.stringify(meta), 'utf-8');
29
- await rename(`${file}.downloading`, file);
30
- logger.debug(' -> 下载完成');
31
- return file;
32
118
  }
33
119
  class RedirectError extends Error {
34
120
  location;
@@ -54,80 +140,4 @@ export class HttpError extends Error {
54
140
  return obj instanceof HttpError;
55
141
  }
56
142
  }
57
- async function http_stream(url, headers) {
58
- let try_remain = 3;
59
- let redirect_cnt = 0;
60
- while (try_remain-- > 0) {
61
- try {
62
- return await send_request(url, headers || {});
63
- }
64
- catch (e) {
65
- if (RedirectError.is(e)) {
66
- redirect_cnt++;
67
- if (redirect_cnt > 8) {
68
- throw new HttpError(url, 0, '重定向次数过多');
69
- }
70
- logger.debug(`[http] 重定向到 ${e.location}`);
71
- url = e.location;
72
- try_remain++;
73
- continue;
74
- }
75
- logger.error('获取 %s 失败 [剩余尝试次数 %s]', url, try_remain);
76
- if (try_remain === 0)
77
- throw e;
78
- await sleep(2000);
79
- }
80
- }
81
- throw new Error('不可能的错误');
82
- }
83
- function send_request(url, headers) {
84
- headers['Accept-Encoding'] = 'br,gzip,deflate';
85
- return new Promise((resolve, reject) => {
86
- logger.debug(`[http] 请求 ${url}`);
87
- const request = get(url, { headers }, (response) => {
88
- logger.debug(`[http] 响应 ${response.statusCode} [encoding: ${response.headers['content-encoding']}][${response.headers['content-length']} bytes]`);
89
- if (response.statusCode === 200) {
90
- const bytes = Number.parseInt(response.headers['content-length'] ?? '--', 10);
91
- if (bytes > 5 * 1024 * 1024 && process.stderr.isTTY) {
92
- let downloaded = 0;
93
- response.on('data', (bs) => {
94
- downloaded += bs.length;
95
- process.stderr.write(`\x1B[2mdownload: ${downloaded} of ${bytes} bytes (${Math.round((downloaded / bytes) * 100)}%)\x1B[0m\r`);
96
- });
97
- response.on('end', () => {
98
- process.stderr.write('\x1B[K');
99
- });
100
- }
101
- let stream;
102
- switch (response.headers['content-encoding']) {
103
- case 'br':
104
- stream = response.pipe(createBrotliDecompress());
105
- break;
106
- // Or, just use zlib.createUnzip() to handle both of the following cases:
107
- case 'gzip':
108
- stream = response.pipe(createGunzip());
109
- break;
110
- case 'deflate':
111
- stream = response.pipe(createInflate());
112
- break;
113
- default:
114
- stream = response;
115
- break;
116
- }
117
- resolve(Object.assign(response, { stream }));
118
- }
119
- else if ((response.statusCode === 302 || response.statusCode === 301 || response.statusCode === 303 || response.statusCode === 307 || response.statusCode === 308) &&
120
- response.headers.location) {
121
- reject(new RedirectError(url, response.headers.location, response.statusCode));
122
- }
123
- else {
124
- reject(new HttpError(url, response.statusCode, response.statusMessage));
125
- }
126
- });
127
- request.on('error', (err) => {
128
- reject(err);
129
- });
130
- request.end();
131
- });
132
- }
133
143
  //# sourceMappingURL=file-download.js.map