@cjser/is-installed-globally 1.0.0-cjser.2 → 1.0.1-cjser.2
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/dist-cjser/index.cjs +18 -2
- package/index.js +26 -4
- package/package.json +3 -3
package/dist-cjser/index.cjs
CHANGED
|
@@ -26,7 +26,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
26
|
));
|
|
27
27
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
28
|
|
|
29
|
-
// packages/@cjser/is-installed-globally.tmp-26-
|
|
29
|
+
// packages/@cjser/is-installed-globally.tmp-26-1790101144502/index.js
|
|
30
30
|
var index_exports = {};
|
|
31
31
|
__export(index_exports, {
|
|
32
32
|
default: () => index_default
|
|
@@ -34,14 +34,30 @@ __export(index_exports, {
|
|
|
34
34
|
module.exports = __toCommonJS(index_exports);
|
|
35
35
|
var import_node_fs = __toESM(require("node:fs"), 1);
|
|
36
36
|
var import_node_path = __toESM(require("node:path"), 1);
|
|
37
|
+
var import_node_process = __toESM(require("node:process"), 1);
|
|
37
38
|
var import_node_url = require("node:url");
|
|
38
39
|
var import_global_directory_v4_0_1 = __toESM(require("@cjser/global-directory__v4_0_1"), 1);
|
|
39
40
|
var import_is_path_inside = __toESM(require("@cjser/is-path-inside"), 1);
|
|
40
41
|
var import_meta = {};
|
|
41
42
|
var __dirname = import_node_path.default.dirname((0, import_node_url.fileURLToPath)(import_meta.url));
|
|
43
|
+
var realDirectory = (() => {
|
|
44
|
+
try {
|
|
45
|
+
return import_node_fs.default.realpathSync(__dirname);
|
|
46
|
+
} catch {
|
|
47
|
+
return __dirname;
|
|
48
|
+
}
|
|
49
|
+
})();
|
|
50
|
+
var isInside = (parent) => {
|
|
51
|
+
try {
|
|
52
|
+
return (0, import_is_path_inside.default)(realDirectory, import_node_fs.default.realpathSync(parent));
|
|
53
|
+
} catch {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
var isNvmGlobal = (import_node_process.default.env.NVM_DIR ? /^versions[/\\]node[/\\]v\d+\.\d+\.\d+[/\\]lib[/\\]node_modules[/\\]/i.test(import_node_path.default.relative(import_node_process.default.env.NVM_DIR, realDirectory)) : false) || (import_node_process.default.env.NVM_HOME ? /^v\d+\.\d+\.\d+[/\\]node_modules[/\\]/i.test(import_node_path.default.relative(import_node_process.default.env.NVM_HOME, realDirectory)) : false);
|
|
42
58
|
var isInstalledGlobally = (() => {
|
|
43
59
|
try {
|
|
44
|
-
return (
|
|
60
|
+
return isInside(import_global_directory_v4_0_1.default.yarn.packages) || isInside(import_global_directory_v4_0_1.default.npm.packages) || isNvmGlobal;
|
|
45
61
|
} catch {
|
|
46
62
|
return false;
|
|
47
63
|
}
|
package/index.js
CHANGED
|
@@ -1,17 +1,39 @@
|
|
|
1
1
|
import fs from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
+
import process from 'node:process';
|
|
3
4
|
import {fileURLToPath} from 'node:url';
|
|
4
5
|
import globalDirectory from '@cjser/global-directory__v4_0_1';
|
|
5
6
|
import isPathInside from '@cjser/is-path-inside';
|
|
6
7
|
|
|
7
8
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
8
9
|
|
|
10
|
+
// Resolve symlinks so version-manager proxies (like nvm-windows) compare correctly.
|
|
11
|
+
const realDirectory = (() => {
|
|
12
|
+
try {
|
|
13
|
+
return fs.realpathSync(__dirname);
|
|
14
|
+
} catch {
|
|
15
|
+
return __dirname;
|
|
16
|
+
}
|
|
17
|
+
})();
|
|
18
|
+
|
|
19
|
+
const isInside = parent => {
|
|
20
|
+
try {
|
|
21
|
+
return isPathInside(realDirectory, fs.realpathSync(parent));
|
|
22
|
+
} catch {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
// `global-directory` only knows the active Node version's directory, but nvm
|
|
28
|
+
// scopes globals per version, so after `nvm use <other-version>` a global
|
|
29
|
+
// install would wrongly report `false`. Match package paths relative to the
|
|
30
|
+
// nvm installation root, so similarly named project directories stay local.
|
|
31
|
+
const isNvmGlobal = (process.env.NVM_DIR ? /^versions[/\\]node[/\\]v\d+\.\d+\.\d+[/\\]lib[/\\]node_modules[/\\]/i.test(path.relative(process.env.NVM_DIR, realDirectory)) : false)
|
|
32
|
+
|| (process.env.NVM_HOME ? /^v\d+\.\d+\.\d+[/\\]node_modules[/\\]/i.test(path.relative(process.env.NVM_HOME, realDirectory)) : false);
|
|
33
|
+
|
|
9
34
|
const isInstalledGlobally = (() => {
|
|
10
35
|
try {
|
|
11
|
-
return (
|
|
12
|
-
isPathInside(__dirname, globalDirectory.yarn.packages)
|
|
13
|
-
|| isPathInside(__dirname, fs.realpathSync(globalDirectory.npm.packages))
|
|
14
|
-
);
|
|
36
|
+
return isInside(globalDirectory.yarn.packages) || isInside(globalDirectory.npm.packages) || isNvmGlobal;
|
|
15
37
|
} catch {
|
|
16
38
|
return false;
|
|
17
39
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cjser/is-installed-globally",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1-cjser.2",
|
|
4
4
|
"description": "Check if your package was installed globally",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -65,11 +65,11 @@
|
|
|
65
65
|
"types": "./index.d.ts",
|
|
66
66
|
"main": "./dist-cjser/index.cjs",
|
|
67
67
|
"cjser": {
|
|
68
|
-
"sourceVersion": "1.0.
|
|
68
|
+
"sourceVersion": "1.0.1",
|
|
69
69
|
"cjserVersion": 2,
|
|
70
70
|
"original": {
|
|
71
71
|
"name": "is-installed-globally",
|
|
72
|
-
"version": "1.0.
|
|
72
|
+
"version": "1.0.1",
|
|
73
73
|
"exports": {
|
|
74
74
|
"types": "./index.d.ts",
|
|
75
75
|
"default": "./index.js"
|