@shuvi/utils 1.0.55 → 1.0.57

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/async.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- export declare type Results<T = any> = T[] & {
1
+ export type Results<T = any> = T[] & {
2
2
  first: T;
3
3
  _firstFlag: boolean;
4
4
  };
5
- export declare type SimpleCallback = () => any;
5
+ export type SimpleCallback = () => any;
6
6
  export interface AsyncParallelIteratorCallback<T = unknown, E = unknown> {
7
7
  (err?: E | null, value?: T): void;
8
8
  }
@@ -15,5 +15,5 @@ export interface AsyncIterator<T, E> {
15
15
  export interface ErrorCallback<T> {
16
16
  (err?: T | null): void;
17
17
  }
18
- export declare type AsyncParallelCallback<T, E> = (finishedNum: number, values: Results<T>, errors: Results<E>, done: SimpleCallback) => any;
18
+ export type AsyncParallelCallback<T, E> = (finishedNum: number, values: Results<T>, errors: Results<E>, done: SimpleCallback) => any;
19
19
  export declare function each<T = unknown, E = unknown>(targets: T[], handler: AsyncIterator<T, E>, cb?: ErrorCallback<E>): void;
package/lib/async.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.each = void 0;
3
+ exports.each = each;
4
4
  function runParallel(targets, handler, cb) {
5
5
  const values = [];
6
6
  const errors = [];
@@ -53,4 +53,3 @@ function each(targets, handler, cb) {
53
53
  }
54
54
  });
55
55
  }
56
- exports.each = each;
package/lib/deepmerge.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deepmerge = void 0;
3
+ exports.deepmerge = deepmerge;
4
4
  function mergeTwoObject(origin, target) {
5
5
  if (target === null || typeof target === 'undefined') {
6
6
  return origin;
@@ -24,4 +24,3 @@ function mergeTwoObject(origin, target) {
24
24
  function deepmerge(...args) {
25
25
  return args.reduce(mergeTwoObject, {});
26
26
  }
27
- exports.deepmerge = deepmerge;
package/lib/defer.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createDefer = void 0;
3
+ exports.createDefer = createDefer;
4
4
  function createDefer() {
5
5
  let defer = {
6
6
  resolve: null,
@@ -19,4 +19,3 @@ function createDefer() {
19
19
  });
20
20
  return defer;
21
21
  }
22
- exports.createDefer = createDefer;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.escapeRegExp = void 0;
3
+ exports.escapeRegExp = escapeRegExp;
4
4
  function escapeRegExp(s) {
5
5
  return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
6
6
  }
7
- exports.escapeRegExp = escapeRegExp;
package/lib/events.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- declare type AnyHandler = (...args: any) => void;
2
- export declare type RemoveListenerCallback = () => void | undefined;
3
- export declare type Event<F extends AnyHandler> = {
1
+ type AnyHandler = (...args: any) => void;
2
+ export type RemoveListenerCallback = () => void | undefined;
3
+ export type Event<F extends AnyHandler> = {
4
4
  toArray: () => F[];
5
5
  length: number;
6
6
  on: (fn: F) => RemoveListenerCallback;
@@ -9,7 +9,7 @@ export declare type Event<F extends AnyHandler> = {
9
9
  export interface EventMap {
10
10
  [key: string]: AnyHandler;
11
11
  }
12
- export declare type Events<EM extends EventMap = EventMap> = {
12
+ export type Events<EM extends EventMap = EventMap> = {
13
13
  on<Name extends keyof EM, Handler = EM[Name]>(type: Name, handler: Handler): RemoveListenerCallback;
14
14
  emit<Name extends keyof EM, Handler extends AnyHandler = EM[Name]>(type: string, ...args: Parameters<Handler>): void;
15
15
  };
package/lib/events.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createEvents = exports.createEvent = void 0;
3
+ exports.createEvent = createEvent;
4
+ exports.createEvents = createEvents;
4
5
  function createEvent() {
5
6
  let handlers = [];
6
7
  return {
@@ -22,7 +23,6 @@ function createEvent() {
22
23
  }
23
24
  };
24
25
  }
25
- exports.createEvent = createEvent;
26
26
  function createEvents() {
27
27
  const all = Object.create(null);
28
28
  return {
@@ -43,4 +43,3 @@ function createEvents() {
43
43
  }
44
44
  };
45
45
  }
46
- exports.createEvents = createEvents;
package/lib/file.js CHANGED
@@ -32,17 +32,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
32
32
  });
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.normalizePath = exports.isDirectory = exports.resolveFile = exports.findFirstExistedFile = exports.removeExt = exports.withExts = void 0;
35
+ exports.normalizePath = exports.isDirectory = exports.resolveFile = exports.findFirstExistedFile = void 0;
36
+ exports.withExts = withExts;
37
+ exports.removeExt = removeExt;
36
38
  const fs = __importStar(require("fs"));
37
39
  const path = __importStar(require("path"));
38
40
  function withExts(file, extensions) {
39
41
  return extensions.map(ext => `${file}${ext}`);
40
42
  }
41
- exports.withExts = withExts;
42
43
  function removeExt(file) {
43
44
  return file.replace(/\.\w+$/, '');
44
45
  }
45
- exports.removeExt = removeExt;
46
46
  const findFirstExistedFile = (files) => {
47
47
  for (let index = 0; index < files.length; index++) {
48
48
  const file = files[index];
@@ -14,6 +14,6 @@ export interface WatchOptions {
14
14
  startTime?: number;
15
15
  ignoreFileContentUpdate?: boolean;
16
16
  }
17
- export declare type WatchCallback = (event: WatchEvent) => void;
18
- export declare type ChangeCallback = (file: string, time: number) => void;
17
+ export type WatchCallback = (event: WatchEvent) => void;
18
+ export type ChangeCallback = (file: string, time: number) => void;
19
19
  export declare function watch({ files, directories, missing, aggregateTimeout, startTime, ignoreFileContentUpdate }: WatchOptions, callback: WatchCallback, callbackUndelayed?: ChangeCallback): () => void;
@@ -3,7 +3,8 @@ 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.watch = exports.Watchpack = void 0;
6
+ exports.Watchpack = void 0;
7
+ exports.watch = watch;
7
8
  const watchpack_1 = __importDefault(require("watchpack"));
8
9
  exports.Watchpack = watchpack_1.default;
9
10
  const watchpackExplanationType = {
@@ -78,4 +79,3 @@ function watch({ files, directories, missing, aggregateTimeout, startTime = Date
78
79
  wp.close();
79
80
  };
80
81
  }
81
- exports.watch = watch;
package/lib/htmlescape.js CHANGED
@@ -2,7 +2,8 @@
2
2
  // This utility is based on https://github.com/zertosh/htmlescape
3
3
  // License: https://github.com/zertosh/htmlescape/blob/0527ca7156a524d256101bb310a9f970f63078ad/LICENSE
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.htmlEscapeContent = exports.htmlEscapeJsonString = void 0;
5
+ exports.htmlEscapeJsonString = htmlEscapeJsonString;
6
+ exports.htmlEscapeContent = htmlEscapeContent;
6
7
  const JSON_ESCAPE_LOOKUP = {
7
8
  '&': '\\u0026',
8
9
  '>': '\\u003e',
@@ -14,7 +15,6 @@ const JSON_ESCAPE_REGEX = /[&><\u2028\u2029]/g;
14
15
  function htmlEscapeJsonString(str) {
15
16
  return str.replace(JSON_ESCAPE_REGEX, (match) => JSON_ESCAPE_LOOKUP[match]);
16
17
  }
17
- exports.htmlEscapeJsonString = htmlEscapeJsonString;
18
18
  const CONTENT_ESCAPE_LOOKUP = {
19
19
  '&': '&amp;',
20
20
  '"': '&quot;',
@@ -26,4 +26,3 @@ const CONTENT_ESCAPE_REGEX = /[&><\'\"]/g;
26
26
  function htmlEscapeContent(str) {
27
27
  return str.replace(CONTENT_ESCAPE_REGEX, (match) => CONTENT_ESCAPE_LOOKUP[match]);
28
28
  }
29
- exports.htmlEscapeContent = htmlEscapeContent;
package/lib/index.d.ts CHANGED
@@ -3,12 +3,12 @@ export * from './defer';
3
3
  export declare const EMPTY_OBJ: {};
4
4
  export declare const extend: {
5
5
  <T extends {}, U>(target: T, source: U): T & U;
6
- <T_1 extends {}, U_1, V>(target: T_1, source1: U_1, source2: V): T_1 & U_1 & V;
7
- <T_2 extends {}, U_2, V_1, W>(target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W;
6
+ <T extends {}, U, V>(target: T, source1: U, source2: V): T & U & V;
7
+ <T extends {}, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W;
8
8
  (target: object, ...sources: any[]): any;
9
9
  };
10
10
  export declare const isArray: (arg: any) => arg is any[];
11
11
  export declare const isObject: (val: unknown) => val is Record<any, any>;
12
12
  export declare const isFunction: (val: unknown) => val is Function;
13
- export declare const hasOwn: (val: object, key: string | symbol) => key is never;
13
+ export declare const hasOwn: (val: object, key: string | symbol) => key is keyof typeof val;
14
14
  export declare function getType(obj: any): string;
package/lib/index.js CHANGED
@@ -17,7 +17,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.getType = exports.hasOwn = exports.isFunction = exports.isObject = exports.isArray = exports.extend = exports.EMPTY_OBJ = exports.NOOP = void 0;
20
+ exports.hasOwn = exports.isFunction = exports.isObject = exports.isArray = exports.extend = exports.EMPTY_OBJ = exports.NOOP = void 0;
21
+ exports.getType = getType;
21
22
  var noopFn_1 = require("./noopFn");
22
23
  Object.defineProperty(exports, "NOOP", { enumerable: true, get: function () { return __importDefault(noopFn_1).default; } });
23
24
  __exportStar(require("./defer"), exports);
@@ -41,4 +42,3 @@ function getType(obj) {
41
42
  // inspect [[Class]] for objects
42
43
  return toString.call(obj).replace(objectRegExp, '$1');
43
44
  }
44
- exports.getType = getType;
package/lib/once.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.once = void 0;
3
+ exports.once = once;
4
4
  function once(fn) {
5
5
  let hasRun = false;
6
6
  let result;
@@ -13,4 +13,3 @@ function once(fn) {
13
13
  }
14
14
  return wrapped;
15
15
  }
16
- exports.once = once;
@@ -32,7 +32,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
32
32
  });
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.recursiveCopy = void 0;
35
+ exports.recursiveCopy = recursiveCopy;
36
36
  const path = __importStar(require("path"));
37
37
  const fs = __importStar(require("fs"));
38
38
  const util_1 = require("util");
@@ -42,8 +42,8 @@ const fsStat = (0, util_1.promisify)(fs.stat);
42
42
  const fsReaddir = (0, util_1.promisify)(fs.readdir);
43
43
  const fsCopyFile = (0, util_1.promisify)(fs.copyFile);
44
44
  const COPYFILE_EXCL = fs.constants.COPYFILE_EXCL;
45
- function recursiveCopy(source, dest, { concurrency = 255, filter = () => true } = {}) {
46
- return __awaiter(this, void 0, void 0, function* () {
45
+ function recursiveCopy(source_1, dest_1) {
46
+ return __awaiter(this, arguments, void 0, function* (source, dest, { concurrency = 255, filter = () => true } = {}) {
47
47
  const cwdPath = process.cwd();
48
48
  const from = path.resolve(cwdPath, source);
49
49
  const to = path.resolve(cwdPath, dest);
@@ -79,4 +79,3 @@ function recursiveCopy(source, dest, { concurrency = 255, filter = () => true }
79
79
  yield _copy(from);
80
80
  });
81
81
  }
82
- exports.recursiveCopy = recursiveCopy;
@@ -32,7 +32,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
32
32
  });
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.recursiveDelete = void 0;
35
+ exports.recursiveDelete = recursiveDelete;
36
36
  const fs = __importStar(require("fs"));
37
37
  const path_1 = require("path");
38
38
  const util_1 = require("util");
@@ -41,7 +41,7 @@ const fsStat = (0, util_1.promisify)(fs.stat);
41
41
  const fsRmdir = (0, util_1.promisify)(fs.rmdir);
42
42
  const fsUnlink = (0, util_1.promisify)(fs.unlink);
43
43
  const sleep = (0, util_1.promisify)(setTimeout);
44
- const unlinkFile = (p, t = 1) => __awaiter(void 0, void 0, void 0, function* () {
44
+ const unlinkFile = (p_1, ...args_1) => __awaiter(void 0, [p_1, ...args_1], void 0, function* (p, t = 1) {
45
45
  try {
46
46
  yield fsUnlink(p);
47
47
  }
@@ -68,8 +68,8 @@ const unlinkFile = (p, t = 1) => __awaiter(void 0, void 0, void 0, function* ()
68
68
  * @param {RegExp} options.ignore Ignore certain files, only the relative file path is considered, not the full path
69
69
  * @param {string} options.rootDir Used to replace the initial path, only the relative path is left, it's faster than path.relative.
70
70
  */
71
- function recursiveDelete(dir, { filter, ignore, rootDir = dir } = {}) {
72
- return __awaiter(this, void 0, void 0, function* () {
71
+ function recursiveDelete(dir_1) {
72
+ return __awaiter(this, arguments, void 0, function* (dir, { filter, ignore, rootDir = dir } = {}) {
73
73
  let result;
74
74
  try {
75
75
  result = yield fsReaddir(dir);
@@ -108,4 +108,3 @@ function recursiveDelete(dir, { filter, ignore, rootDir = dir } = {}) {
108
108
  })));
109
109
  });
110
110
  }
111
- exports.recursiveDelete = recursiveDelete;
@@ -1,4 +1,4 @@
1
- declare type Test = RegExp | ((v: string) => boolean);
1
+ type Test = RegExp | ((v: string) => boolean);
2
2
  /**
3
3
  * Recursively read directory
4
4
  * @param {string} dir Directory to read
@@ -32,7 +32,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
32
32
  });
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.recursiveReadDirSync = exports.recursiveReadDir = void 0;
35
+ exports.recursiveReadDir = recursiveReadDir;
36
+ exports.recursiveReadDirSync = recursiveReadDirSync;
36
37
  const fs = __importStar(require("fs"));
37
38
  const path = __importStar(require("path"));
38
39
  const util_1 = require("util");
@@ -54,8 +55,8 @@ function runTest(test, v) {
54
55
  * @param {string} options.arr This doesn't have to be provided, it's used for the recursion
55
56
  * @returns {Promise<string[]>} Promise array holding all relative paths
56
57
  */
57
- function recursiveReadDir(dir, { filter, ignore, rootDir = dir, arr = [] } = {}) {
58
- return __awaiter(this, void 0, void 0, function* () {
58
+ function recursiveReadDir(dir_1) {
59
+ return __awaiter(this, arguments, void 0, function* (dir, { filter, ignore, rootDir = dir, arr = [] } = {}) {
59
60
  const result = yield fsReaddir(dir);
60
61
  yield Promise.all(result.map((part) => __awaiter(this, void 0, void 0, function* () {
61
62
  const absolutePath = path.join(dir, part);
@@ -76,7 +77,6 @@ function recursiveReadDir(dir, { filter, ignore, rootDir = dir, arr = [] } = {})
76
77
  return arr.sort();
77
78
  });
78
79
  }
79
- exports.recursiveReadDir = recursiveReadDir;
80
80
  /**
81
81
  * Recursively read directory
82
82
  * @param {string} dir Directory to read
@@ -105,4 +105,3 @@ function recursiveReadDirSync(dir, { filter, ignore, rootDir = dir, arr = [] } =
105
105
  });
106
106
  return arr.sort();
107
107
  }
108
- exports.recursiveReadDirSync = recursiveReadDirSync;
package/lib/resolve.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import * as _resolve from 'resolve';
2
- export declare type ResolveOptions = _resolve.SyncOpts;
3
- export declare const resolve: (id: string, opts?: _resolve.SyncOpts | undefined) => string;
2
+ export type ResolveOptions = _resolve.SyncOpts;
3
+ export declare const resolve: (id: string, opts?: _resolve.SyncOpts) => string;
package/lib/string.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.joinPath = void 0;
3
+ exports.joinPath = joinPath;
4
4
  function joinPath(lead, ...paths) {
5
5
  if (paths.length < 1) {
6
6
  return lead;
@@ -9,4 +9,3 @@ function joinPath(lead, ...paths) {
9
9
  '/' +
10
10
  paths.join('/').replace(/\\/g, '/').replace(/\/+/g, '/').replace(/^\/+/, ''));
11
11
  }
12
- exports.joinPath = joinPath;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shuvi/utils",
3
- "version": "1.0.55",
3
+ "version": "1.0.57",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/shuvijs/shuvi.git",