@umijs/utils 4.0.0-beta.7 → 4.0.0-canary.202200505.1

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 (64) hide show
  1. package/compiled/axios/index.d.ts +29 -14
  2. package/compiled/axios/index.js +1 -1
  3. package/compiled/chalk/LICENSE +1 -1
  4. package/compiled/chalk/index.js +1 -1
  5. package/compiled/chalk/package.json +1 -1
  6. package/compiled/chalk/source/index.d.ts +318 -0
  7. package/compiled/chalk/source/vendor/supports-color/index.d.ts +55 -0
  8. package/compiled/color/color-convert/conversions.d.ts +87 -87
  9. package/compiled/color/color-convert/index.d.ts +75 -60
  10. package/compiled/color/color-convert/route.d.ts +271 -271
  11. package/compiled/color/index.d.ts +118 -121
  12. package/compiled/color/index.js +1 -1
  13. package/compiled/color/package.json +1 -4
  14. package/compiled/debug/LICENSE +10 -9
  15. package/compiled/debug/index.js +1 -1
  16. package/compiled/debug/package.json +1 -1
  17. package/compiled/execa/index.d.ts +467 -445
  18. package/compiled/execa/index.js +1 -1
  19. package/compiled/fs-extra/index.d.ts +347 -116
  20. package/compiled/fs-extra/index.js +1 -1
  21. package/compiled/glob/LICENSE +1 -7
  22. package/compiled/glob/index.d.ts +3 -1
  23. package/compiled/glob/index.js +1 -1
  24. package/compiled/pirates/LICENSE +21 -0
  25. package/compiled/pirates/index.d.ts +82 -0
  26. package/compiled/pirates/index.js +1 -0
  27. package/compiled/pirates/package.json +1 -0
  28. package/compiled/pkg-up/LICENSE +1 -1
  29. package/compiled/pkg-up/index.d.ts +55 -44
  30. package/compiled/pkg-up/index.js +1 -1
  31. package/compiled/pkg-up/package.json +1 -1
  32. package/compiled/prettier/index.d.ts +568 -679
  33. package/compiled/prettier/index.js +62 -274
  34. package/compiled/prettier/package.json +1 -5
  35. package/compiled/resolve/index.js +1 -1
  36. package/compiled/semver/index.js +1 -1
  37. package/compiled/semver/package.json +1 -1
  38. package/compiled/strip-ansi/LICENSE +1 -1
  39. package/compiled/strip-ansi/index.d.ts +2 -4
  40. package/compiled/strip-ansi/index.js +1 -1
  41. package/compiled/strip-ansi/package.json +1 -1
  42. package/compiled/yargs-parser/index.js +1 -1
  43. package/dist/BaseGenerator/BaseGenerator.d.ts +2 -1
  44. package/dist/BaseGenerator/BaseGenerator.js +23 -32
  45. package/dist/BaseGenerator/generateFile.d.ts +2 -1
  46. package/dist/BaseGenerator/generateFile.js +4 -12
  47. package/dist/Generator/Generator.d.ts +3 -3
  48. package/dist/Generator/Generator.js +8 -21
  49. package/dist/getCorejsVersion.d.ts +1 -0
  50. package/dist/getCorejsVersion.js +11 -0
  51. package/dist/index.d.ts +6 -3
  52. package/dist/index.js +13 -6
  53. package/dist/installDeps.js +27 -5
  54. package/dist/isStyleFile.d.ts +5 -0
  55. package/dist/isStyleFile.js +16 -0
  56. package/dist/logger.d.ts +8 -6
  57. package/dist/logger.js +8 -1
  58. package/dist/npmClient.d.ts +3 -2
  59. package/dist/npmClient.js +20 -19
  60. package/dist/register.d.ts +1 -0
  61. package/dist/register.js +19 -22
  62. package/dist/tryPaths.d.ts +1 -0
  63. package/dist/tryPaths.js +11 -0
  64. package/package.json +38 -36
@@ -1,7 +1,8 @@
1
1
  import prompts from '../../compiled/prompts';
2
- declare const generateFile: ({ path, target, data, questions, }: {
2
+ declare const generateFile: ({ path, target, baseDir, data, questions, }: {
3
3
  path: string;
4
4
  target: string;
5
+ baseDir?: string | undefined;
5
6
  data?: any;
6
7
  questions?: prompts.PromptObject<string>[] | undefined;
7
8
  }) => Promise<void>;
@@ -1,25 +1,17 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
14
5
  Object.defineProperty(exports, "__esModule", { value: true });
15
6
  const BaseGenerator_1 = __importDefault(require("./BaseGenerator"));
16
- const generateFile = ({ path, target, data, questions, }) => __awaiter(void 0, void 0, void 0, function* () {
7
+ const generateFile = async ({ path, target, baseDir, data, questions, }) => {
17
8
  const generator = new BaseGenerator_1.default({
18
9
  path,
19
10
  target,
11
+ baseDir,
20
12
  data,
21
13
  questions,
22
14
  });
23
- yield generator.run();
24
- });
15
+ await generator.run();
16
+ };
25
17
  exports.default = generateFile;
@@ -1,13 +1,13 @@
1
1
  import yParser from '../../compiled/yargs-parser';
2
2
  interface IOpts {
3
- cwd: string;
3
+ baseDir: string;
4
4
  args: yParser.Arguments;
5
5
  }
6
6
  declare class Generator {
7
- cwd: string;
7
+ baseDir: string;
8
8
  args: yParser.Arguments;
9
9
  prompts: any;
10
- constructor({ cwd, args }: IOpts);
10
+ constructor({ baseDir, args }: IOpts);
11
11
  run(): Promise<void>;
12
12
  prompting(): any;
13
13
  writing(): Promise<void>;
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -20,29 +11,25 @@ const glob_1 = __importDefault(require("../../compiled/glob"));
20
11
  const mustache_1 = __importDefault(require("../../compiled/mustache"));
21
12
  const prompts_1 = __importDefault(require("../../compiled/prompts"));
22
13
  class Generator {
23
- constructor({ cwd, args }) {
24
- this.cwd = cwd;
14
+ constructor({ baseDir, args }) {
15
+ this.baseDir = baseDir;
25
16
  this.args = args;
26
17
  this.prompts = {};
27
18
  }
28
- run() {
29
- return __awaiter(this, void 0, void 0, function* () {
30
- const questions = this.prompting();
31
- this.prompts = yield (0, prompts_1.default)(questions);
32
- yield this.writing();
33
- });
19
+ async run() {
20
+ const questions = this.prompting();
21
+ this.prompts = await (0, prompts_1.default)(questions);
22
+ await this.writing();
34
23
  }
35
24
  prompting() {
36
25
  return [];
37
26
  }
38
- writing() {
39
- return __awaiter(this, void 0, void 0, function* () { });
40
- }
27
+ async writing() { }
41
28
  copyTpl(opts) {
42
29
  const tpl = (0, fs_1.readFileSync)(opts.templatePath, 'utf-8');
43
30
  const content = mustache_1.default.render(tpl, opts.context);
44
31
  fs_extra_1.default.mkdirpSync((0, path_1.dirname)(opts.target));
45
- console.log(`${chalk_1.default.green('Write:')} ${(0, path_1.relative)(this.cwd, opts.target)}`);
32
+ console.log(`${chalk_1.default.green('Write:')} ${(0, path_1.relative)(this.baseDir, opts.target)}`);
46
33
  (0, fs_1.writeFileSync)(opts.target, content, 'utf-8');
47
34
  }
48
35
  copyDirectory(opts) {
@@ -0,0 +1 @@
1
+ export declare const getCorejsVersion: (pkgPath: string) => any;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCorejsVersion = void 0;
4
+ const fs_extra_1 = require("../compiled/fs-extra");
5
+ const getCorejsVersion = (pkgPath) => {
6
+ var _a;
7
+ const pkg = (0, fs_extra_1.readJsonSync)(pkgPath, { encoding: 'utf-8' });
8
+ const version = ((_a = pkg.dependencies['core-js']) === null || _a === void 0 ? void 0 : _a.split('.').slice(0, 2).join('.')) || '3';
9
+ return version;
10
+ };
11
+ exports.getCorejsVersion = getCorejsVersion;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import * as chokidar from 'chokidar';
2
- import * as clipboardy from 'clipboardy';
3
2
  import address from '../compiled/address';
4
3
  import axios from '../compiled/axios';
5
4
  import chalk from '../compiled/chalk';
@@ -7,11 +6,12 @@ import cheerio from '../compiled/cheerio';
7
6
  import crossSpawn from '../compiled/cross-spawn';
8
7
  import debug from '../compiled/debug';
9
8
  import deepmerge from '../compiled/deepmerge';
9
+ import * as execa from '../compiled/execa';
10
10
  import fsExtra from '../compiled/fs-extra';
11
11
  import glob from '../compiled/glob';
12
12
  import lodash from '../compiled/lodash';
13
13
  import Mustache from '../compiled/mustache';
14
- import pkgUp from '../compiled/pkg-up';
14
+ import * as pkgUp from '../compiled/pkg-up';
15
15
  import portfinder from '../compiled/portfinder';
16
16
  import prompts from '../compiled/prompts';
17
17
  import resolve from '../compiled/resolve';
@@ -25,9 +25,12 @@ import Generator from './Generator/Generator';
25
25
  import installDeps from './installDeps';
26
26
  import * as logger from './logger';
27
27
  import updatePackageJSON from './updatePackageJSON';
28
+ export * from './getCorejsVersion';
28
29
  export * from './importLazy';
30
+ export * from './isStyleFile';
29
31
  export * from './npmClient';
30
32
  export * from './randomColor/randomColor';
31
33
  export * as register from './register';
34
+ export * from './tryPaths';
32
35
  export * from './winPath';
33
- export { address, axios, chalk, cheerio, chokidar, clipboardy, crossSpawn, debug, deepmerge, fsExtra, glob, Generator, BaseGenerator, generateFile, installDeps, lodash, logger, Mustache, pkgUp, portfinder, prompts, resolve, rimraf, semver, stripAnsi, updatePackageJSON, yParser, };
36
+ export { address, axios, chalk, cheerio, chokidar, crossSpawn, debug, deepmerge, execa, fsExtra, glob, Generator, BaseGenerator, generateFile, installDeps, lodash, logger, Mustache, pkgUp, portfinder, prompts, resolve, rimraf, semver, stripAnsi, updatePackageJSON, yParser, };
package/dist/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -25,11 +29,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
25
29
  return (mod && mod.__esModule) ? mod : { "default": mod };
26
30
  };
27
31
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.yParser = exports.updatePackageJSON = exports.stripAnsi = exports.semver = exports.rimraf = exports.resolve = exports.prompts = exports.portfinder = exports.pkgUp = exports.Mustache = exports.logger = exports.lodash = exports.installDeps = exports.generateFile = exports.BaseGenerator = exports.Generator = exports.glob = exports.fsExtra = exports.deepmerge = exports.debug = exports.crossSpawn = exports.clipboardy = exports.chokidar = exports.cheerio = exports.chalk = exports.axios = exports.address = exports.register = void 0;
32
+ exports.yParser = exports.updatePackageJSON = exports.stripAnsi = exports.semver = exports.rimraf = exports.resolve = exports.prompts = exports.portfinder = exports.pkgUp = exports.Mustache = exports.logger = exports.lodash = exports.installDeps = exports.generateFile = exports.BaseGenerator = exports.Generator = exports.glob = exports.fsExtra = exports.execa = exports.deepmerge = exports.debug = exports.crossSpawn = exports.chokidar = exports.cheerio = exports.chalk = exports.axios = exports.address = exports.register = void 0;
29
33
  const chokidar = __importStar(require("chokidar"));
30
34
  exports.chokidar = chokidar;
31
- const clipboardy = __importStar(require("clipboardy"));
32
- exports.clipboardy = clipboardy;
33
35
  const address_1 = __importDefault(require("../compiled/address"));
34
36
  exports.address = address_1.default;
35
37
  const axios_1 = __importDefault(require("../compiled/axios"));
@@ -44,6 +46,8 @@ const debug_1 = __importDefault(require("../compiled/debug"));
44
46
  exports.debug = debug_1.default;
45
47
  const deepmerge_1 = __importDefault(require("../compiled/deepmerge"));
46
48
  exports.deepmerge = deepmerge_1.default;
49
+ const execa = __importStar(require("../compiled/execa"));
50
+ exports.execa = execa;
47
51
  const fs_extra_1 = __importDefault(require("../compiled/fs-extra"));
48
52
  exports.fsExtra = fs_extra_1.default;
49
53
  const glob_1 = __importDefault(require("../compiled/glob"));
@@ -53,8 +57,8 @@ const lodash_1 = __importDefault(require("../compiled/lodash"));
53
57
  exports.lodash = lodash_1.default;
54
58
  const mustache_1 = __importDefault(require("../compiled/mustache"));
55
59
  exports.Mustache = mustache_1.default;
56
- const pkg_up_1 = __importDefault(require("../compiled/pkg-up"));
57
- exports.pkgUp = pkg_up_1.default;
60
+ const pkgUp = __importStar(require("../compiled/pkg-up"));
61
+ exports.pkgUp = pkgUp;
58
62
  const portfinder_1 = __importDefault(require("../compiled/portfinder"));
59
63
  exports.portfinder = portfinder_1.default;
60
64
  const prompts_1 = __importDefault(require("../compiled/prompts"));
@@ -81,8 +85,11 @@ const logger = __importStar(require("./logger"));
81
85
  exports.logger = logger;
82
86
  const updatePackageJSON_1 = __importDefault(require("./updatePackageJSON"));
83
87
  exports.updatePackageJSON = updatePackageJSON_1.default;
88
+ __exportStar(require("./getCorejsVersion"), exports);
84
89
  __exportStar(require("./importLazy"), exports);
90
+ __exportStar(require("./isStyleFile"), exports);
85
91
  __exportStar(require("./npmClient"), exports);
86
92
  __exportStar(require("./randomColor/randomColor"), exports);
87
93
  exports.register = __importStar(require("./register"));
94
+ __exportStar(require("./tryPaths"), exports);
88
95
  __exportStar(require("./winPath"), exports);
@@ -1,11 +1,31 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
4
24
  };
5
25
  Object.defineProperty(exports, "__esModule", { value: true });
6
26
  const fs_1 = require("fs");
7
27
  const path_1 = require("path");
8
- const execa_1 = __importDefault(require("../compiled/execa"));
28
+ const execa = __importStar(require("../compiled/execa"));
9
29
  function installDeps({ opts, cwd = process.cwd(), }) {
10
30
  const { dependencies, devDependencies } = opts;
11
31
  const useYarn = (0, fs_1.existsSync)((0, path_1.join)(cwd, 'yarn.lock')) ||
@@ -17,13 +37,15 @@ function installDeps({ opts, cwd = process.cwd(), }) {
17
37
  const devTag = useYarn || usePnpm ? '--D' : '--save-dev';
18
38
  const installDependencies = (deps, npmStr, insStr, devStr) => {
19
39
  console.log(`${npmStr} install dependencies packages:${deps.join(' ')}`);
20
- execa_1.default.commandSync([npmStr, insStr, devStr]
40
+ execa.execaCommandSync([npmStr, insStr, devStr]
21
41
  .concat(deps)
22
42
  .filter((n) => n)
23
43
  .join(' '), {
24
44
  encoding: 'utf8',
25
45
  cwd,
26
- env: Object.assign({}, process.env),
46
+ env: {
47
+ ...process.env,
48
+ },
27
49
  stderr: 'pipe',
28
50
  stdout: 'pipe',
29
51
  });
@@ -0,0 +1,5 @@
1
+ export declare const AUTO_CSS_MODULE_EXTS: string[];
2
+ export declare const isStyleFile: ({ filename, ext, }: {
3
+ filename?: string | undefined;
4
+ ext?: string | undefined;
5
+ }) => boolean;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isStyleFile = exports.AUTO_CSS_MODULE_EXTS = void 0;
4
+ const path_1 = require("path");
5
+ exports.AUTO_CSS_MODULE_EXTS = [
6
+ '.css',
7
+ '.less',
8
+ '.sass',
9
+ '.scss',
10
+ '.stylus',
11
+ '.styl',
12
+ ];
13
+ const isStyleFile = ({ filename, ext, }) => {
14
+ return exports.AUTO_CSS_MODULE_EXTS.includes(ext !== null && ext !== void 0 ? ext : (0, path_1.extname)(filename));
15
+ };
16
+ exports.isStyleFile = isStyleFile;
package/dist/logger.d.ts CHANGED
@@ -5,10 +5,12 @@ export declare const prefixes: {
5
5
  ready: string;
6
6
  info: string;
7
7
  event: string;
8
+ debug: string;
8
9
  };
9
- export declare function wait(...message: string[]): void;
10
- export declare function error(...message: string[]): void;
11
- export declare function warn(...message: string[]): void;
12
- export declare function ready(...message: string[]): void;
13
- export declare function info(...message: string[]): void;
14
- export declare function event(...message: string[]): void;
10
+ export declare function wait(...message: any[]): void;
11
+ export declare function error(...message: any[]): void;
12
+ export declare function warn(...message: any[]): void;
13
+ export declare function ready(...message: any[]): void;
14
+ export declare function info(...message: any[]): void;
15
+ export declare function event(...message: any[]): void;
16
+ export declare function debug(...message: any[]): void;
package/dist/logger.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.event = exports.info = exports.ready = exports.warn = exports.error = exports.wait = exports.prefixes = void 0;
6
+ exports.debug = exports.event = exports.info = exports.ready = exports.warn = exports.error = exports.wait = exports.prefixes = void 0;
7
7
  const chalk_1 = __importDefault(require("../compiled/chalk"));
8
8
  exports.prefixes = {
9
9
  wait: chalk_1.default.cyan('wait') + ' -',
@@ -12,6 +12,7 @@ exports.prefixes = {
12
12
  ready: chalk_1.default.green('ready') + ' -',
13
13
  info: chalk_1.default.cyan('info') + ' -',
14
14
  event: chalk_1.default.magenta('event') + ' -',
15
+ debug: chalk_1.default.gray('debug') + ' -',
15
16
  };
16
17
  function wait(...message) {
17
18
  console.log(exports.prefixes.wait, ...message);
@@ -37,3 +38,9 @@ function event(...message) {
37
38
  console.log(exports.prefixes.event, ...message);
38
39
  }
39
40
  exports.event = event;
41
+ function debug(...message) {
42
+ if (process.env.DEBUG) {
43
+ console.log(exports.prefixes.debug, ...message);
44
+ }
45
+ }
46
+ exports.debug = debug;
@@ -7,8 +7,9 @@ export declare enum NpmClientEnum {
7
7
  yarn = "yarn",
8
8
  npm = "npm"
9
9
  }
10
- export declare const getNpmClient: () => NpmClient;
11
- export declare const checkNpmClient: (npmClient: NpmClient) => boolean;
10
+ export declare const getNpmClient: (opts: {
11
+ cwd: string;
12
+ }) => NpmClient;
12
13
  export declare const installWithNpmClient: ({ npmClient, cwd, }: {
13
14
  npmClient: NpmClient;
14
15
  cwd?: string | undefined;
package/dist/npmClient.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.installWithNpmClient = exports.checkNpmClient = exports.getNpmClient = exports.NpmClientEnum = exports.npmClients = void 0;
3
+ exports.installWithNpmClient = exports.getNpmClient = exports.NpmClientEnum = exports.npmClients = void 0;
4
+ const fs_1 = require("fs");
5
+ const path_1 = require("path");
4
6
  exports.npmClients = ['pnpm', 'tnpm', 'cnpm', 'yarn', 'npm'];
5
7
  var NpmClientEnum;
6
8
  (function (NpmClientEnum) {
@@ -10,29 +12,28 @@ var NpmClientEnum;
10
12
  NpmClientEnum["yarn"] = "yarn";
11
13
  NpmClientEnum["npm"] = "npm";
12
14
  })(NpmClientEnum = exports.NpmClientEnum || (exports.NpmClientEnum = {}));
13
- const getNpmClient = () => {
14
- const userAgent = process.env.npm_config_user_agent;
15
- if (userAgent) {
16
- if (userAgent.includes('pnpm'))
17
- return 'pnpm';
18
- if (userAgent.includes('tnpm'))
19
- return 'tnpm';
20
- if (userAgent.includes('yarn'))
21
- return 'yarn';
22
- if (userAgent.includes('cnpm'))
23
- return 'cnpm';
15
+ const getNpmClient = (opts) => {
16
+ const chokidarPkg = require('chokidar/package.json');
17
+ if (chokidarPkg.__npminstall_done) {
18
+ return chokidarPkg._resolved.includes('registry.npm.alibaba-inc.com')
19
+ ? 'tnpm'
20
+ : 'cnpm';
21
+ }
22
+ const chokidarPath = require.resolve('chokidar');
23
+ if (chokidarPath.includes('.pnpm') ||
24
+ (0, fs_1.existsSync)((0, path_1.join)(opts.cwd, 'node_modules', '.pnpm'))) {
25
+ return 'pnpm';
26
+ }
27
+ if ((0, fs_1.existsSync)((0, path_1.join)(opts.cwd, 'yarn.lock')) ||
28
+ (0, fs_1.existsSync)((0, path_1.join)(opts.cwd, 'node_modules', '.yarn-integrity'))) {
29
+ return 'yarn';
24
30
  }
25
31
  return 'npm';
26
32
  };
27
33
  exports.getNpmClient = getNpmClient;
28
- const checkNpmClient = (npmClient) => {
29
- const userAgent = process.env.npm_config_user_agent;
30
- return !!(userAgent && userAgent.includes(npmClient));
31
- };
32
- exports.checkNpmClient = checkNpmClient;
33
34
  const installWithNpmClient = ({ npmClient, cwd, }) => {
34
- const { spawnSync } = require('child_process');
35
- const npm = spawnSync(npmClient, [npmClient === 'yarn' ? '' : 'install'], {
35
+ const { sync } = require('../compiled/cross-spawn');
36
+ const npm = sync(npmClient, [npmClient === 'yarn' ? '' : 'install'], {
36
37
  stdio: 'inherit',
37
38
  cwd,
38
39
  });
@@ -1,5 +1,6 @@
1
1
  export declare function register(opts: {
2
2
  implementor: any;
3
+ exts?: string[];
3
4
  }): void;
4
5
  export declare function getFiles(): string[];
5
6
  export declare function clearFiles(): void;
package/dist/register.js CHANGED
@@ -1,32 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.restore = exports.clearFiles = exports.getFiles = exports.register = void 0;
4
- const fs_1 = require("fs");
4
+ const path_1 = require("path");
5
+ const pirates_1 = require("../compiled/pirates");
6
+ const COMPILE_EXTS = ['.ts', '.tsx', '.js', '.jsx'];
7
+ const HOOK_EXTS = [...COMPILE_EXTS, '.mjs'];
5
8
  let registered = false;
6
9
  let files = [];
7
- const Extensions = {};
10
+ let revert = () => { };
8
11
  function transform(opts) {
9
- return (mod, filename) => {
10
- files.push(filename);
11
- let code = (0, fs_1.readFileSync)(filename, 'utf-8');
12
- if (['.ts', '.tsx'].includes(opts.extname)) {
13
- code = opts.implementor.transformSync(code, {
14
- loader: opts.extname.slice(1),
15
- target: 'es2017',
16
- format: 'cjs',
17
- }).code;
18
- }
19
- mod._compile(code, filename);
20
- };
12
+ const { code, filename, implementor } = opts;
13
+ files.push(filename);
14
+ const ext = (0, path_1.extname)(filename);
15
+ return implementor.transformSync(code, {
16
+ loader: ext.slice(1),
17
+ target: 'es2017',
18
+ format: 'cjs',
19
+ }).code;
21
20
  }
22
21
  function register(opts) {
23
22
  files = [];
24
- const types = ['.ts', '.tsx', '.js', '.jsx', '.mjs'];
25
23
  if (!registered) {
26
- for (const type of types) {
27
- Extensions[type] = require.extensions[type];
28
- require.extensions[type] = transform(Object.assign(Object.assign({}, opts), { extname: type }));
29
- }
24
+ revert = (0, pirates_1.addHook)((code, filename) => transform({ code, filename, implementor: opts.implementor }), {
25
+ ext: opts.exts || HOOK_EXTS,
26
+ ignoreNodeModules: true,
27
+ });
30
28
  registered = true;
31
29
  }
32
30
  }
@@ -40,8 +38,7 @@ function clearFiles() {
40
38
  }
41
39
  exports.clearFiles = clearFiles;
42
40
  function restore() {
43
- for (const type of Object.keys(Extensions)) {
44
- require.extensions[type] = Extensions[type];
45
- }
41
+ revert();
42
+ registered = false;
46
43
  }
47
44
  exports.restore = restore;
@@ -0,0 +1 @@
1
+ export declare function tryPaths(paths: string[]): string | undefined;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tryPaths = void 0;
4
+ const fs_1 = require("fs");
5
+ function tryPaths(paths) {
6
+ for (const path of paths) {
7
+ if ((0, fs_1.existsSync)(path))
8
+ return path;
9
+ }
10
+ }
11
+ exports.tryPaths = tryPaths;
package/package.json CHANGED
@@ -1,6 +1,13 @@
1
1
  {
2
2
  "name": "@umijs/utils",
3
- "version": "4.0.0-beta.7",
3
+ "version": "4.0.0-canary.202200505.1",
4
+ "homepage": "https://github.com/umijs/umi-next/tree/master/packages/utils#readme",
5
+ "bugs": "https://github.com/umijs/umi-next/issues",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/umijs/umi-next"
9
+ },
10
+ "license": "MIT",
4
11
  "main": "dist/index.js",
5
12
  "types": "dist/index.d.ts",
6
13
  "files": [
@@ -9,60 +16,53 @@
9
16
  ],
10
17
  "scripts": {
11
18
  "build": "pnpm tsc",
12
- "build:deps": "pnpm esno ../../scripts/bundleDeps.ts",
13
- "dev": "pnpm build -- --watch"
14
- },
15
- "repository": {
16
- "type": "git",
17
- "url": "https://github.com/umijs/umi-next"
18
- },
19
- "authors": [
20
- "chencheng <sorrycc@gmail.com> (https://github.com/sorrycc)"
21
- ],
22
- "license": "MIT",
23
- "bugs": "https://github.com/umijs/umi-next/issues",
24
- "homepage": "https://github.com/umijs/umi-next/tree/master/packages/utils#readme",
25
- "publishConfig": {
26
- "access": "public"
19
+ "build:deps": "umi-scripts bundleDeps",
20
+ "dev": "pnpm build -- --watch",
21
+ "test": "umi-scripts jest-turbo"
27
22
  },
28
23
  "dependencies": {
29
- "chokidar": "3.5.2",
30
- "clipboardy": "2.3.0"
24
+ "chokidar": "3.5.3"
31
25
  },
32
26
  "devDependencies": {
33
- "@types/color": "3.0.2",
27
+ "@types/color": "3.0.3",
34
28
  "@types/cross-spawn": "6.0.2",
35
29
  "@types/debug": "4.1.7",
36
- "@types/lodash": "4.14.176",
30
+ "@types/lodash": "4.14.182",
37
31
  "@types/mustache": "4.1.2",
38
32
  "@types/prompts": "^2.0.14",
39
33
  "@types/rimraf": "3.0.2",
40
34
  "@types/semver": "7.3.9",
41
35
  "address": "1.1.2",
42
- "axios": "0.23.0",
43
- "chalk": "4.1.2",
36
+ "axios": "0.26.1",
37
+ "chalk": "5.0.1",
44
38
  "cheerio": "1.0.0-rc.10",
45
- "color": "4.0.1",
39
+ "color": "4.2.3",
46
40
  "cross-spawn": "7.0.3",
47
- "debug": "4.3.2",
41
+ "debug": "4.3.4",
48
42
  "deepmerge": "4.2.2",
49
- "execa": "5.1.1",
50
- "fs-extra": "10.0.0",
51
- "glob": "7.2.0",
52
- "globby": "11.0.4",
43
+ "execa": "6.1.0",
44
+ "fs-extra": "10.0.1",
45
+ "glob": "8.0.1",
53
46
  "import-lazy": "4.0.0",
54
47
  "lodash": "4.17.21",
55
48
  "mustache": "4.2.0",
56
- "pkg-up": "3.1.0",
49
+ "pirates": "4.0.5",
50
+ "pkg-up": "4.0.0",
57
51
  "portfinder": "1.0.28",
58
- "prettier": "2.4.1",
52
+ "prettier": "2.6.2",
59
53
  "prompts": "2.4.2",
60
- "resolve": "1.20.0",
54
+ "resolve": "1.22.0",
61
55
  "rimraf": "3.0.2",
62
- "semver": "7.3.5",
63
- "strip-ansi": "6.0.1",
64
- "yargs-parser": "20.2.9"
56
+ "semver": "7.3.6",
57
+ "strip-ansi": "7.0.1",
58
+ "yargs-parser": "21.0.1"
65
59
  },
60
+ "publishConfig": {
61
+ "access": "public"
62
+ },
63
+ "authors": [
64
+ "chencheng <sorrycc@gmail.com> (https://github.com/sorrycc)"
65
+ ],
66
66
  "compiledConfig": {
67
67
  "deps": [
68
68
  "address",
@@ -87,7 +87,8 @@
87
87
  "resolve",
88
88
  "semver",
89
89
  "strip-ansi",
90
- "yargs-parser"
90
+ "yargs-parser",
91
+ "pirates"
91
92
  ],
92
93
  "externals": {
93
94
  "address": "$$LOCAL",
@@ -107,7 +108,8 @@
107
108
  "resolve": "$$LOCAL",
108
109
  "semver": "$$LOCAL",
109
110
  "strip-ansi": "$$LOCAL",
110
- "yargs-parser": "$$LOCAL"
111
+ "yargs-parser": "$$LOCAL",
112
+ "pirates": "$$LOCAL"
111
113
  }
112
114
  }
113
115
  }