@vltpkg/cli-sdk 0.0.0-3 → 0.0.0-30
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/README.md +3 -0
- package/dist/esm/commands/cache.d.ts +65 -0
- package/dist/esm/commands/cache.d.ts.map +1 -0
- package/dist/esm/commands/cache.js +257 -0
- package/dist/esm/commands/cache.js.map +1 -0
- package/dist/esm/commands/ci.d.ts +10 -0
- package/dist/esm/commands/ci.d.ts.map +1 -0
- package/dist/esm/commands/ci.js +29 -0
- package/dist/esm/commands/ci.js.map +1 -0
- package/dist/esm/commands/config.d.ts.map +1 -1
- package/dist/esm/commands/config.js +2 -52
- package/dist/esm/commands/config.js.map +1 -1
- package/dist/esm/commands/exec-cache.d.ts +49 -0
- package/dist/esm/commands/exec-cache.d.ts.map +1 -0
- package/dist/esm/commands/exec-cache.js +134 -0
- package/dist/esm/commands/exec-cache.js.map +1 -0
- package/dist/esm/commands/exec-local.d.ts +6 -0
- package/dist/esm/commands/exec-local.d.ts.map +1 -0
- package/dist/esm/commands/exec-local.js +24 -0
- package/dist/esm/commands/exec-local.js.map +1 -0
- package/dist/esm/commands/exec.d.ts +4 -0
- package/dist/esm/commands/exec.d.ts.map +1 -1
- package/dist/esm/commands/exec.js +69 -10
- package/dist/esm/commands/exec.js.map +1 -1
- package/dist/esm/commands/help.d.ts +1 -1
- package/dist/esm/commands/help.d.ts.map +1 -1
- package/dist/esm/commands/help.js +25 -3
- package/dist/esm/commands/help.js.map +1 -1
- package/dist/esm/commands/init.d.ts +4 -5
- package/dist/esm/commands/init.d.ts.map +1 -1
- package/dist/esm/commands/init.js +95 -9
- package/dist/esm/commands/init.js.map +1 -1
- package/dist/esm/commands/install/reporter.d.ts +1 -1
- package/dist/esm/commands/install/reporter.d.ts.map +1 -1
- package/dist/esm/commands/install/reporter.js +10 -11
- package/dist/esm/commands/install/reporter.js.map +1 -1
- package/dist/esm/commands/install.d.ts +5 -2
- package/dist/esm/commands/install.d.ts.map +1 -1
- package/dist/esm/commands/install.js +7 -1
- package/dist/esm/commands/install.js.map +1 -1
- package/dist/esm/commands/list.d.ts +1 -1
- package/dist/esm/commands/list.d.ts.map +1 -1
- package/dist/esm/commands/list.js +150 -42
- package/dist/esm/commands/list.js.map +1 -1
- package/dist/esm/commands/pack.d.ts +32 -0
- package/dist/esm/commands/pack.d.ts.map +1 -0
- package/dist/esm/commands/pack.js +147 -0
- package/dist/esm/commands/pack.js.map +1 -0
- package/dist/esm/commands/pkg.d.ts +2 -3
- package/dist/esm/commands/pkg.d.ts.map +1 -1
- package/dist/esm/commands/pkg.js +123 -38
- package/dist/esm/commands/pkg.js.map +1 -1
- package/dist/esm/commands/publish.d.ts +22 -0
- package/dist/esm/commands/publish.d.ts.map +1 -0
- package/dist/esm/commands/publish.js +239 -0
- package/dist/esm/commands/publish.js.map +1 -0
- package/dist/esm/commands/query.d.ts +1 -1
- package/dist/esm/commands/query.d.ts.map +1 -1
- package/dist/esm/commands/query.js +171 -32
- package/dist/esm/commands/query.js.map +1 -1
- package/dist/esm/commands/run-exec.d.ts +1 -0
- package/dist/esm/commands/run-exec.d.ts.map +1 -1
- package/dist/esm/commands/run-exec.js +1 -0
- package/dist/esm/commands/run-exec.js.map +1 -1
- package/dist/esm/commands/run.d.ts +1 -0
- package/dist/esm/commands/run.d.ts.map +1 -1
- package/dist/esm/commands/run.js +13 -16
- package/dist/esm/commands/run.js.map +1 -1
- package/dist/esm/commands/serve.d.ts +14 -0
- package/dist/esm/commands/serve.d.ts.map +1 -0
- package/dist/esm/commands/serve.js +97 -0
- package/dist/esm/commands/serve.js.map +1 -0
- package/dist/esm/commands/uninstall.d.ts +7 -1
- package/dist/esm/commands/uninstall.d.ts.map +1 -1
- package/dist/esm/commands/uninstall.js +7 -1
- package/dist/esm/commands/uninstall.js.map +1 -1
- package/dist/esm/commands/update.d.ts +10 -0
- package/dist/esm/commands/update.d.ts.map +1 -0
- package/dist/esm/commands/update.js +25 -0
- package/dist/esm/commands/update.js.map +1 -0
- package/dist/esm/commands/version.d.ts +26 -0
- package/dist/esm/commands/version.d.ts.map +1 -0
- package/dist/esm/commands/version.js +226 -0
- package/dist/esm/commands/version.js.map +1 -0
- package/dist/esm/commands/whoami.d.ts +4 -2
- package/dist/esm/commands/whoami.d.ts.map +1 -1
- package/dist/esm/commands/whoami.js +1 -1
- package/dist/esm/commands/whoami.js.map +1 -1
- package/dist/esm/config/definition.d.ts +102 -8
- package/dist/esm/config/definition.d.ts.map +1 -1
- package/dist/esm/config/definition.js +174 -25
- package/dist/esm/config/definition.js.map +1 -1
- package/dist/esm/config/index.d.ts +46 -40
- package/dist/esm/config/index.d.ts.map +1 -1
- package/dist/esm/config/index.js +126 -176
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/config/merge.d.ts +3 -1
- package/dist/esm/config/merge.d.ts.map +1 -1
- package/dist/esm/config/merge.js +11 -6
- package/dist/esm/config/merge.js.map +1 -1
- package/dist/esm/config/usage.d.ts +3 -2
- package/dist/esm/config/usage.d.ts.map +1 -1
- package/dist/esm/config/usage.js.map +1 -1
- package/dist/esm/exec-command.d.ts +33 -14
- package/dist/esm/exec-command.d.ts.map +1 -1
- package/dist/esm/exec-command.js +214 -65
- package/dist/esm/exec-command.js.map +1 -1
- package/dist/esm/index.d.ts +1 -14
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +46 -20
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/load-command.d.ts +16 -0
- package/dist/esm/load-command.d.ts.map +1 -0
- package/dist/esm/load-command.js +21 -0
- package/dist/esm/load-command.js.map +1 -0
- package/dist/esm/output.d.ts +6 -10
- package/dist/esm/output.d.ts.map +1 -1
- package/dist/esm/output.js +63 -33
- package/dist/esm/output.js.map +1 -1
- package/dist/esm/pack-tarball.d.ts +22 -0
- package/dist/esm/pack-tarball.d.ts.map +1 -0
- package/dist/esm/pack-tarball.js +247 -0
- package/dist/esm/pack-tarball.js.map +1 -0
- package/dist/esm/parse-add-remove-args.d.ts +1 -1
- package/dist/esm/parse-add-remove-args.d.ts.map +1 -1
- package/dist/esm/parse-add-remove-args.js +1 -1
- package/dist/esm/parse-add-remove-args.js.map +1 -1
- package/dist/esm/print-err.d.ts +12 -1
- package/dist/esm/print-err.d.ts.map +1 -1
- package/dist/esm/print-err.js +157 -26
- package/dist/esm/print-err.js.map +1 -1
- package/dist/esm/query-host-contexts.d.ts +16 -0
- package/dist/esm/query-host-contexts.d.ts.map +1 -0
- package/dist/esm/query-host-contexts.js +135 -0
- package/dist/esm/query-host-contexts.js.map +1 -0
- package/dist/esm/start-gui.d.ts +7 -33
- package/dist/esm/start-gui.d.ts.map +1 -1
- package/dist/esm/start-gui.js +40 -347
- package/dist/esm/start-gui.js.map +1 -1
- package/dist/esm/view.d.ts +2 -3
- package/dist/esm/view.d.ts.map +1 -1
- package/dist/esm/view.js +1 -1
- package/dist/esm/view.js.map +1 -1
- package/package.json +73 -45
- package/dist/esm/commands/gui.d.ts +0 -6
- package/dist/esm/commands/gui.d.ts.map +0 -1
- package/dist/esm/commands/gui.js +0 -14
- package/dist/esm/commands/gui.js.map +0 -1
- package/dist/esm/commands/install-exec.d.ts +0 -4
- package/dist/esm/commands/install-exec.d.ts.map +0 -1
- package/dist/esm/commands/install-exec.js +0 -13
- package/dist/esm/commands/install-exec.js.map +0 -1
- package/dist/esm/ignored-homedir-folder-names.d.ts +0 -7
- package/dist/esm/ignored-homedir-folder-names.d.ts.map +0 -1
- package/dist/esm/ignored-homedir-folder-names.js +0 -35
- package/dist/esm/ignored-homedir-folder-names.js.map +0 -1
- package/dist/esm/project-info.d.ts +0 -32
- package/dist/esm/project-info.d.ts.map +0 -1
- package/dist/esm/project-info.js +0 -90
- package/dist/esm/project-info.js.map +0 -1
- package/dist/esm/read-project-folders.d.ts +0 -27
- package/dist/esm/read-project-folders.d.ts.map +0 -1
- package/dist/esm/read-project-folders.js +0 -66
- package/dist/esm/read-project-folders.js.map +0 -1
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { availableParallelism, homedir } from 'os';
|
|
2
|
-
import { callLimit } from 'promise-call-limit';
|
|
3
|
-
import { ignoredHomedirFolderNames } from "./ignored-homedir-folder-names.js";
|
|
4
|
-
const limit = Math.max(availableParallelism() - 1, 1) * 8;
|
|
5
|
-
const home = homedir();
|
|
6
|
-
/**
|
|
7
|
-
* Retrieves folders from a given directory, if that directory is
|
|
8
|
-
* recognized to be the current cli project root folder then we
|
|
9
|
-
* proceed to read its siblings.
|
|
10
|
-
*
|
|
11
|
-
* Traverses nested directory recursively until project folders can
|
|
12
|
-
* be find, always stopping at the first level where a package.json
|
|
13
|
-
* is present.
|
|
14
|
-
*/
|
|
15
|
-
export const readProjectFolders = async ({ path = home, scurry, userDefinedProjectPaths, }) => {
|
|
16
|
-
const result = [];
|
|
17
|
-
const homeEntry = scurry.cwd.resolve(home);
|
|
18
|
-
// read entry point folders to collect which ones
|
|
19
|
-
// should we recursively traverse to collect project folders
|
|
20
|
-
const paths = userDefinedProjectPaths.length ? userDefinedProjectPaths : [path];
|
|
21
|
-
const step = (entry) => async () => {
|
|
22
|
-
for (const child of await entry.readdir()) {
|
|
23
|
-
if (collectResult(child, result, scurry, entry === homeEntry)) {
|
|
24
|
-
traverse.push(step(child));
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
let traverse = (await Promise.all(paths.map(path => scurry.lstat(path))))
|
|
29
|
-
.filter(p => !!p)
|
|
30
|
-
.map(step);
|
|
31
|
-
// have to do it in phases this way because pushing into the queue
|
|
32
|
-
// during the promise-call-limit confuses its tracking.
|
|
33
|
-
let t;
|
|
34
|
-
do {
|
|
35
|
-
t = traverse;
|
|
36
|
-
traverse = [];
|
|
37
|
-
await callLimit(t, { limit });
|
|
38
|
-
} while (traverse.length);
|
|
39
|
-
return result;
|
|
40
|
-
};
|
|
41
|
-
// collectResult will return true in case it finds a directory that
|
|
42
|
-
// has no package.json file in it but that can still be potentially
|
|
43
|
-
// recursive traversed in the future
|
|
44
|
-
const collectResult = (entry, result, scurry, fromHome) => {
|
|
45
|
-
if (!entry.isDirectory() ||
|
|
46
|
-
entry.isSymbolicLink() ||
|
|
47
|
-
entry.name === 'node_modules' ||
|
|
48
|
-
(fromHome &&
|
|
49
|
-
ignoredHomedirFolderNames.includes(entry.name.toLowerCase())) ||
|
|
50
|
-
entry.name.startsWith('.')) {
|
|
51
|
-
return false;
|
|
52
|
-
}
|
|
53
|
-
const resolved = entry.fullpath();
|
|
54
|
-
const statPackageJson = scurry.lstatSync(`${resolved}/package.json`);
|
|
55
|
-
const hasDotGit = scurry.lstatSync(`${resolved}/.git`);
|
|
56
|
-
const hasValidPackageJson = statPackageJson &&
|
|
57
|
-
statPackageJson.isFile() &&
|
|
58
|
-
!statPackageJson.isSymbolicLink();
|
|
59
|
-
if (hasValidPackageJson)
|
|
60
|
-
result.push(entry);
|
|
61
|
-
// do not descend if we're in a root of a git project or C project
|
|
62
|
-
// TODO: make this more consistent with how we determine
|
|
63
|
-
// "project-root-ness" in the walk up the folder tree.
|
|
64
|
-
return !hasDotGit && !hasValidPackageJson;
|
|
65
|
-
};
|
|
66
|
-
//# sourceMappingURL=read-project-folders.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"read-project-folders.js","sourceRoot":"","sources":["../../src/read-project-folders.ts"],"names":[],"mappings":"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","sourcesContent":["import { availableParallelism, homedir } from 'os'\nimport type { PathBase, PathScurry } from 'path-scurry'\nimport { callLimit } from 'promise-call-limit'\nimport { ignoredHomedirFolderNames } from './ignored-homedir-folder-names.ts'\n\nconst limit = Math.max(availableParallelism() - 1, 1) * 8\nconst home = homedir()\n\ntype ProjectFolderOptions = {\n /**\n * The standard path to read from, defaults to the user's home directory.\n */\n path?: string\n /**\n * A {@link PathScurry} object, for use in globs.\n */\n scurry: PathScurry\n /**\n * A list of user defined project paths set in the configuration file.\n */\n userDefinedProjectPaths: string[]\n}\n\n/**\n * Retrieves folders from a given directory, if that directory is\n * recognized to be the current cli project root folder then we\n * proceed to read its siblings.\n *\n * Traverses nested directory recursively until project folders can\n * be find, always stopping at the first level where a package.json\n * is present.\n */\nexport const readProjectFolders = async ({\n path = home,\n scurry,\n userDefinedProjectPaths,\n}: ProjectFolderOptions): Promise<PathBase[]> => {\n const result: PathBase[] = []\n const homeEntry = scurry.cwd.resolve(home)\n\n // read entry point folders to collect which ones\n // should we recursively traverse to collect project folders\n const paths =\n userDefinedProjectPaths.length ? userDefinedProjectPaths : [path]\n\n const step = (entry: PathBase) => async () => {\n for (const child of await entry.readdir()) {\n if (collectResult(child, result, scurry, entry === homeEntry)) {\n traverse.push(step(child))\n }\n }\n }\n\n let traverse = (\n await Promise.all(paths.map(path => scurry.lstat(path)))\n )\n .filter(p => !!p)\n .map(step)\n\n // have to do it in phases this way because pushing into the queue\n // during the promise-call-limit confuses its tracking.\n let t: (() => Promise<void>)[]\n do {\n t = traverse\n traverse = []\n await callLimit(t, { limit })\n } while (traverse.length)\n\n return result\n}\n\n// collectResult will return true in case it finds a directory that\n// has no package.json file in it but that can still be potentially\n// recursive traversed in the future\nconst collectResult = (\n entry: PathBase,\n result: PathBase[],\n scurry: PathScurry,\n fromHome: boolean,\n): boolean => {\n if (\n !entry.isDirectory() ||\n entry.isSymbolicLink() ||\n entry.name === 'node_modules' ||\n (fromHome &&\n ignoredHomedirFolderNames.includes(entry.name.toLowerCase())) ||\n entry.name.startsWith('.')\n ) {\n return false\n }\n\n const resolved = entry.fullpath()\n const statPackageJson = scurry.lstatSync(`${resolved}/package.json`)\n const hasDotGit = scurry.lstatSync(`${resolved}/.git`)\n const hasValidPackageJson =\n statPackageJson &&\n statPackageJson.isFile() &&\n !statPackageJson.isSymbolicLink()\n\n if (hasValidPackageJson) result.push(entry)\n\n // do not descend if we're in a root of a git project or C project\n // TODO: make this more consistent with how we determine\n // \"project-root-ness\" in the walk up the folder tree.\n return !hasDotGit && !hasValidPackageJson\n}\n"]}
|