@visulima/package 3.5.2 → 3.5.4
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/CHANGELOG.md +18 -0
- package/dist/error.cjs +1 -1
- package/dist/error.mjs +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.mjs +1 -1
- package/dist/monorepo.mjs +2 -2
- package/dist/package-json.cjs +8 -8
- package/dist/package-json.d.cts +1 -1
- package/dist/package-json.d.mts +1 -1
- package/dist/package-json.d.ts +1 -1
- package/dist/package-json.mjs +8 -8
- package/dist/package-manager.cjs +4 -4
- package/dist/package-manager.mjs +4 -4
- package/dist/package.cjs +1 -1
- package/dist/package.mjs +3 -3
- package/dist/packem_shared/{PackageNotFoundError-BQIw1KE1.mjs → PackageNotFoundError-Ck8Sk4z9.mjs} +2 -2
- package/dist/packem_shared/{PackageNotFoundError-CK1uhGFr.cjs → PackageNotFoundError-g9G2-W3s.cjs} +2 -2
- package/dist/packem_shared/{package-json-z2Cyn4CW.d.ts → package-json-DvaC9k-3.d.cts} +76 -149
- package/dist/packem_shared/{package-json-z2Cyn4CW.d.cts → package-json-DvaC9k-3.d.mts} +76 -149
- package/dist/packem_shared/{package-json-z2Cyn4CW.d.mts → package-json-DvaC9k-3.d.ts} +76 -149
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
## @visulima/package [3.5.4](https://github.com/visulima/visulima/compare/@visulima/package@3.5.3...@visulima/package@3.5.4) (2025-03-12)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* **package:** update @inquirer/confirm, @babel/core, @inquirer/core, @inquirer/type, @pnpm/exe, @rushstack/eslint-plugin-security, and eslint-plugin-mdx to latest versions ([c6ce243](https://github.com/visulima/visulima/commit/c6ce2433e6c4fad6ebe5f8b34fc2662146ccd47a))
|
|
6
|
+
|
|
7
|
+
## @visulima/package [3.5.3](https://github.com/visulima/visulima/compare/@visulima/package@3.5.2...@visulima/package@3.5.3) (2025-03-07)
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* updated @visulima/packem and other dev deps, for better bundling size ([e940581](https://github.com/visulima/visulima/commit/e9405812201594e54dd81d17ddb74177df5f3c24))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Dependencies
|
|
15
|
+
|
|
16
|
+
* **@visulima/fs:** upgraded to 3.1.2
|
|
17
|
+
* **@visulima/path:** upgraded to 1.3.5
|
|
18
|
+
|
|
1
19
|
## @visulima/package [3.5.2](https://github.com/visulima/visulima/compare/@visulima/package@3.5.1...@visulima/package@3.5.2) (2025-03-03)
|
|
2
20
|
|
|
3
21
|
### Miscellaneous Chores
|
package/dist/error.cjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
4
4
|
|
|
5
|
-
const PackageNotFoundError = require('./packem_shared/PackageNotFoundError-
|
|
5
|
+
const PackageNotFoundError = require('./packem_shared/PackageNotFoundError-g9G2-W3s.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
package/dist/error.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default as PackageNotFoundError } from './packem_shared/PackageNotFoundError-
|
|
1
|
+
export { default as PackageNotFoundError } from './packem_shared/PackageNotFoundError-Ck8Sk4z9.mjs';
|
package/dist/index.cjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
4
4
|
|
|
5
|
-
const PackageNotFoundError = require('./packem_shared/PackageNotFoundError-
|
|
5
|
+
const PackageNotFoundError = require('./packem_shared/PackageNotFoundError-g9G2-W3s.cjs');
|
|
6
6
|
const monorepo = require('./monorepo.cjs');
|
|
7
7
|
const _package = require('./package.cjs');
|
|
8
8
|
const packageJson = require('./package-json.cjs');
|
package/dist/index.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { PackageNotFoundError } from './error.cjs';
|
|
2
2
|
export { RootMonorepo, Strategy, findMonorepoRoot, findMonorepoRootSync } from './monorepo.cjs';
|
|
3
3
|
export { findPackageRoot, findPackageRootSync } from './package.cjs';
|
|
4
|
-
export { E as EnsurePackagesOptions, F as FindPackageJsonCache, d as NormalizedPackageJson, N as NormalizedReadResult, P as PackageJson, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-
|
|
4
|
+
export { E as EnsurePackagesOptions, F as FindPackageJsonCache, d as NormalizedPackageJson, N as NormalizedReadResult, P as PackageJson, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-DvaC9k-3.cjs';
|
|
5
5
|
export { PackageManager, PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, generateMissingPackagesInstallMessage, getPackageManagerVersion, identifyInitiatingPackageManager } from './package-manager.cjs';
|
|
6
6
|
import '@visulima/fs';
|
|
7
7
|
import '@antfu/install-pkg';
|
package/dist/index.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { PackageNotFoundError } from './error.mjs';
|
|
2
2
|
export { RootMonorepo, Strategy, findMonorepoRoot, findMonorepoRootSync } from './monorepo.mjs';
|
|
3
3
|
export { findPackageRoot, findPackageRootSync } from './package.mjs';
|
|
4
|
-
export { E as EnsurePackagesOptions, F as FindPackageJsonCache, d as NormalizedPackageJson, N as NormalizedReadResult, P as PackageJson, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-
|
|
4
|
+
export { E as EnsurePackagesOptions, F as FindPackageJsonCache, d as NormalizedPackageJson, N as NormalizedReadResult, P as PackageJson, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-DvaC9k-3.mjs';
|
|
5
5
|
export { PackageManager, PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, generateMissingPackagesInstallMessage, getPackageManagerVersion, identifyInitiatingPackageManager } from './package-manager.mjs';
|
|
6
6
|
import '@visulima/fs';
|
|
7
7
|
import '@antfu/install-pkg';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { PackageNotFoundError } from './error.js';
|
|
2
2
|
export { RootMonorepo, Strategy, findMonorepoRoot, findMonorepoRootSync } from './monorepo.js';
|
|
3
3
|
export { findPackageRoot, findPackageRootSync } from './package.js';
|
|
4
|
-
export { E as EnsurePackagesOptions, F as FindPackageJsonCache, d as NormalizedPackageJson, N as NormalizedReadResult, P as PackageJson, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-
|
|
4
|
+
export { E as EnsurePackagesOptions, F as FindPackageJsonCache, d as NormalizedPackageJson, N as NormalizedReadResult, P as PackageJson, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-DvaC9k-3.js';
|
|
5
5
|
export { PackageManager, PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, generateMissingPackagesInstallMessage, getPackageManagerVersion, identifyInitiatingPackageManager } from './package-manager.js';
|
|
6
6
|
import '@visulima/fs';
|
|
7
7
|
import '@antfu/install-pkg';
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { default as PackageNotFoundError } from './packem_shared/PackageNotFoundError-
|
|
1
|
+
export { default as PackageNotFoundError } from './packem_shared/PackageNotFoundError-Ck8Sk4z9.mjs';
|
|
2
2
|
export { findMonorepoRoot, findMonorepoRootSync } from './monorepo.mjs';
|
|
3
3
|
export { findPackageRoot, findPackageRootSync } from './package.mjs';
|
|
4
4
|
export { ensurePackages, findPackageJson, findPackageJsonSync, getPackageJsonProperty, hasPackageJsonAnyDependency, hasPackageJsonProperty, parsePackageJson, writePackageJson, writePackageJsonSync } from './package-json.mjs';
|
package/dist/monorepo.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from 'node:fs';
|
|
2
|
-
import {
|
|
2
|
+
import { findUpSync, readJsonSync, findUp, readJson } from '@visulima/fs';
|
|
3
3
|
import { NotFoundError } from '@visulima/fs/error';
|
|
4
4
|
import { dirname, join } from '@visulima/path';
|
|
5
|
-
import {
|
|
5
|
+
import { findPackageManagerSync, findPackageManager } from './package-manager.mjs';
|
|
6
6
|
|
|
7
7
|
var __defProp = Object.defineProperty;
|
|
8
8
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
package/dist/package-json.cjs
CHANGED
|
@@ -161,7 +161,7 @@ function assertNotStringIndex(object, key) {
|
|
|
161
161
|
__name$1(assertNotStringIndex, "assertNotStringIndex");
|
|
162
162
|
function getProperty(object, path, value) {
|
|
163
163
|
if (!isObject(object) || typeof path !== "string") {
|
|
164
|
-
return value ===
|
|
164
|
+
return value === void 0 ? object : value;
|
|
165
165
|
}
|
|
166
166
|
const pathArray = getPathSegments(path);
|
|
167
167
|
if (pathArray.length === 0) {
|
|
@@ -170,18 +170,18 @@ function getProperty(object, path, value) {
|
|
|
170
170
|
for (let index = 0; index < pathArray.length; index++) {
|
|
171
171
|
const key = pathArray[index];
|
|
172
172
|
if (isStringIndex(object, key)) {
|
|
173
|
-
object = index === pathArray.length - 1 ?
|
|
173
|
+
object = index === pathArray.length - 1 ? void 0 : null;
|
|
174
174
|
} else {
|
|
175
175
|
object = object[key];
|
|
176
176
|
}
|
|
177
|
-
if (object ===
|
|
177
|
+
if (object === void 0 || object === null) {
|
|
178
178
|
if (index !== pathArray.length - 1) {
|
|
179
179
|
return value;
|
|
180
180
|
}
|
|
181
181
|
break;
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
|
-
return object ===
|
|
184
|
+
return object === void 0 ? value : object;
|
|
185
185
|
}
|
|
186
186
|
__name$1(getProperty, "getProperty");
|
|
187
187
|
function setProperty(object, path, value) {
|
|
@@ -284,7 +284,7 @@ function deepKeys(object) {
|
|
|
284
284
|
}
|
|
285
285
|
__name$1(deepKeys, "deepKeys");
|
|
286
286
|
|
|
287
|
-
const isNode = typeof process.stdout < "u" && !process.versions
|
|
287
|
+
const isNode = typeof process.stdout < "u" && !process.versions.deno && !globalThis.window;
|
|
288
288
|
|
|
289
289
|
var __defProp = Object.defineProperty;
|
|
290
290
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
@@ -432,9 +432,9 @@ const ensurePackages = /* @__PURE__ */ __name(async (packageJson, packages, inst
|
|
|
432
432
|
if (typeof config.confirm?.message === "function") {
|
|
433
433
|
config.confirm.message = config.confirm.message(nonExistingPackages);
|
|
434
434
|
}
|
|
435
|
-
if (config.confirm?.message ===
|
|
435
|
+
if (config.confirm?.message === void 0) {
|
|
436
436
|
const message = `${nonExistingPackages.length === 1 ? "Package is" : "Packages are"} required for this config: ${nonExistingPackages.join(", ")}. Do you want to install them?`;
|
|
437
|
-
if (config.confirm ===
|
|
437
|
+
if (config.confirm === void 0) {
|
|
438
438
|
config.confirm = {
|
|
439
439
|
message
|
|
440
440
|
};
|
|
@@ -448,7 +448,7 @@ const ensurePackages = /* @__PURE__ */ __name(async (packageJson, packages, inst
|
|
|
448
448
|
}
|
|
449
449
|
await installPkg.installPackage(nonExistingPackages, {
|
|
450
450
|
...config.installPackage,
|
|
451
|
-
cwd: config.cwd ? utils.toPath(config.cwd) :
|
|
451
|
+
cwd: config.cwd ? utils.toPath(config.cwd) : void 0,
|
|
452
452
|
dev: installKey === "devDependencies"
|
|
453
453
|
});
|
|
454
454
|
}, "ensurePackages");
|
package/dist/package-json.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import '@visulima/fs';
|
|
2
|
-
export { F as FindPackageJsonCache, N as NormalizedReadResult, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-
|
|
2
|
+
export { F as FindPackageJsonCache, N as NormalizedReadResult, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-DvaC9k-3.cjs';
|
|
3
3
|
import '@antfu/install-pkg';
|
|
4
4
|
import 'normalize-package-data';
|
package/dist/package-json.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import '@visulima/fs';
|
|
2
|
-
export { F as FindPackageJsonCache, N as NormalizedReadResult, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-
|
|
2
|
+
export { F as FindPackageJsonCache, N as NormalizedReadResult, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-DvaC9k-3.mjs';
|
|
3
3
|
import '@antfu/install-pkg';
|
|
4
4
|
import 'normalize-package-data';
|
package/dist/package-json.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import '@visulima/fs';
|
|
2
|
-
export { F as FindPackageJsonCache, N as NormalizedReadResult, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-
|
|
2
|
+
export { F as FindPackageJsonCache, N as NormalizedReadResult, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-DvaC9k-3.js';
|
|
3
3
|
import '@antfu/install-pkg';
|
|
4
4
|
import 'normalize-package-data';
|
package/dist/package-json.mjs
CHANGED
|
@@ -152,7 +152,7 @@ function assertNotStringIndex(object, key) {
|
|
|
152
152
|
__name$1(assertNotStringIndex, "assertNotStringIndex");
|
|
153
153
|
function getProperty(object, path, value) {
|
|
154
154
|
if (!isObject(object) || typeof path !== "string") {
|
|
155
|
-
return value ===
|
|
155
|
+
return value === void 0 ? object : value;
|
|
156
156
|
}
|
|
157
157
|
const pathArray = getPathSegments(path);
|
|
158
158
|
if (pathArray.length === 0) {
|
|
@@ -161,18 +161,18 @@ function getProperty(object, path, value) {
|
|
|
161
161
|
for (let index = 0; index < pathArray.length; index++) {
|
|
162
162
|
const key = pathArray[index];
|
|
163
163
|
if (isStringIndex(object, key)) {
|
|
164
|
-
object = index === pathArray.length - 1 ?
|
|
164
|
+
object = index === pathArray.length - 1 ? void 0 : null;
|
|
165
165
|
} else {
|
|
166
166
|
object = object[key];
|
|
167
167
|
}
|
|
168
|
-
if (object ===
|
|
168
|
+
if (object === void 0 || object === null) {
|
|
169
169
|
if (index !== pathArray.length - 1) {
|
|
170
170
|
return value;
|
|
171
171
|
}
|
|
172
172
|
break;
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
|
-
return object ===
|
|
175
|
+
return object === void 0 ? value : object;
|
|
176
176
|
}
|
|
177
177
|
__name$1(getProperty, "getProperty");
|
|
178
178
|
function setProperty(object, path, value) {
|
|
@@ -275,7 +275,7 @@ function deepKeys(object) {
|
|
|
275
275
|
}
|
|
276
276
|
__name$1(deepKeys, "deepKeys");
|
|
277
277
|
|
|
278
|
-
const isNode = typeof process.stdout < "u" && !process.versions
|
|
278
|
+
const isNode = typeof process.stdout < "u" && !process.versions.deno && !globalThis.window;
|
|
279
279
|
|
|
280
280
|
var __defProp = Object.defineProperty;
|
|
281
281
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
@@ -423,9 +423,9 @@ const ensurePackages = /* @__PURE__ */ __name(async (packageJson, packages, inst
|
|
|
423
423
|
if (typeof config.confirm?.message === "function") {
|
|
424
424
|
config.confirm.message = config.confirm.message(nonExistingPackages);
|
|
425
425
|
}
|
|
426
|
-
if (config.confirm?.message ===
|
|
426
|
+
if (config.confirm?.message === void 0) {
|
|
427
427
|
const message = `${nonExistingPackages.length === 1 ? "Package is" : "Packages are"} required for this config: ${nonExistingPackages.join(", ")}. Do you want to install them?`;
|
|
428
|
-
if (config.confirm ===
|
|
428
|
+
if (config.confirm === void 0) {
|
|
429
429
|
config.confirm = {
|
|
430
430
|
message
|
|
431
431
|
};
|
|
@@ -439,7 +439,7 @@ const ensurePackages = /* @__PURE__ */ __name(async (packageJson, packages, inst
|
|
|
439
439
|
}
|
|
440
440
|
await installPackage(nonExistingPackages, {
|
|
441
441
|
...config.installPackage,
|
|
442
|
-
cwd: config.cwd ? toPath(config.cwd) :
|
|
442
|
+
cwd: config.cwd ? toPath(config.cwd) : void 0,
|
|
443
443
|
dev: installKey === "devDependencies"
|
|
444
444
|
});
|
|
445
445
|
}, "ensurePackages");
|
package/dist/package-manager.cjs
CHANGED
|
@@ -25,11 +25,11 @@ const packageMangerFindUpMatcher = /* @__PURE__ */ __name((directory) => {
|
|
|
25
25
|
const packageJsonFilePath = path.join(directory, "package.json");
|
|
26
26
|
if (node_fs.existsSync(packageJsonFilePath)) {
|
|
27
27
|
const packageJson$1 = packageJson.parsePackageJson(node_fs.readFileSync(packageJsonFilePath, "utf8"));
|
|
28
|
-
if (packageJson$1.packageManager !==
|
|
28
|
+
if (packageJson$1.packageManager !== void 0) {
|
|
29
29
|
return packageJsonFilePath;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
return
|
|
32
|
+
return void 0;
|
|
33
33
|
}, "packageMangerFindUpMatcher");
|
|
34
34
|
const findPackageManagerOnFile = /* @__PURE__ */ __name((foundFile) => {
|
|
35
35
|
if (!foundFile) {
|
|
@@ -109,7 +109,7 @@ const findPackageManagerSync = /* @__PURE__ */ __name((cwd) => {
|
|
|
109
109
|
const getPackageManagerVersion = /* @__PURE__ */ __name((name) => node_child_process.execSync(`${name} --version`).toString("utf8").trim(), "getPackageManagerVersion");
|
|
110
110
|
const identifyInitiatingPackageManager = /* @__PURE__ */ __name(async () => {
|
|
111
111
|
if (!process.env.npm_config_user_agent) {
|
|
112
|
-
return
|
|
112
|
+
return void 0;
|
|
113
113
|
}
|
|
114
114
|
const pmSpec = process.env.npm_config_user_agent.split(" ")[0];
|
|
115
115
|
const separatorPos = pmSpec.lastIndexOf("/");
|
|
@@ -121,7 +121,7 @@ const identifyInitiatingPackageManager = /* @__PURE__ */ __name(async () => {
|
|
|
121
121
|
}, "identifyInitiatingPackageManager");
|
|
122
122
|
const generateMissingPackagesInstallMessage = /* @__PURE__ */ __name((packageName, missingPackages, options) => {
|
|
123
123
|
const s = missingPackages.length === 1 ? "" : "s";
|
|
124
|
-
if (options.packageManagers ===
|
|
124
|
+
if (options.packageManagers === void 0) {
|
|
125
125
|
options.packageManagers = ["npm", "pnpm", "yarn"];
|
|
126
126
|
}
|
|
127
127
|
if (options.packageManagers.length === 0) {
|
package/dist/package-manager.mjs
CHANGED
|
@@ -21,11 +21,11 @@ const packageMangerFindUpMatcher = /* @__PURE__ */ __name((directory) => {
|
|
|
21
21
|
const packageJsonFilePath = join(directory, "package.json");
|
|
22
22
|
if (existsSync(packageJsonFilePath)) {
|
|
23
23
|
const packageJson = parsePackageJson(readFileSync(packageJsonFilePath, "utf8"));
|
|
24
|
-
if (packageJson.packageManager !==
|
|
24
|
+
if (packageJson.packageManager !== void 0) {
|
|
25
25
|
return packageJsonFilePath;
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
return
|
|
28
|
+
return void 0;
|
|
29
29
|
}, "packageMangerFindUpMatcher");
|
|
30
30
|
const findPackageManagerOnFile = /* @__PURE__ */ __name((foundFile) => {
|
|
31
31
|
if (!foundFile) {
|
|
@@ -105,7 +105,7 @@ const findPackageManagerSync = /* @__PURE__ */ __name((cwd) => {
|
|
|
105
105
|
const getPackageManagerVersion = /* @__PURE__ */ __name((name) => execSync(`${name} --version`).toString("utf8").trim(), "getPackageManagerVersion");
|
|
106
106
|
const identifyInitiatingPackageManager = /* @__PURE__ */ __name(async () => {
|
|
107
107
|
if (!process.env.npm_config_user_agent) {
|
|
108
|
-
return
|
|
108
|
+
return void 0;
|
|
109
109
|
}
|
|
110
110
|
const pmSpec = process.env.npm_config_user_agent.split(" ")[0];
|
|
111
111
|
const separatorPos = pmSpec.lastIndexOf("/");
|
|
@@ -117,7 +117,7 @@ const identifyInitiatingPackageManager = /* @__PURE__ */ __name(async () => {
|
|
|
117
117
|
}, "identifyInitiatingPackageManager");
|
|
118
118
|
const generateMissingPackagesInstallMessage = /* @__PURE__ */ __name((packageName, missingPackages, options) => {
|
|
119
119
|
const s = missingPackages.length === 1 ? "" : "s";
|
|
120
|
-
if (options.packageManagers ===
|
|
120
|
+
if (options.packageManagers === void 0) {
|
|
121
121
|
options.packageManagers = ["npm", "pnpm", "yarn"];
|
|
122
122
|
}
|
|
123
123
|
if (options.packageManagers.length === 0) {
|
package/dist/package.cjs
CHANGED
package/dist/package.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
|
-
import {
|
|
2
|
+
import { findUpSync, readJsonSync, findUp } from '@visulima/fs';
|
|
3
3
|
import { dirname, join } from '@visulima/path';
|
|
4
|
-
import {
|
|
4
|
+
import { findLockFileSync, findLockFile } from './package-manager.mjs';
|
|
5
5
|
|
|
6
6
|
var __defProp = Object.defineProperty;
|
|
7
7
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
@@ -12,7 +12,7 @@ const packageJsonMatcher = /* @__PURE__ */ __name((directory) => {
|
|
|
12
12
|
return "package.json";
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
return
|
|
15
|
+
return void 0;
|
|
16
16
|
}, "packageJsonMatcher");
|
|
17
17
|
const findPackageRoot = /* @__PURE__ */ __name(async (cwd) => {
|
|
18
18
|
try {
|
package/dist/packem_shared/{PackageNotFoundError-BQIw1KE1.mjs → PackageNotFoundError-Ck8Sk4z9.mjs}
RENAMED
|
@@ -18,14 +18,14 @@ class PackageNotFoundError extends Error {
|
|
|
18
18
|
super("Package was not found.");
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
|
-
if (packageManager ===
|
|
21
|
+
if (packageManager === void 0) {
|
|
22
22
|
try {
|
|
23
23
|
const foundManager = findPackageManagerSync();
|
|
24
24
|
packageManager = foundManager.packageManager;
|
|
25
25
|
} catch {
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
if (packageManager ===
|
|
28
|
+
if (packageManager === void 0) {
|
|
29
29
|
packageManager = "npm";
|
|
30
30
|
}
|
|
31
31
|
super(`Package '${packageName.join(" ")}' was not found. Please install it using '${packageManager} install ${packageName.join(" ")}'`);
|
package/dist/packem_shared/{PackageNotFoundError-CK1uhGFr.cjs → PackageNotFoundError-g9G2-W3s.cjs}
RENAMED
|
@@ -20,14 +20,14 @@ class PackageNotFoundError extends Error {
|
|
|
20
20
|
super("Package was not found.");
|
|
21
21
|
return;
|
|
22
22
|
}
|
|
23
|
-
if (packageManager$1 ===
|
|
23
|
+
if (packageManager$1 === void 0) {
|
|
24
24
|
try {
|
|
25
25
|
const foundManager = packageManager.findPackageManagerSync();
|
|
26
26
|
packageManager$1 = foundManager.packageManager;
|
|
27
27
|
} catch {
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
if (packageManager$1 ===
|
|
30
|
+
if (packageManager$1 === void 0) {
|
|
31
31
|
packageManager$1 = "npm";
|
|
32
32
|
}
|
|
33
33
|
super(`Package '${packageName.join(" ")}' was not found. Please install it using '${packageManager$1} install ${packageName.join(" ")}'`);
|
|
@@ -423,52 +423,6 @@ type BuildTuple<L extends number, Fill = unknown, T extends readonly unknown[] =
|
|
|
423
423
|
? T
|
|
424
424
|
: BuildTuple<L, Fill, [...T, Fill]>;
|
|
425
425
|
|
|
426
|
-
/**
|
|
427
|
-
Returns the maximum value from a tuple of integers.
|
|
428
|
-
|
|
429
|
-
Note:
|
|
430
|
-
- Float numbers are not supported.
|
|
431
|
-
|
|
432
|
-
@example
|
|
433
|
-
```
|
|
434
|
-
ArrayMax<[1, 2, 5, 3]>;
|
|
435
|
-
//=> 5
|
|
436
|
-
|
|
437
|
-
ArrayMax<[1, 2, 5, 3, 99, -1]>;
|
|
438
|
-
//=> 99
|
|
439
|
-
```
|
|
440
|
-
*/
|
|
441
|
-
type TupleMax<A extends number[], Result extends number = NegativeInfinity> = number extends A[number]
|
|
442
|
-
? never :
|
|
443
|
-
A extends [infer F extends number, ...infer R extends number[]]
|
|
444
|
-
? GreaterThan<F, Result> extends true
|
|
445
|
-
? TupleMax<R, F>
|
|
446
|
-
: TupleMax<R, Result>
|
|
447
|
-
: Result;
|
|
448
|
-
|
|
449
|
-
/**
|
|
450
|
-
Returns the minimum value from a tuple of integers.
|
|
451
|
-
|
|
452
|
-
Note:
|
|
453
|
-
- Float numbers are not supported.
|
|
454
|
-
|
|
455
|
-
@example
|
|
456
|
-
```
|
|
457
|
-
ArrayMin<[1, 2, 5, 3]>;
|
|
458
|
-
//=> 1
|
|
459
|
-
|
|
460
|
-
ArrayMin<[1, 2, 5, 3, -5]>;
|
|
461
|
-
//=> -5
|
|
462
|
-
```
|
|
463
|
-
*/
|
|
464
|
-
type TupleMin<A extends number[], Result extends number = PositiveInfinity> = number extends A[number]
|
|
465
|
-
? never
|
|
466
|
-
: A extends [infer F extends number, ...infer R extends number[]]
|
|
467
|
-
? LessThan<F, Result> extends true
|
|
468
|
-
? TupleMin<R, F>
|
|
469
|
-
: TupleMin<R, Result>
|
|
470
|
-
: Result;
|
|
471
|
-
|
|
472
426
|
/**
|
|
473
427
|
Return a string representation of the given string or number.
|
|
474
428
|
|
|
@@ -663,85 +617,46 @@ type IsNumberLike<N> =
|
|
|
663
617
|
: false;
|
|
664
618
|
|
|
665
619
|
/**
|
|
666
|
-
|
|
667
|
-
*/
|
|
668
|
-
type BuiltIns = Primitive | void | Date | RegExp;
|
|
669
|
-
|
|
670
|
-
/**
|
|
671
|
-
Matches non-recursive types.
|
|
672
|
-
*/
|
|
673
|
-
type NonRecursiveType = BuiltIns | Function | (new (...arguments_: any[]) => unknown);
|
|
674
|
-
|
|
675
|
-
/**
|
|
676
|
-
Returns the sum of two numbers.
|
|
677
|
-
|
|
678
|
-
Note:
|
|
679
|
-
- A or B can only support `-999` ~ `999`.
|
|
680
|
-
- A and B can only be small integers, less than 1000.
|
|
681
|
-
- If the result is negative, you can only get `number`.
|
|
620
|
+
Returns the number with reversed sign.
|
|
682
621
|
|
|
683
622
|
@example
|
|
684
623
|
```
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
Sum<111, 222>;
|
|
688
|
-
//=> 333
|
|
689
|
-
|
|
690
|
-
Sum<-111, 222>;
|
|
691
|
-
//=> 111
|
|
624
|
+
ReverseSign<-1>;
|
|
625
|
+
//=> 1
|
|
692
626
|
|
|
693
|
-
|
|
694
|
-
//=>
|
|
627
|
+
ReverseSign<1>;
|
|
628
|
+
//=> -1
|
|
695
629
|
|
|
696
|
-
|
|
630
|
+
ReverseSign<NegativeInfinity>
|
|
697
631
|
//=> PositiveInfinity
|
|
698
632
|
|
|
699
|
-
|
|
700
|
-
//=>
|
|
633
|
+
ReverseSign<PositiveInfinity>
|
|
634
|
+
//=> NegativeInfinity
|
|
701
635
|
```
|
|
636
|
+
*/
|
|
637
|
+
type ReverseSign<N extends number> =
|
|
638
|
+
// Handle edge cases
|
|
639
|
+
N extends 0 ? 0 : N extends PositiveInfinity ? NegativeInfinity : N extends NegativeInfinity ? PositiveInfinity :
|
|
640
|
+
// Handle negative numbers
|
|
641
|
+
`${N}` extends `-${infer P extends number}` ? P
|
|
642
|
+
// Handle positive numbers
|
|
643
|
+
: `-${N}` extends `${infer R extends number}` ? R : never;
|
|
702
644
|
|
|
703
|
-
|
|
645
|
+
/**
|
|
646
|
+
Matches any primitive, `void`, `Date`, or `RegExp` value.
|
|
704
647
|
*/
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
] extends infer R extends [boolean, boolean, boolean, boolean]
|
|
712
|
-
? Or<
|
|
713
|
-
And<IsEqual<R[0], true>, IsEqual<R[3], false>>,
|
|
714
|
-
And<IsEqual<R[2], true>, IsEqual<R[1], false>>
|
|
715
|
-
> extends true
|
|
716
|
-
? PositiveInfinity
|
|
717
|
-
: Or<
|
|
718
|
-
And<IsEqual<R[1], true>, IsEqual<R[2], false>>,
|
|
719
|
-
And<IsEqual<R[3], true>, IsEqual<R[0], false>>
|
|
720
|
-
> extends true
|
|
721
|
-
? NegativeInfinity
|
|
722
|
-
: true extends R[number]
|
|
723
|
-
? number
|
|
724
|
-
: ([IsNegative<A>, IsNegative<B>] extends infer R
|
|
725
|
-
? [false, false] extends R
|
|
726
|
-
? [...BuildTuple<A>, ...BuildTuple<B>]['length']
|
|
727
|
-
: [true, true] extends R
|
|
728
|
-
? number
|
|
729
|
-
: TupleMax<[NumberAbsolute<A>, NumberAbsolute<B>]> extends infer Max_
|
|
730
|
-
? TupleMin<[NumberAbsolute<A>, NumberAbsolute<B>]> extends infer Min_ extends number
|
|
731
|
-
? Max_ extends A | B
|
|
732
|
-
? Subtract<Max_, Min_>
|
|
733
|
-
: number
|
|
734
|
-
: never
|
|
735
|
-
: never
|
|
736
|
-
: never) & number
|
|
737
|
-
: never;
|
|
648
|
+
type BuiltIns = Primitive | void | Date | RegExp;
|
|
649
|
+
|
|
650
|
+
/**
|
|
651
|
+
Matches non-recursive types.
|
|
652
|
+
*/
|
|
653
|
+
type NonRecursiveType = BuiltIns | Function | (new (...arguments_: any[]) => unknown);
|
|
738
654
|
|
|
739
655
|
/**
|
|
740
656
|
Returns the difference between two numbers.
|
|
741
657
|
|
|
742
658
|
Note:
|
|
743
659
|
- A or B can only support `-999` ~ `999`.
|
|
744
|
-
- If the result is negative, you can only get `number`.
|
|
745
660
|
|
|
746
661
|
@example
|
|
747
662
|
```
|
|
@@ -754,7 +669,10 @@ Subtract<111, -222>;
|
|
|
754
669
|
//=> 333
|
|
755
670
|
|
|
756
671
|
Subtract<-111, 222>;
|
|
757
|
-
//=>
|
|
672
|
+
//=> -333
|
|
673
|
+
|
|
674
|
+
Subtract<18, 96>;
|
|
675
|
+
//=> -78
|
|
758
676
|
|
|
759
677
|
Subtract<PositiveInfinity, 9999>;
|
|
760
678
|
//=> PositiveInfinity
|
|
@@ -765,38 +683,53 @@ Subtract<PositiveInfinity, PositiveInfinity>;
|
|
|
765
683
|
|
|
766
684
|
@category Numeric
|
|
767
685
|
*/
|
|
768
|
-
// TODO: Support big integer
|
|
769
|
-
type Subtract<A extends number, B extends number> =
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
686
|
+
// TODO: Support big integer.
|
|
687
|
+
type Subtract<A extends number, B extends number> =
|
|
688
|
+
// Handle cases when A or B is the actual "number" type
|
|
689
|
+
number extends A | B ? number
|
|
690
|
+
// Handle cases when A and B are both +/- infinity
|
|
691
|
+
: A extends B & (PositiveInfinity | NegativeInfinity) ? number
|
|
692
|
+
// Handle cases when A is - infinity or B is + infinity
|
|
693
|
+
: A extends NegativeInfinity ? NegativeInfinity : B extends PositiveInfinity ? NegativeInfinity
|
|
694
|
+
// Handle cases when A is + infinity or B is - infinity
|
|
695
|
+
: A extends PositiveInfinity ? PositiveInfinity : B extends NegativeInfinity ? PositiveInfinity
|
|
696
|
+
// Handle case when numbers are equal to each other
|
|
697
|
+
: A extends B ? 0
|
|
698
|
+
// Handle cases when A or B is 0
|
|
699
|
+
: A extends 0 ? ReverseSign<B> : B extends 0 ? A
|
|
700
|
+
// Handle remaining regular cases
|
|
701
|
+
: SubtractPostChecks<A, B>;
|
|
702
|
+
|
|
703
|
+
/**
|
|
704
|
+
Subtracts two numbers A and B, such that they are not equal and neither of them are 0, +/- infinity or the `number` type
|
|
705
|
+
*/
|
|
706
|
+
type SubtractPostChecks<A extends number, B extends number, AreNegative = [IsNegative<A>, IsNegative<B>]> =
|
|
707
|
+
AreNegative extends [false, false]
|
|
708
|
+
? SubtractPositives<A, B>
|
|
709
|
+
: AreNegative extends [true, true]
|
|
710
|
+
// When both numbers are negative we subtract the absolute values and then reverse the sign
|
|
711
|
+
? ReverseSign<SubtractPositives<NumberAbsolute<A>, NumberAbsolute<B>>>
|
|
712
|
+
// When the signs are different we can add the absolute values and then reverse the sign if A < B
|
|
713
|
+
: [...BuildTuple<NumberAbsolute<A>>, ...BuildTuple<NumberAbsolute<B>>] extends infer R extends unknown[]
|
|
714
|
+
? LessThan<A, B> extends true ? ReverseSign<R['length']> : R['length']
|
|
715
|
+
: never;
|
|
716
|
+
|
|
717
|
+
/**
|
|
718
|
+
Subtracts two positive numbers.
|
|
719
|
+
*/
|
|
720
|
+
type SubtractPositives<A extends number, B extends number> =
|
|
721
|
+
LessThan<A, B> extends true
|
|
722
|
+
// When A < B we can reverse the result of B - A
|
|
723
|
+
? ReverseSign<SubtractIfAGreaterThanB<B, A>>
|
|
724
|
+
: SubtractIfAGreaterThanB<A, B>;
|
|
725
|
+
|
|
726
|
+
/**
|
|
727
|
+
Subtracts two positive numbers A and B such that A > B.
|
|
728
|
+
*/
|
|
729
|
+
type SubtractIfAGreaterThanB<A extends number, B extends number> =
|
|
730
|
+
// This is where we always want to end up and do the actual subtraction
|
|
731
|
+
BuildTuple<A> extends [...BuildTuple<B>, ...infer R]
|
|
732
|
+
? R['length']
|
|
800
733
|
: never;
|
|
801
734
|
|
|
802
735
|
/**
|
|
@@ -1040,13 +973,7 @@ type InternalPaths<T, Options extends Required<PathsOptions>> =
|
|
|
1040
973
|
bracketNotation: Options['bracketNotation'];
|
|
1041
974
|
maxRecursionDepth: Subtract<MaxDepth, 1>;
|
|
1042
975
|
leavesOnly: Options['leavesOnly'];
|
|
1043
|
-
depth: Options['depth']
|
|
1044
|
-
? Depth extends 0 // Don't subtract further if `Depth` has reached `0`
|
|
1045
|
-
? never
|
|
1046
|
-
: ToString<Depth> extends `-${number}` // Don't subtract if `Depth` is -ve
|
|
1047
|
-
? never
|
|
1048
|
-
: Subtract<Options['depth'], 1> // If `Subtract` supported -ve numbers, then `depth` could have simply been `Subtract<Options['depth'], 1>`
|
|
1049
|
-
: never; // Should never happen
|
|
976
|
+
depth: Subtract<Options['depth'], 1>;
|
|
1050
977
|
}> extends infer SubPath
|
|
1051
978
|
? SubPath extends string | number
|
|
1052
979
|
? (
|
|
@@ -423,52 +423,6 @@ type BuildTuple<L extends number, Fill = unknown, T extends readonly unknown[] =
|
|
|
423
423
|
? T
|
|
424
424
|
: BuildTuple<L, Fill, [...T, Fill]>;
|
|
425
425
|
|
|
426
|
-
/**
|
|
427
|
-
Returns the maximum value from a tuple of integers.
|
|
428
|
-
|
|
429
|
-
Note:
|
|
430
|
-
- Float numbers are not supported.
|
|
431
|
-
|
|
432
|
-
@example
|
|
433
|
-
```
|
|
434
|
-
ArrayMax<[1, 2, 5, 3]>;
|
|
435
|
-
//=> 5
|
|
436
|
-
|
|
437
|
-
ArrayMax<[1, 2, 5, 3, 99, -1]>;
|
|
438
|
-
//=> 99
|
|
439
|
-
```
|
|
440
|
-
*/
|
|
441
|
-
type TupleMax<A extends number[], Result extends number = NegativeInfinity> = number extends A[number]
|
|
442
|
-
? never :
|
|
443
|
-
A extends [infer F extends number, ...infer R extends number[]]
|
|
444
|
-
? GreaterThan<F, Result> extends true
|
|
445
|
-
? TupleMax<R, F>
|
|
446
|
-
: TupleMax<R, Result>
|
|
447
|
-
: Result;
|
|
448
|
-
|
|
449
|
-
/**
|
|
450
|
-
Returns the minimum value from a tuple of integers.
|
|
451
|
-
|
|
452
|
-
Note:
|
|
453
|
-
- Float numbers are not supported.
|
|
454
|
-
|
|
455
|
-
@example
|
|
456
|
-
```
|
|
457
|
-
ArrayMin<[1, 2, 5, 3]>;
|
|
458
|
-
//=> 1
|
|
459
|
-
|
|
460
|
-
ArrayMin<[1, 2, 5, 3, -5]>;
|
|
461
|
-
//=> -5
|
|
462
|
-
```
|
|
463
|
-
*/
|
|
464
|
-
type TupleMin<A extends number[], Result extends number = PositiveInfinity> = number extends A[number]
|
|
465
|
-
? never
|
|
466
|
-
: A extends [infer F extends number, ...infer R extends number[]]
|
|
467
|
-
? LessThan<F, Result> extends true
|
|
468
|
-
? TupleMin<R, F>
|
|
469
|
-
: TupleMin<R, Result>
|
|
470
|
-
: Result;
|
|
471
|
-
|
|
472
426
|
/**
|
|
473
427
|
Return a string representation of the given string or number.
|
|
474
428
|
|
|
@@ -663,85 +617,46 @@ type IsNumberLike<N> =
|
|
|
663
617
|
: false;
|
|
664
618
|
|
|
665
619
|
/**
|
|
666
|
-
|
|
667
|
-
*/
|
|
668
|
-
type BuiltIns = Primitive | void | Date | RegExp;
|
|
669
|
-
|
|
670
|
-
/**
|
|
671
|
-
Matches non-recursive types.
|
|
672
|
-
*/
|
|
673
|
-
type NonRecursiveType = BuiltIns | Function | (new (...arguments_: any[]) => unknown);
|
|
674
|
-
|
|
675
|
-
/**
|
|
676
|
-
Returns the sum of two numbers.
|
|
677
|
-
|
|
678
|
-
Note:
|
|
679
|
-
- A or B can only support `-999` ~ `999`.
|
|
680
|
-
- A and B can only be small integers, less than 1000.
|
|
681
|
-
- If the result is negative, you can only get `number`.
|
|
620
|
+
Returns the number with reversed sign.
|
|
682
621
|
|
|
683
622
|
@example
|
|
684
623
|
```
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
Sum<111, 222>;
|
|
688
|
-
//=> 333
|
|
689
|
-
|
|
690
|
-
Sum<-111, 222>;
|
|
691
|
-
//=> 111
|
|
624
|
+
ReverseSign<-1>;
|
|
625
|
+
//=> 1
|
|
692
626
|
|
|
693
|
-
|
|
694
|
-
//=>
|
|
627
|
+
ReverseSign<1>;
|
|
628
|
+
//=> -1
|
|
695
629
|
|
|
696
|
-
|
|
630
|
+
ReverseSign<NegativeInfinity>
|
|
697
631
|
//=> PositiveInfinity
|
|
698
632
|
|
|
699
|
-
|
|
700
|
-
//=>
|
|
633
|
+
ReverseSign<PositiveInfinity>
|
|
634
|
+
//=> NegativeInfinity
|
|
701
635
|
```
|
|
636
|
+
*/
|
|
637
|
+
type ReverseSign<N extends number> =
|
|
638
|
+
// Handle edge cases
|
|
639
|
+
N extends 0 ? 0 : N extends PositiveInfinity ? NegativeInfinity : N extends NegativeInfinity ? PositiveInfinity :
|
|
640
|
+
// Handle negative numbers
|
|
641
|
+
`${N}` extends `-${infer P extends number}` ? P
|
|
642
|
+
// Handle positive numbers
|
|
643
|
+
: `-${N}` extends `${infer R extends number}` ? R : never;
|
|
702
644
|
|
|
703
|
-
|
|
645
|
+
/**
|
|
646
|
+
Matches any primitive, `void`, `Date`, or `RegExp` value.
|
|
704
647
|
*/
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
] extends infer R extends [boolean, boolean, boolean, boolean]
|
|
712
|
-
? Or<
|
|
713
|
-
And<IsEqual<R[0], true>, IsEqual<R[3], false>>,
|
|
714
|
-
And<IsEqual<R[2], true>, IsEqual<R[1], false>>
|
|
715
|
-
> extends true
|
|
716
|
-
? PositiveInfinity
|
|
717
|
-
: Or<
|
|
718
|
-
And<IsEqual<R[1], true>, IsEqual<R[2], false>>,
|
|
719
|
-
And<IsEqual<R[3], true>, IsEqual<R[0], false>>
|
|
720
|
-
> extends true
|
|
721
|
-
? NegativeInfinity
|
|
722
|
-
: true extends R[number]
|
|
723
|
-
? number
|
|
724
|
-
: ([IsNegative<A>, IsNegative<B>] extends infer R
|
|
725
|
-
? [false, false] extends R
|
|
726
|
-
? [...BuildTuple<A>, ...BuildTuple<B>]['length']
|
|
727
|
-
: [true, true] extends R
|
|
728
|
-
? number
|
|
729
|
-
: TupleMax<[NumberAbsolute<A>, NumberAbsolute<B>]> extends infer Max_
|
|
730
|
-
? TupleMin<[NumberAbsolute<A>, NumberAbsolute<B>]> extends infer Min_ extends number
|
|
731
|
-
? Max_ extends A | B
|
|
732
|
-
? Subtract<Max_, Min_>
|
|
733
|
-
: number
|
|
734
|
-
: never
|
|
735
|
-
: never
|
|
736
|
-
: never) & number
|
|
737
|
-
: never;
|
|
648
|
+
type BuiltIns = Primitive | void | Date | RegExp;
|
|
649
|
+
|
|
650
|
+
/**
|
|
651
|
+
Matches non-recursive types.
|
|
652
|
+
*/
|
|
653
|
+
type NonRecursiveType = BuiltIns | Function | (new (...arguments_: any[]) => unknown);
|
|
738
654
|
|
|
739
655
|
/**
|
|
740
656
|
Returns the difference between two numbers.
|
|
741
657
|
|
|
742
658
|
Note:
|
|
743
659
|
- A or B can only support `-999` ~ `999`.
|
|
744
|
-
- If the result is negative, you can only get `number`.
|
|
745
660
|
|
|
746
661
|
@example
|
|
747
662
|
```
|
|
@@ -754,7 +669,10 @@ Subtract<111, -222>;
|
|
|
754
669
|
//=> 333
|
|
755
670
|
|
|
756
671
|
Subtract<-111, 222>;
|
|
757
|
-
//=>
|
|
672
|
+
//=> -333
|
|
673
|
+
|
|
674
|
+
Subtract<18, 96>;
|
|
675
|
+
//=> -78
|
|
758
676
|
|
|
759
677
|
Subtract<PositiveInfinity, 9999>;
|
|
760
678
|
//=> PositiveInfinity
|
|
@@ -765,38 +683,53 @@ Subtract<PositiveInfinity, PositiveInfinity>;
|
|
|
765
683
|
|
|
766
684
|
@category Numeric
|
|
767
685
|
*/
|
|
768
|
-
// TODO: Support big integer
|
|
769
|
-
type Subtract<A extends number, B extends number> =
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
686
|
+
// TODO: Support big integer.
|
|
687
|
+
type Subtract<A extends number, B extends number> =
|
|
688
|
+
// Handle cases when A or B is the actual "number" type
|
|
689
|
+
number extends A | B ? number
|
|
690
|
+
// Handle cases when A and B are both +/- infinity
|
|
691
|
+
: A extends B & (PositiveInfinity | NegativeInfinity) ? number
|
|
692
|
+
// Handle cases when A is - infinity or B is + infinity
|
|
693
|
+
: A extends NegativeInfinity ? NegativeInfinity : B extends PositiveInfinity ? NegativeInfinity
|
|
694
|
+
// Handle cases when A is + infinity or B is - infinity
|
|
695
|
+
: A extends PositiveInfinity ? PositiveInfinity : B extends NegativeInfinity ? PositiveInfinity
|
|
696
|
+
// Handle case when numbers are equal to each other
|
|
697
|
+
: A extends B ? 0
|
|
698
|
+
// Handle cases when A or B is 0
|
|
699
|
+
: A extends 0 ? ReverseSign<B> : B extends 0 ? A
|
|
700
|
+
// Handle remaining regular cases
|
|
701
|
+
: SubtractPostChecks<A, B>;
|
|
702
|
+
|
|
703
|
+
/**
|
|
704
|
+
Subtracts two numbers A and B, such that they are not equal and neither of them are 0, +/- infinity or the `number` type
|
|
705
|
+
*/
|
|
706
|
+
type SubtractPostChecks<A extends number, B extends number, AreNegative = [IsNegative<A>, IsNegative<B>]> =
|
|
707
|
+
AreNegative extends [false, false]
|
|
708
|
+
? SubtractPositives<A, B>
|
|
709
|
+
: AreNegative extends [true, true]
|
|
710
|
+
// When both numbers are negative we subtract the absolute values and then reverse the sign
|
|
711
|
+
? ReverseSign<SubtractPositives<NumberAbsolute<A>, NumberAbsolute<B>>>
|
|
712
|
+
// When the signs are different we can add the absolute values and then reverse the sign if A < B
|
|
713
|
+
: [...BuildTuple<NumberAbsolute<A>>, ...BuildTuple<NumberAbsolute<B>>] extends infer R extends unknown[]
|
|
714
|
+
? LessThan<A, B> extends true ? ReverseSign<R['length']> : R['length']
|
|
715
|
+
: never;
|
|
716
|
+
|
|
717
|
+
/**
|
|
718
|
+
Subtracts two positive numbers.
|
|
719
|
+
*/
|
|
720
|
+
type SubtractPositives<A extends number, B extends number> =
|
|
721
|
+
LessThan<A, B> extends true
|
|
722
|
+
// When A < B we can reverse the result of B - A
|
|
723
|
+
? ReverseSign<SubtractIfAGreaterThanB<B, A>>
|
|
724
|
+
: SubtractIfAGreaterThanB<A, B>;
|
|
725
|
+
|
|
726
|
+
/**
|
|
727
|
+
Subtracts two positive numbers A and B such that A > B.
|
|
728
|
+
*/
|
|
729
|
+
type SubtractIfAGreaterThanB<A extends number, B extends number> =
|
|
730
|
+
// This is where we always want to end up and do the actual subtraction
|
|
731
|
+
BuildTuple<A> extends [...BuildTuple<B>, ...infer R]
|
|
732
|
+
? R['length']
|
|
800
733
|
: never;
|
|
801
734
|
|
|
802
735
|
/**
|
|
@@ -1040,13 +973,7 @@ type InternalPaths<T, Options extends Required<PathsOptions>> =
|
|
|
1040
973
|
bracketNotation: Options['bracketNotation'];
|
|
1041
974
|
maxRecursionDepth: Subtract<MaxDepth, 1>;
|
|
1042
975
|
leavesOnly: Options['leavesOnly'];
|
|
1043
|
-
depth: Options['depth']
|
|
1044
|
-
? Depth extends 0 // Don't subtract further if `Depth` has reached `0`
|
|
1045
|
-
? never
|
|
1046
|
-
: ToString<Depth> extends `-${number}` // Don't subtract if `Depth` is -ve
|
|
1047
|
-
? never
|
|
1048
|
-
: Subtract<Options['depth'], 1> // If `Subtract` supported -ve numbers, then `depth` could have simply been `Subtract<Options['depth'], 1>`
|
|
1049
|
-
: never; // Should never happen
|
|
976
|
+
depth: Subtract<Options['depth'], 1>;
|
|
1050
977
|
}> extends infer SubPath
|
|
1051
978
|
? SubPath extends string | number
|
|
1052
979
|
? (
|
|
@@ -423,52 +423,6 @@ type BuildTuple<L extends number, Fill = unknown, T extends readonly unknown[] =
|
|
|
423
423
|
? T
|
|
424
424
|
: BuildTuple<L, Fill, [...T, Fill]>;
|
|
425
425
|
|
|
426
|
-
/**
|
|
427
|
-
Returns the maximum value from a tuple of integers.
|
|
428
|
-
|
|
429
|
-
Note:
|
|
430
|
-
- Float numbers are not supported.
|
|
431
|
-
|
|
432
|
-
@example
|
|
433
|
-
```
|
|
434
|
-
ArrayMax<[1, 2, 5, 3]>;
|
|
435
|
-
//=> 5
|
|
436
|
-
|
|
437
|
-
ArrayMax<[1, 2, 5, 3, 99, -1]>;
|
|
438
|
-
//=> 99
|
|
439
|
-
```
|
|
440
|
-
*/
|
|
441
|
-
type TupleMax<A extends number[], Result extends number = NegativeInfinity> = number extends A[number]
|
|
442
|
-
? never :
|
|
443
|
-
A extends [infer F extends number, ...infer R extends number[]]
|
|
444
|
-
? GreaterThan<F, Result> extends true
|
|
445
|
-
? TupleMax<R, F>
|
|
446
|
-
: TupleMax<R, Result>
|
|
447
|
-
: Result;
|
|
448
|
-
|
|
449
|
-
/**
|
|
450
|
-
Returns the minimum value from a tuple of integers.
|
|
451
|
-
|
|
452
|
-
Note:
|
|
453
|
-
- Float numbers are not supported.
|
|
454
|
-
|
|
455
|
-
@example
|
|
456
|
-
```
|
|
457
|
-
ArrayMin<[1, 2, 5, 3]>;
|
|
458
|
-
//=> 1
|
|
459
|
-
|
|
460
|
-
ArrayMin<[1, 2, 5, 3, -5]>;
|
|
461
|
-
//=> -5
|
|
462
|
-
```
|
|
463
|
-
*/
|
|
464
|
-
type TupleMin<A extends number[], Result extends number = PositiveInfinity> = number extends A[number]
|
|
465
|
-
? never
|
|
466
|
-
: A extends [infer F extends number, ...infer R extends number[]]
|
|
467
|
-
? LessThan<F, Result> extends true
|
|
468
|
-
? TupleMin<R, F>
|
|
469
|
-
: TupleMin<R, Result>
|
|
470
|
-
: Result;
|
|
471
|
-
|
|
472
426
|
/**
|
|
473
427
|
Return a string representation of the given string or number.
|
|
474
428
|
|
|
@@ -663,85 +617,46 @@ type IsNumberLike<N> =
|
|
|
663
617
|
: false;
|
|
664
618
|
|
|
665
619
|
/**
|
|
666
|
-
|
|
667
|
-
*/
|
|
668
|
-
type BuiltIns = Primitive | void | Date | RegExp;
|
|
669
|
-
|
|
670
|
-
/**
|
|
671
|
-
Matches non-recursive types.
|
|
672
|
-
*/
|
|
673
|
-
type NonRecursiveType = BuiltIns | Function | (new (...arguments_: any[]) => unknown);
|
|
674
|
-
|
|
675
|
-
/**
|
|
676
|
-
Returns the sum of two numbers.
|
|
677
|
-
|
|
678
|
-
Note:
|
|
679
|
-
- A or B can only support `-999` ~ `999`.
|
|
680
|
-
- A and B can only be small integers, less than 1000.
|
|
681
|
-
- If the result is negative, you can only get `number`.
|
|
620
|
+
Returns the number with reversed sign.
|
|
682
621
|
|
|
683
622
|
@example
|
|
684
623
|
```
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
Sum<111, 222>;
|
|
688
|
-
//=> 333
|
|
689
|
-
|
|
690
|
-
Sum<-111, 222>;
|
|
691
|
-
//=> 111
|
|
624
|
+
ReverseSign<-1>;
|
|
625
|
+
//=> 1
|
|
692
626
|
|
|
693
|
-
|
|
694
|
-
//=>
|
|
627
|
+
ReverseSign<1>;
|
|
628
|
+
//=> -1
|
|
695
629
|
|
|
696
|
-
|
|
630
|
+
ReverseSign<NegativeInfinity>
|
|
697
631
|
//=> PositiveInfinity
|
|
698
632
|
|
|
699
|
-
|
|
700
|
-
//=>
|
|
633
|
+
ReverseSign<PositiveInfinity>
|
|
634
|
+
//=> NegativeInfinity
|
|
701
635
|
```
|
|
636
|
+
*/
|
|
637
|
+
type ReverseSign<N extends number> =
|
|
638
|
+
// Handle edge cases
|
|
639
|
+
N extends 0 ? 0 : N extends PositiveInfinity ? NegativeInfinity : N extends NegativeInfinity ? PositiveInfinity :
|
|
640
|
+
// Handle negative numbers
|
|
641
|
+
`${N}` extends `-${infer P extends number}` ? P
|
|
642
|
+
// Handle positive numbers
|
|
643
|
+
: `-${N}` extends `${infer R extends number}` ? R : never;
|
|
702
644
|
|
|
703
|
-
|
|
645
|
+
/**
|
|
646
|
+
Matches any primitive, `void`, `Date`, or `RegExp` value.
|
|
704
647
|
*/
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
] extends infer R extends [boolean, boolean, boolean, boolean]
|
|
712
|
-
? Or<
|
|
713
|
-
And<IsEqual<R[0], true>, IsEqual<R[3], false>>,
|
|
714
|
-
And<IsEqual<R[2], true>, IsEqual<R[1], false>>
|
|
715
|
-
> extends true
|
|
716
|
-
? PositiveInfinity
|
|
717
|
-
: Or<
|
|
718
|
-
And<IsEqual<R[1], true>, IsEqual<R[2], false>>,
|
|
719
|
-
And<IsEqual<R[3], true>, IsEqual<R[0], false>>
|
|
720
|
-
> extends true
|
|
721
|
-
? NegativeInfinity
|
|
722
|
-
: true extends R[number]
|
|
723
|
-
? number
|
|
724
|
-
: ([IsNegative<A>, IsNegative<B>] extends infer R
|
|
725
|
-
? [false, false] extends R
|
|
726
|
-
? [...BuildTuple<A>, ...BuildTuple<B>]['length']
|
|
727
|
-
: [true, true] extends R
|
|
728
|
-
? number
|
|
729
|
-
: TupleMax<[NumberAbsolute<A>, NumberAbsolute<B>]> extends infer Max_
|
|
730
|
-
? TupleMin<[NumberAbsolute<A>, NumberAbsolute<B>]> extends infer Min_ extends number
|
|
731
|
-
? Max_ extends A | B
|
|
732
|
-
? Subtract<Max_, Min_>
|
|
733
|
-
: number
|
|
734
|
-
: never
|
|
735
|
-
: never
|
|
736
|
-
: never) & number
|
|
737
|
-
: never;
|
|
648
|
+
type BuiltIns = Primitive | void | Date | RegExp;
|
|
649
|
+
|
|
650
|
+
/**
|
|
651
|
+
Matches non-recursive types.
|
|
652
|
+
*/
|
|
653
|
+
type NonRecursiveType = BuiltIns | Function | (new (...arguments_: any[]) => unknown);
|
|
738
654
|
|
|
739
655
|
/**
|
|
740
656
|
Returns the difference between two numbers.
|
|
741
657
|
|
|
742
658
|
Note:
|
|
743
659
|
- A or B can only support `-999` ~ `999`.
|
|
744
|
-
- If the result is negative, you can only get `number`.
|
|
745
660
|
|
|
746
661
|
@example
|
|
747
662
|
```
|
|
@@ -754,7 +669,10 @@ Subtract<111, -222>;
|
|
|
754
669
|
//=> 333
|
|
755
670
|
|
|
756
671
|
Subtract<-111, 222>;
|
|
757
|
-
//=>
|
|
672
|
+
//=> -333
|
|
673
|
+
|
|
674
|
+
Subtract<18, 96>;
|
|
675
|
+
//=> -78
|
|
758
676
|
|
|
759
677
|
Subtract<PositiveInfinity, 9999>;
|
|
760
678
|
//=> PositiveInfinity
|
|
@@ -765,38 +683,53 @@ Subtract<PositiveInfinity, PositiveInfinity>;
|
|
|
765
683
|
|
|
766
684
|
@category Numeric
|
|
767
685
|
*/
|
|
768
|
-
// TODO: Support big integer
|
|
769
|
-
type Subtract<A extends number, B extends number> =
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
686
|
+
// TODO: Support big integer.
|
|
687
|
+
type Subtract<A extends number, B extends number> =
|
|
688
|
+
// Handle cases when A or B is the actual "number" type
|
|
689
|
+
number extends A | B ? number
|
|
690
|
+
// Handle cases when A and B are both +/- infinity
|
|
691
|
+
: A extends B & (PositiveInfinity | NegativeInfinity) ? number
|
|
692
|
+
// Handle cases when A is - infinity or B is + infinity
|
|
693
|
+
: A extends NegativeInfinity ? NegativeInfinity : B extends PositiveInfinity ? NegativeInfinity
|
|
694
|
+
// Handle cases when A is + infinity or B is - infinity
|
|
695
|
+
: A extends PositiveInfinity ? PositiveInfinity : B extends NegativeInfinity ? PositiveInfinity
|
|
696
|
+
// Handle case when numbers are equal to each other
|
|
697
|
+
: A extends B ? 0
|
|
698
|
+
// Handle cases when A or B is 0
|
|
699
|
+
: A extends 0 ? ReverseSign<B> : B extends 0 ? A
|
|
700
|
+
// Handle remaining regular cases
|
|
701
|
+
: SubtractPostChecks<A, B>;
|
|
702
|
+
|
|
703
|
+
/**
|
|
704
|
+
Subtracts two numbers A and B, such that they are not equal and neither of them are 0, +/- infinity or the `number` type
|
|
705
|
+
*/
|
|
706
|
+
type SubtractPostChecks<A extends number, B extends number, AreNegative = [IsNegative<A>, IsNegative<B>]> =
|
|
707
|
+
AreNegative extends [false, false]
|
|
708
|
+
? SubtractPositives<A, B>
|
|
709
|
+
: AreNegative extends [true, true]
|
|
710
|
+
// When both numbers are negative we subtract the absolute values and then reverse the sign
|
|
711
|
+
? ReverseSign<SubtractPositives<NumberAbsolute<A>, NumberAbsolute<B>>>
|
|
712
|
+
// When the signs are different we can add the absolute values and then reverse the sign if A < B
|
|
713
|
+
: [...BuildTuple<NumberAbsolute<A>>, ...BuildTuple<NumberAbsolute<B>>] extends infer R extends unknown[]
|
|
714
|
+
? LessThan<A, B> extends true ? ReverseSign<R['length']> : R['length']
|
|
715
|
+
: never;
|
|
716
|
+
|
|
717
|
+
/**
|
|
718
|
+
Subtracts two positive numbers.
|
|
719
|
+
*/
|
|
720
|
+
type SubtractPositives<A extends number, B extends number> =
|
|
721
|
+
LessThan<A, B> extends true
|
|
722
|
+
// When A < B we can reverse the result of B - A
|
|
723
|
+
? ReverseSign<SubtractIfAGreaterThanB<B, A>>
|
|
724
|
+
: SubtractIfAGreaterThanB<A, B>;
|
|
725
|
+
|
|
726
|
+
/**
|
|
727
|
+
Subtracts two positive numbers A and B such that A > B.
|
|
728
|
+
*/
|
|
729
|
+
type SubtractIfAGreaterThanB<A extends number, B extends number> =
|
|
730
|
+
// This is where we always want to end up and do the actual subtraction
|
|
731
|
+
BuildTuple<A> extends [...BuildTuple<B>, ...infer R]
|
|
732
|
+
? R['length']
|
|
800
733
|
: never;
|
|
801
734
|
|
|
802
735
|
/**
|
|
@@ -1040,13 +973,7 @@ type InternalPaths<T, Options extends Required<PathsOptions>> =
|
|
|
1040
973
|
bracketNotation: Options['bracketNotation'];
|
|
1041
974
|
maxRecursionDepth: Subtract<MaxDepth, 1>;
|
|
1042
975
|
leavesOnly: Options['leavesOnly'];
|
|
1043
|
-
depth: Options['depth']
|
|
1044
|
-
? Depth extends 0 // Don't subtract further if `Depth` has reached `0`
|
|
1045
|
-
? never
|
|
1046
|
-
: ToString<Depth> extends `-${number}` // Don't subtract if `Depth` is -ve
|
|
1047
|
-
? never
|
|
1048
|
-
: Subtract<Options['depth'], 1> // If `Subtract` supported -ve numbers, then `depth` could have simply been `Subtract<Options['depth'], 1>`
|
|
1049
|
-
: never; // Should never happen
|
|
976
|
+
depth: Subtract<Options['depth'], 1>;
|
|
1050
977
|
}> extends infer SubPath
|
|
1051
978
|
? SubPath extends string | number
|
|
1052
979
|
? (
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visulima/package",
|
|
3
|
-
"version": "3.5.
|
|
3
|
+
"version": "3.5.4",
|
|
4
4
|
"description": "One Package to rule them all, finds your root-dir, monorepo, or package manager.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"anolilab",
|
|
@@ -146,9 +146,9 @@
|
|
|
146
146
|
],
|
|
147
147
|
"dependencies": {
|
|
148
148
|
"@antfu/install-pkg": "^1.0.0",
|
|
149
|
-
"@inquirer/confirm": "^5.1.
|
|
150
|
-
"@visulima/fs": "3.1.
|
|
151
|
-
"@visulima/path": "1.3.
|
|
149
|
+
"@inquirer/confirm": "^5.1.7",
|
|
150
|
+
"@visulima/fs": "3.1.2",
|
|
151
|
+
"@visulima/path": "1.3.5",
|
|
152
152
|
"normalize-package-data": "^7.0.0"
|
|
153
153
|
},
|
|
154
154
|
"engines": {
|