@verdaccio/e2e-cli 2.10.2 → 3.0.0
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/Cargo.lock +1591 -0
- package/Cargo.toml +19 -0
- package/bin/e2e-cli.js +26 -6
- package/build/bin/verdaccio-e2e +0 -0
- package/build/cjs/index.cjs +11 -166
- package/build/esm/index.js +10 -153
- package/build/index.d.ts +15 -6
- package/package.json +14 -16
- package/scripts/build-js-package.mjs +25 -0
- package/src/e2e_tests/audit.rs +51 -0
- package/src/e2e_tests/ci.rs +32 -0
- package/src/e2e_tests/deprecate.rs +64 -0
- package/src/e2e_tests/dist_tags.rs +56 -0
- package/src/e2e_tests/info.rs +43 -0
- package/src/e2e_tests/install.rs +27 -0
- package/src/e2e_tests/login.rs +64 -0
- package/src/e2e_tests/mod.rs +104 -0
- package/src/e2e_tests/ping.rs +33 -0
- package/src/e2e_tests/publish.rs +68 -0
- package/src/e2e_tests/search.rs +14 -0
- package/src/e2e_tests/unpublish.rs +37 -0
- package/src/main.rs +1411 -0
- package/src/scenarios/install_multiple_deps.rs +99 -0
- package/src/scenarios/minimum_release_age.rs +45 -0
- package/src/scenarios/mod.rs +11 -0
- package/build/adapters/adapter.d.ts +0 -1
- package/build/adapters/bun.d.ts +0 -2
- package/build/adapters/deno.d.ts +0 -2
- package/build/adapters/index.d.ts +0 -6
- package/build/adapters/npm.d.ts +0 -2
- package/build/adapters/pnpm.d.ts +0 -2
- package/build/adapters/yarn-classic.d.ts +0 -2
- package/build/adapters/yarn-modern.d.ts +0 -2
- package/build/cjs/_virtual/_rolldown/runtime.cjs +0 -23
- package/build/cjs/adapters/bun.cjs +0 -63
- package/build/cjs/adapters/bun.cjs.map +0 -1
- package/build/cjs/adapters/deno.cjs +0 -58
- package/build/cjs/adapters/deno.cjs.map +0 -1
- package/build/cjs/adapters/index.cjs +0 -6
- package/build/cjs/adapters/npm.cjs +0 -75
- package/build/cjs/adapters/npm.cjs.map +0 -1
- package/build/cjs/adapters/pnpm.cjs +0 -104
- package/build/cjs/adapters/pnpm.cjs.map +0 -1
- package/build/cjs/adapters/yarn-classic.cjs +0 -98
- package/build/cjs/adapters/yarn-classic.cjs.map +0 -1
- package/build/cjs/adapters/yarn-modern.cjs +0 -206
- package/build/cjs/adapters/yarn-modern.cjs.map +0 -1
- package/build/cjs/index.cjs.map +0 -1
- package/build/cjs/reporter.cjs +0 -113
- package/build/cjs/reporter.cjs.map +0 -1
- package/build/cjs/runner.cjs +0 -141
- package/build/cjs/runner.cjs.map +0 -1
- package/build/cjs/scenarios/index.cjs +0 -8
- package/build/cjs/scenarios/index.cjs.map +0 -1
- package/build/cjs/scenarios/install-multiple-deps.cjs +0 -117
- package/build/cjs/scenarios/install-multiple-deps.cjs.map +0 -1
- package/build/cjs/scenarios/minimum-release-age.cjs +0 -112
- package/build/cjs/scenarios/minimum-release-age.cjs.map +0 -1
- package/build/cjs/tests/audit.cjs +0 -47
- package/build/cjs/tests/audit.cjs.map +0 -1
- package/build/cjs/tests/ci.cjs +0 -83
- package/build/cjs/tests/ci.cjs.map +0 -1
- package/build/cjs/tests/deprecate.cjs +0 -107
- package/build/cjs/tests/deprecate.cjs.map +0 -1
- package/build/cjs/tests/dist-tags.cjs +0 -43
- package/build/cjs/tests/dist-tags.cjs.map +0 -1
- package/build/cjs/tests/index.cjs +0 -33
- package/build/cjs/tests/index.cjs.map +0 -1
- package/build/cjs/tests/info.cjs +0 -42
- package/build/cjs/tests/info.cjs.map +0 -1
- package/build/cjs/tests/install.cjs +0 -27
- package/build/cjs/tests/install.cjs.map +0 -1
- package/build/cjs/tests/login.cjs +0 -117
- package/build/cjs/tests/login.cjs.map +0 -1
- package/build/cjs/tests/ping.cjs +0 -30
- package/build/cjs/tests/ping.cjs.map +0 -1
- package/build/cjs/tests/publish.cjs +0 -37
- package/build/cjs/tests/publish.cjs.map +0 -1
- package/build/cjs/tests/search.cjs +0 -19
- package/build/cjs/tests/search.cjs.map +0 -1
- package/build/cjs/tests/unpublish.cjs +0 -40
- package/build/cjs/tests/unpublish.cjs.map +0 -1
- package/build/cjs/utils/info.cjs +0 -25
- package/build/cjs/utils/info.cjs.map +0 -1
- package/build/cjs/utils/process.cjs +0 -85
- package/build/cjs/utils/process.cjs.map +0 -1
- package/build/cjs/utils/project.cjs +0 -55
- package/build/cjs/utils/project.cjs.map +0 -1
- package/build/cjs/utils/registry-client.cjs +0 -56
- package/build/cjs/utils/registry-client.cjs.map +0 -1
- package/build/esm/adapters/bun.js +0 -61
- package/build/esm/adapters/bun.js.map +0 -1
- package/build/esm/adapters/deno.js +0 -56
- package/build/esm/adapters/deno.js.map +0 -1
- package/build/esm/adapters/index.js +0 -7
- package/build/esm/adapters/npm.js +0 -73
- package/build/esm/adapters/npm.js.map +0 -1
- package/build/esm/adapters/pnpm.js +0 -102
- package/build/esm/adapters/pnpm.js.map +0 -1
- package/build/esm/adapters/yarn-classic.js +0 -96
- package/build/esm/adapters/yarn-classic.js.map +0 -1
- package/build/esm/adapters/yarn-modern.js +0 -203
- package/build/esm/adapters/yarn-modern.js.map +0 -1
- package/build/esm/index.js.map +0 -1
- package/build/esm/reporter.js +0 -107
- package/build/esm/reporter.js.map +0 -1
- package/build/esm/runner.js +0 -138
- package/build/esm/runner.js.map +0 -1
- package/build/esm/scenarios/index.js +0 -8
- package/build/esm/scenarios/index.js.map +0 -1
- package/build/esm/scenarios/install-multiple-deps.js +0 -114
- package/build/esm/scenarios/install-multiple-deps.js.map +0 -1
- package/build/esm/scenarios/minimum-release-age.js +0 -109
- package/build/esm/scenarios/minimum-release-age.js.map +0 -1
- package/build/esm/tests/audit.js +0 -44
- package/build/esm/tests/audit.js.map +0 -1
- package/build/esm/tests/ci.js +0 -80
- package/build/esm/tests/ci.js.map +0 -1
- package/build/esm/tests/deprecate.js +0 -104
- package/build/esm/tests/deprecate.js.map +0 -1
- package/build/esm/tests/dist-tags.js +0 -41
- package/build/esm/tests/dist-tags.js.map +0 -1
- package/build/esm/tests/index.js +0 -33
- package/build/esm/tests/index.js.map +0 -1
- package/build/esm/tests/info.js +0 -40
- package/build/esm/tests/info.js.map +0 -1
- package/build/esm/tests/install.js +0 -25
- package/build/esm/tests/install.js.map +0 -1
- package/build/esm/tests/login.js +0 -113
- package/build/esm/tests/login.js.map +0 -1
- package/build/esm/tests/ping.js +0 -28
- package/build/esm/tests/ping.js.map +0 -1
- package/build/esm/tests/publish.js +0 -35
- package/build/esm/tests/publish.js.map +0 -1
- package/build/esm/tests/search.js +0 -17
- package/build/esm/tests/search.js.map +0 -1
- package/build/esm/tests/unpublish.js +0 -38
- package/build/esm/tests/unpublish.js.map +0 -1
- package/build/esm/utils/info.js +0 -24
- package/build/esm/utils/info.js.map +0 -1
- package/build/esm/utils/process.js +0 -82
- package/build/esm/utils/process.js.map +0 -1
- package/build/esm/utils/project.js +0 -50
- package/build/esm/utils/project.js.map +0 -1
- package/build/esm/utils/registry-client.js +0 -53
- package/build/esm/utils/registry-client.js.map +0 -1
- package/build/reporter.d.ts +0 -7
- package/build/runner.d.ts +0 -13
- package/build/scenarios/index.d.ts +0 -5
- package/build/scenarios/install-multiple-deps.d.ts +0 -2
- package/build/scenarios/minimum-release-age.d.ts +0 -11
- package/build/tests/audit.d.ts +0 -2
- package/build/tests/ci.d.ts +0 -2
- package/build/tests/deprecate.d.ts +0 -2
- package/build/tests/dist-tags.d.ts +0 -2
- package/build/tests/index.d.ts +0 -15
- package/build/tests/info.d.ts +0 -2
- package/build/tests/install.d.ts +0 -2
- package/build/tests/login.d.ts +0 -2
- package/build/tests/ping.d.ts +0 -2
- package/build/tests/publish.d.ts +0 -2
- package/build/tests/search.d.ts +0 -2
- package/build/tests/unpublish.d.ts +0 -2
- package/build/types.d.ts +0 -81
- package/build/utils/index.d.ts +0 -4
- package/build/utils/info.d.ts +0 -14
- package/build/utils/process.d.ts +0 -4
- package/build/utils/project.d.ts +0 -6
- package/build/utils/registry-client.d.ts +0 -15
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
2
|
-
let debug = require("debug");
|
|
3
|
-
debug = require_runtime.__toESM(debug, 1);
|
|
4
|
-
let path = require("path");
|
|
5
|
-
let fs_promises = require("fs/promises");
|
|
6
|
-
let os = require("os");
|
|
7
|
-
//#region src/utils/project.ts
|
|
8
|
-
var debug$1 = (0, debug.default)("verdaccio:e2e-cli:project");
|
|
9
|
-
async function createTempFolder(prefix) {
|
|
10
|
-
const sanitized = prefix.replace(/[^a-zA-Z0-9-_]/g, "-");
|
|
11
|
-
debug$1("creating temp folder %o", sanitized);
|
|
12
|
-
return (0, fs_promises.mkdtemp)((0, path.join)((0, os.tmpdir)(), `verdaccio-e2e-${sanitized}-`));
|
|
13
|
-
}
|
|
14
|
-
function getPackageJSON(packageName, version = "1.0.0", dependencies = {}, devDependencies = {}) {
|
|
15
|
-
debug$1("creating package.json %o", packageName);
|
|
16
|
-
return JSON.stringify({
|
|
17
|
-
name: packageName,
|
|
18
|
-
version,
|
|
19
|
-
description: "some cool project",
|
|
20
|
-
main: "index.js",
|
|
21
|
-
scripts: { test: "echo exit 1" },
|
|
22
|
-
dependencies,
|
|
23
|
-
devDependencies,
|
|
24
|
-
keywords: ["foo", "bar"],
|
|
25
|
-
author: "Verdaccio E2E <verdaccio@example.org>",
|
|
26
|
-
license: "MIT"
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
function getREADME(packageName) {
|
|
30
|
-
return `
|
|
31
|
-
# My README ${packageName}
|
|
32
|
-
|
|
33
|
-
some text
|
|
34
|
-
|
|
35
|
-
## subtitle
|
|
36
|
-
|
|
37
|
-
more text
|
|
38
|
-
`;
|
|
39
|
-
}
|
|
40
|
-
async function prepareGenericEmptyProject(packageName, version, port, token, registryDomain, dependencies = {}, devDependencies = {}) {
|
|
41
|
-
debug$1("preparing generic project %o", packageName);
|
|
42
|
-
const getNPMrc = (port, token, registry) => `//localhost:${port}/:_authToken=${token}\nregistry=${registry}\nmin-release-age=0`;
|
|
43
|
-
const tempFolder = await createTempFolder("temp-folder");
|
|
44
|
-
await (0, fs_promises.writeFile)((0, path.join)(tempFolder, "package.json"), getPackageJSON(packageName, version, dependencies, devDependencies));
|
|
45
|
-
await (0, fs_promises.writeFile)((0, path.join)(tempFolder, "README.md"), getREADME(packageName));
|
|
46
|
-
await (0, fs_promises.writeFile)((0, path.join)(tempFolder, ".npmrc"), getNPMrc(port, token, registryDomain));
|
|
47
|
-
return { tempFolder };
|
|
48
|
-
}
|
|
49
|
-
//#endregion
|
|
50
|
-
exports.createTempFolder = createTempFolder;
|
|
51
|
-
exports.getPackageJSON = getPackageJSON;
|
|
52
|
-
exports.getREADME = getREADME;
|
|
53
|
-
exports.prepareGenericEmptyProject = prepareGenericEmptyProject;
|
|
54
|
-
|
|
55
|
-
//# sourceMappingURL=project.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project.cjs","names":[],"sources":["../../../src/utils/project.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport { mkdirSync } from 'fs';\nimport { mkdtemp, writeFile } from 'fs/promises';\nimport { tmpdir } from 'os';\nimport { join } from 'path';\n\nconst debug = buildDebug('verdaccio:e2e-cli:project');\n\nexport async function createTempFolder(prefix: string): Promise<string> {\n const sanitized = prefix.replace(/[^a-zA-Z0-9-_]/g, '-');\n debug('creating temp folder %o', sanitized);\n return mkdtemp(join(tmpdir(), `verdaccio-e2e-${sanitized}-`));\n}\n\nexport function getPackageJSON(\n packageName: string,\n version = '1.0.0',\n dependencies: Record<string, string> = {},\n devDependencies: Record<string, string> = {}\n): string {\n debug('creating package.json %o', packageName);\n const json = {\n name: packageName,\n version,\n description: 'some cool project',\n main: 'index.js',\n scripts: {\n test: 'echo exit 1',\n },\n dependencies,\n devDependencies,\n keywords: ['foo', 'bar'],\n author: 'Verdaccio E2E <verdaccio@example.org>',\n license: 'MIT',\n };\n return JSON.stringify(json);\n}\n\nexport function getREADME(packageName: string): string {\n return `\n # My README ${packageName}\n\n some text\n\n ## subtitle\n\n more text\n `;\n}\n\nexport async function prepareGenericEmptyProject(\n packageName: string,\n version: string,\n port: number,\n token: string,\n registryDomain: string,\n dependencies: Record<string, string> = {},\n devDependencies: Record<string, string> = {}\n): Promise<{ tempFolder: string }> {\n debug('preparing generic project %o', packageName);\n // `min-release-age=0` keeps the harness hermetic: npm 12 added a release-age\n // cooldown that, if set in the developer's global ~/.npmrc, would reject the\n // just-published packages these tests install (ETARGET / \"no matching version\n // ... before <date>\"). Pinning it per-project overrides any global value.\n // It's an npm-only key — pnpm (minimum-release-age) and yarn ignore it.\n const getNPMrc = (port: number, token: string, registry: string) =>\n `//localhost:${port}/:_authToken=${token}\\nregistry=${registry}\\nmin-release-age=0`;\n const tempFolder = await createTempFolder('temp-folder');\n await writeFile(\n join(tempFolder, 'package.json'),\n getPackageJSON(packageName, version, dependencies, devDependencies)\n );\n await writeFile(join(tempFolder, 'README.md'), getREADME(packageName));\n await writeFile(join(tempFolder, '.npmrc'), getNPMrc(port, token, registryDomain));\n return { tempFolder };\n}\n"],"mappings":";;;;;;;AAMA,IAAM,WAAA,GAAA,MAAA,SAAmB,4BAA4B;AAErD,eAAsB,iBAAiB,QAAiC;CACtE,MAAM,YAAY,OAAO,QAAQ,mBAAmB,IAAI;CACxD,QAAM,2BAA2B,UAAU;CAC3C,QAAA,GAAA,YAAA,UAAA,GAAA,KAAA,OAAA,GAAA,GAAA,SAA4B,EAAE,iBAAiB,UAAU,GAAG,CAAC;;AAG/D,SAAgB,eACd,aACA,UAAU,SACV,eAAuC,EAAE,EACzC,kBAA0C,EAAE,EACpC;CACR,QAAM,4BAA4B,YAAY;CAe9C,OAAO,KAAK,UAAU;EAbpB,MAAM;EACN;EACA,aAAa;EACb,MAAM;EACN,SAAS,EACP,MAAM,eACP;EACD;EACA;EACA,UAAU,CAAC,OAAO,MAAM;EACxB,QAAQ;EACR,SAAS;EAEW,CAAK;;AAG7B,SAAgB,UAAU,aAA6B;CACrD,OAAO;iBACQ,YAAY;;;;;;;;;AAU7B,eAAsB,2BACpB,aACA,SACA,MACA,OACA,gBACA,eAAuC,EAAE,EACzC,kBAA0C,EAAE,EACX;CACjC,QAAM,gCAAgC,YAAY;CAMlD,MAAM,YAAY,MAAc,OAAe,aAC7C,eAAe,KAAK,eAAe,MAAM,aAAa,SAAS;CACjE,MAAM,aAAa,MAAM,iBAAiB,cAAc;CACxD,OAAA,GAAA,YAAA,YAAA,GAAA,KAAA,MACO,YAAY,eAAe,EAChC,eAAe,aAAa,SAAS,cAAc,gBAAgB,CACpE;CACD,OAAA,GAAA,YAAA,YAAA,GAAA,KAAA,MAAqB,YAAY,YAAY,EAAE,UAAU,YAAY,CAAC;CACtE,OAAA,GAAA,YAAA,YAAA,GAAA,KAAA,MAAqB,YAAY,SAAS,EAAE,SAAS,MAAM,OAAO,eAAe,CAAC;CAClF,OAAO,EAAE,YAAY"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
2
|
-
let debug = require("debug");
|
|
3
|
-
debug = require_runtime.__toESM(debug, 1);
|
|
4
|
-
let _verdaccio_registry_cli = require("@verdaccio/registry-cli");
|
|
5
|
-
//#region src/utils/registry-client.ts
|
|
6
|
-
var debug$1 = (0, debug.default)("verdaccio:e2e-cli:registry-client");
|
|
7
|
-
/**
|
|
8
|
-
* Creates a user on the registry and returns the auth token.
|
|
9
|
-
* Uses a unique username per run to avoid 409 conflicts.
|
|
10
|
-
* Works against any running Verdaccio instance with htpasswd auth.
|
|
11
|
-
*/
|
|
12
|
-
async function createUser(registryUrl, user = `e2e-user-${Date.now()}`, password = "e2e-test-password") {
|
|
13
|
-
debug$1("creating user %s on %s", user, registryUrl);
|
|
14
|
-
const url = `${registryUrl}/-/user/org.couchdb.user:${encodeURIComponent(user)}`;
|
|
15
|
-
const response = await fetch(url, {
|
|
16
|
-
method: "PUT",
|
|
17
|
-
headers: { "Content-Type": "application/json" },
|
|
18
|
-
body: JSON.stringify({
|
|
19
|
-
name: user,
|
|
20
|
-
password,
|
|
21
|
-
_id: `org.couchdb.user:${user}`,
|
|
22
|
-
type: "user",
|
|
23
|
-
roles: [],
|
|
24
|
-
date: (/* @__PURE__ */ new Date()).toISOString()
|
|
25
|
-
})
|
|
26
|
-
});
|
|
27
|
-
const body = await response.json();
|
|
28
|
-
if (response.status === 201 || response.status === 200 || response.status === 409) {
|
|
29
|
-
const token = body.token;
|
|
30
|
-
if (token) {
|
|
31
|
-
debug$1("user %s authenticated, token obtained", user);
|
|
32
|
-
return {
|
|
33
|
-
token,
|
|
34
|
-
user
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
throw new Error(`Failed to create/login user "${user}" on ${registryUrl}: ${response.status} ${JSON.stringify(body)}`);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Ping the registry to check it's alive.
|
|
42
|
-
* Uses @verdaccio/registry-cli ping.
|
|
43
|
-
*/
|
|
44
|
-
async function pingRegistry(registryUrl) {
|
|
45
|
-
debug$1("pinging %s", registryUrl);
|
|
46
|
-
try {
|
|
47
|
-
return (await (0, _verdaccio_registry_cli.ping)(registryUrl)).ok;
|
|
48
|
-
} catch {
|
|
49
|
-
return false;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
//#endregion
|
|
53
|
-
exports.createUser = createUser;
|
|
54
|
-
exports.pingRegistry = pingRegistry;
|
|
55
|
-
|
|
56
|
-
//# sourceMappingURL=registry-client.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry-client.cjs","names":[],"sources":["../../../src/utils/registry-client.ts"],"sourcesContent":["import buildDebug from 'debug';\n\nimport { ping } from '@verdaccio/registry-cli';\n\nconst debug = buildDebug('verdaccio:e2e-cli:registry-client');\n\nexport type RegistryAuth = {\n token: string;\n user: string;\n};\n\n/**\n * Creates a user on the registry and returns the auth token.\n * Uses a unique username per run to avoid 409 conflicts.\n * Works against any running Verdaccio instance with htpasswd auth.\n */\nexport async function createUser(\n registryUrl: string,\n user = `e2e-user-${Date.now()}`,\n password = 'e2e-test-password'\n): Promise<RegistryAuth> {\n debug('creating user %s on %s', user, registryUrl);\n const url = `${registryUrl}/-/user/org.couchdb.user:${encodeURIComponent(user)}`;\n const response = await fetch(url, {\n method: 'PUT',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n name: user,\n password,\n _id: `org.couchdb.user:${user}`,\n type: 'user',\n roles: [],\n date: new Date().toISOString(),\n }),\n });\n\n const body = (await response.json()) as any;\n\n if (response.status === 201 || response.status === 200 || response.status === 409) {\n const token = body.token;\n if (token) {\n debug('user %s authenticated, token obtained', user);\n return { token, user };\n }\n }\n\n throw new Error(\n `Failed to create/login user \"${user}\" on ${registryUrl}: ${response.status} ${JSON.stringify(body)}`\n );\n}\n\n/**\n * Ping the registry to check it's alive.\n * Uses @verdaccio/registry-cli ping.\n */\nexport async function pingRegistry(registryUrl: string): Promise<boolean> {\n debug('pinging %s', registryUrl);\n try {\n const result = await ping(registryUrl);\n return result.ok;\n } catch {\n return false;\n }\n}\n"],"mappings":";;;;;AAIA,IAAM,WAAA,GAAA,MAAA,SAAmB,oCAAoC;;;;;;AAY7D,eAAsB,WACpB,aACA,OAAO,YAAY,KAAK,KAAK,IAC7B,WAAW,qBACY;CACvB,QAAM,0BAA0B,MAAM,YAAY;CAClD,MAAM,MAAM,GAAG,YAAY,2BAA2B,mBAAmB,KAAK;CAC9E,MAAM,WAAW,MAAM,MAAM,KAAK;EAChC,QAAQ;EACR,SAAS,EAAE,gBAAgB,oBAAoB;EAC/C,MAAM,KAAK,UAAU;GACnB,MAAM;GACN;GACA,KAAK,oBAAoB;GACzB,MAAM;GACN,OAAO,EAAE;GACT,uBAAM,IAAI,MAAM,EAAC,aAAa;GAC/B,CAAC;EACH,CAAC;CAEF,MAAM,OAAQ,MAAM,SAAS,MAAM;CAEnC,IAAI,SAAS,WAAW,OAAO,SAAS,WAAW,OAAO,SAAS,WAAW,KAAK;EACjF,MAAM,QAAQ,KAAK;EACnB,IAAI,OAAO;GACT,QAAM,yCAAyC,KAAK;GACpD,OAAO;IAAE;IAAO;IAAM;;;CAI1B,MAAM,IAAI,MACR,gCAAgC,KAAK,OAAO,YAAY,IAAI,SAAS,OAAO,GAAG,KAAK,UAAU,KAAK,GACpG;;;;;;AAOH,eAAsB,aAAa,aAAuC;CACxE,QAAM,cAAc,YAAY;CAChC,IAAI;EAEF,QAAO,OAAA,GAAA,wBAAA,MADmB,YAAY,EACxB;SACR;EACN,OAAO"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { exec } from "../utils/process.js";
|
|
2
|
-
import { prepareGenericEmptyProject } from "../utils/project.js";
|
|
3
|
-
import buildDebug from "debug";
|
|
4
|
-
import { execSync } from "child_process";
|
|
5
|
-
//#region src/adapters/bun.ts
|
|
6
|
-
var debug = buildDebug("verdaccio:e2e-cli:bun");
|
|
7
|
-
var BUN_SUPPORTED_COMMANDS = new Set([
|
|
8
|
-
"publish",
|
|
9
|
-
"install",
|
|
10
|
-
"info",
|
|
11
|
-
"audit"
|
|
12
|
-
]);
|
|
13
|
-
function detectVersion(bin) {
|
|
14
|
-
try {
|
|
15
|
-
return execSync(`${bin} --version`, {
|
|
16
|
-
encoding: "utf8",
|
|
17
|
-
timeout: 5e3
|
|
18
|
-
}).trim();
|
|
19
|
-
} catch {
|
|
20
|
-
return "unknown";
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
function resolveBunBin(binPath) {
|
|
24
|
-
if (binPath) return binPath;
|
|
25
|
-
return "bun";
|
|
26
|
-
}
|
|
27
|
-
function createBunAdapter(binPath, _version) {
|
|
28
|
-
const bin = resolveBunBin(binPath);
|
|
29
|
-
const resolved = detectVersion(bin);
|
|
30
|
-
debug("creating bun adapter with bin: %s (%s)", bin, resolved);
|
|
31
|
-
return {
|
|
32
|
-
name: `bun@${resolved}`,
|
|
33
|
-
type: "bun",
|
|
34
|
-
bin,
|
|
35
|
-
supports: BUN_SUPPORTED_COMMANDS,
|
|
36
|
-
registryArg(url) {
|
|
37
|
-
return ["--registry", url];
|
|
38
|
-
},
|
|
39
|
-
prefixArg(folder) {
|
|
40
|
-
return ["--cwd", folder];
|
|
41
|
-
},
|
|
42
|
-
exec(options, ...args) {
|
|
43
|
-
if (args[0] === "info") {
|
|
44
|
-
const pkgName = args[1];
|
|
45
|
-
return exec(options, bin, [
|
|
46
|
-
"info",
|
|
47
|
-
pkgName,
|
|
48
|
-
...args.slice(2).filter((a) => a !== "--registry").filter((a) => !a.startsWith("http"))
|
|
49
|
-
]);
|
|
50
|
-
}
|
|
51
|
-
return exec(options, bin, args);
|
|
52
|
-
},
|
|
53
|
-
async prepareProject(packageName, version, registryUrl, port, token, dependencies = {}, devDependencies = {}) {
|
|
54
|
-
return prepareGenericEmptyProject(packageName, version, port, token, registryUrl, dependencies, devDependencies);
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
//#endregion
|
|
59
|
-
export { createBunAdapter };
|
|
60
|
-
|
|
61
|
-
//# sourceMappingURL=bun.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bun.js","names":[],"sources":["../../../src/adapters/bun.ts"],"sourcesContent":["import { SpawnOptions, execSync } from 'child_process';\nimport buildDebug from 'debug';\n\nimport { ExecOutput, PackageManagerAdapter } from '../types';\nimport { exec } from '../utils/process';\nimport { prepareGenericEmptyProject } from '../utils/project';\n\nconst debug = buildDebug('verdaccio:e2e-cli:bun');\n\nconst BUN_SUPPORTED_COMMANDS = new Set(['publish', 'install', 'info', 'audit']);\n\nfunction detectVersion(bin: string): string {\n try {\n return execSync(`${bin} --version`, { encoding: 'utf8', timeout: 5000 }).trim();\n } catch {\n return 'unknown';\n }\n}\n\nfunction resolveBunBin(binPath?: string): string {\n if (binPath) return binPath;\n return 'bun';\n}\n\nexport function createBunAdapter(binPath?: string, _version?: string): PackageManagerAdapter {\n const bin = resolveBunBin(binPath);\n const resolved = detectVersion(bin);\n debug('creating bun adapter with bin: %s (%s)', bin, resolved);\n\n const adapter: PackageManagerAdapter = {\n name: `bun@${resolved}`,\n type: 'bun',\n bin,\n supports: BUN_SUPPORTED_COMMANDS,\n\n registryArg(url: string): string[] {\n return ['--registry', url];\n },\n\n prefixArg(folder: string): string[] {\n return ['--cwd', folder];\n },\n\n exec(options: SpawnOptions, ...args: string[]): Promise<ExecOutput> {\n const cmd = args[0];\n\n if (cmd === 'info') {\n // bun info <pkg> reads registry from .npmrc, strip --registry <url>\n const pkgName = args[1];\n const filteredArgs = args.slice(2).filter((a) => a !== '--registry');\n // also remove the URL that follows --registry\n const cleaned = filteredArgs.filter((a) => !a.startsWith('http'));\n return exec(options, bin, ['info', pkgName, ...cleaned]);\n }\n\n return exec(options, bin, args);\n },\n\n async prepareProject(\n packageName: string,\n version: string,\n registryUrl: string,\n port: number,\n token: string,\n dependencies: Record<string, string> = {},\n devDependencies: Record<string, string> = {}\n ): Promise<{ tempFolder: string }> {\n return prepareGenericEmptyProject(\n packageName,\n version,\n port,\n token,\n registryUrl,\n dependencies,\n devDependencies\n );\n },\n };\n\n return adapter;\n}\n"],"mappings":";;;;;AAOA,IAAM,QAAQ,WAAW,wBAAwB;AAEjD,IAAM,yBAAyB,IAAI,IAAI;CAAC;CAAW;CAAW;CAAQ;CAAQ,CAAC;AAE/E,SAAS,cAAc,KAAqB;CAC1C,IAAI;EACF,OAAO,SAAS,GAAG,IAAI,aAAa;GAAE,UAAU;GAAQ,SAAS;GAAM,CAAC,CAAC,MAAM;SACzE;EACN,OAAO;;;AAIX,SAAS,cAAc,SAA0B;CAC/C,IAAI,SAAS,OAAO;CACpB,OAAO;;AAGT,SAAgB,iBAAiB,SAAkB,UAA0C;CAC3F,MAAM,MAAM,cAAc,QAAQ;CAClC,MAAM,WAAW,cAAc,IAAI;CACnC,MAAM,0CAA0C,KAAK,SAAS;CAoD9D,OAAO;EAjDL,MAAM,OAAO;EACb,MAAM;EACN;EACA,UAAU;EAEV,YAAY,KAAuB;GACjC,OAAO,CAAC,cAAc,IAAI;;EAG5B,UAAU,QAA0B;GAClC,OAAO,CAAC,SAAS,OAAO;;EAG1B,KAAK,SAAuB,GAAG,MAAqC;GAGlE,IAFY,KAAK,OAEL,QAAQ;IAElB,MAAM,UAAU,KAAK;IAIrB,OAAO,KAAK,SAAS,KAAK;KAAC;KAAQ;KAAS,GAHvB,KAAK,MAAM,EAAE,CAAC,QAAQ,MAAM,MAAM,aAEvC,CAAa,QAAQ,MAAM,CAAC,EAAE,WAAW,OAAO,CACjB;KAAQ,CAAC;;GAG1D,OAAO,KAAK,SAAS,KAAK,KAAK;;EAGjC,MAAM,eACJ,aACA,SACA,aACA,MACA,OACA,eAAuC,EAAE,EACzC,kBAA0C,EAAE,EACX;GACjC,OAAO,2BACL,aACA,SACA,MACA,OACA,aACA,cACA,gBACD;;EAIE"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { exec } from "../utils/process.js";
|
|
2
|
-
import { prepareGenericEmptyProject } from "../utils/project.js";
|
|
3
|
-
import buildDebug from "debug";
|
|
4
|
-
import { execSync } from "child_process";
|
|
5
|
-
//#region src/adapters/deno.ts
|
|
6
|
-
var debug = buildDebug("verdaccio:e2e-cli:deno");
|
|
7
|
-
var DENO_SUPPORTED_COMMANDS = new Set(["install", "info"]);
|
|
8
|
-
function detectVersion(bin) {
|
|
9
|
-
try {
|
|
10
|
-
const match = execSync(`${bin} --version`, {
|
|
11
|
-
encoding: "utf8",
|
|
12
|
-
timeout: 5e3
|
|
13
|
-
}).match(/deno (\S+)/);
|
|
14
|
-
return match ? match[1] : "unknown";
|
|
15
|
-
} catch {
|
|
16
|
-
return "unknown";
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function resolveDenoBin(binPath) {
|
|
20
|
-
if (binPath) return binPath;
|
|
21
|
-
return "deno";
|
|
22
|
-
}
|
|
23
|
-
function createDenoAdapter(binPath, _version) {
|
|
24
|
-
const bin = resolveDenoBin(binPath);
|
|
25
|
-
const resolved = detectVersion(bin);
|
|
26
|
-
debug("creating deno adapter with bin: %s (%s)", bin, resolved);
|
|
27
|
-
return {
|
|
28
|
-
name: `deno@${resolved}`,
|
|
29
|
-
type: "deno",
|
|
30
|
-
bin,
|
|
31
|
-
supports: DENO_SUPPORTED_COMMANDS,
|
|
32
|
-
registryArg(_url) {
|
|
33
|
-
return [];
|
|
34
|
-
},
|
|
35
|
-
prefixArg(folder) {
|
|
36
|
-
return ["--root", folder];
|
|
37
|
-
},
|
|
38
|
-
exec(options, ...args) {
|
|
39
|
-
const cmd = args[0];
|
|
40
|
-
if (cmd === "info") return exec(options, bin, [
|
|
41
|
-
"info",
|
|
42
|
-
`npm:${args[1]}`,
|
|
43
|
-
"--node-modules-dir=auto"
|
|
44
|
-
].concat(args.slice(2).filter((a) => a !== "--json")));
|
|
45
|
-
if (cmd === "install") return exec(options, bin, ["install"]);
|
|
46
|
-
return exec(options, bin, args);
|
|
47
|
-
},
|
|
48
|
-
async prepareProject(packageName, version, registryUrl, port, token, dependencies = {}, devDependencies = {}) {
|
|
49
|
-
return prepareGenericEmptyProject(packageName, version, port, token, registryUrl, dependencies, devDependencies);
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
//#endregion
|
|
54
|
-
export { createDenoAdapter };
|
|
55
|
-
|
|
56
|
-
//# sourceMappingURL=deno.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deno.js","names":[],"sources":["../../../src/adapters/deno.ts"],"sourcesContent":["import { SpawnOptions, execSync } from 'child_process';\nimport buildDebug from 'debug';\n\nimport { ExecOutput, PackageManagerAdapter } from '../types';\nimport { exec } from '../utils/process';\nimport { prepareGenericEmptyProject } from '../utils/project';\n\nconst debug = buildDebug('verdaccio:e2e-cli:deno');\n\nconst DENO_SUPPORTED_COMMANDS = new Set(['install', 'info']);\n\nfunction detectVersion(bin: string): string {\n try {\n const output = execSync(`${bin} --version`, { encoding: 'utf8', timeout: 5000 });\n const match = output.match(/deno (\\S+)/);\n return match ? match[1] : 'unknown';\n } catch {\n return 'unknown';\n }\n}\n\nfunction resolveDenoBin(binPath?: string): string {\n if (binPath) return binPath;\n return 'deno';\n}\n\nexport function createDenoAdapter(binPath?: string, _version?: string): PackageManagerAdapter {\n const bin = resolveDenoBin(binPath);\n const resolved = detectVersion(bin);\n debug('creating deno adapter with bin: %s (%s)', bin, resolved);\n\n const adapter: PackageManagerAdapter = {\n name: `deno@${resolved}`,\n type: 'deno',\n bin,\n supports: DENO_SUPPORTED_COMMANDS,\n\n registryArg(_url: string): string[] {\n // deno reads the registry from .npmrc (written by prepareProject), no CLI flag needed\n return [];\n },\n\n prefixArg(folder: string): string[] {\n return ['--root', folder];\n },\n\n exec(options: SpawnOptions, ...args: string[]): Promise<ExecOutput> {\n const cmd = args[0];\n\n if (cmd === 'info') {\n // deno info npm:<pkg> --node-modules-dir=auto\n const pkgName = args[1];\n const filteredArgs = ['info', `npm:${pkgName}`, '--node-modules-dir=auto'].concat(\n args.slice(2).filter((a) => a !== '--json')\n );\n return exec(options, bin, filteredArgs);\n }\n\n if (cmd === 'install') {\n // deno install — reads registry from .npmrc, no extra flags needed\n return exec(options, bin, ['install']);\n }\n\n return exec(options, bin, args);\n },\n\n async prepareProject(\n packageName: string,\n version: string,\n registryUrl: string,\n port: number,\n token: string,\n dependencies: Record<string, string> = {},\n devDependencies: Record<string, string> = {}\n ): Promise<{ tempFolder: string }> {\n return prepareGenericEmptyProject(\n packageName,\n version,\n port,\n token,\n registryUrl,\n dependencies,\n devDependencies\n );\n },\n };\n\n return adapter;\n}\n"],"mappings":";;;;;AAOA,IAAM,QAAQ,WAAW,yBAAyB;AAElD,IAAM,0BAA0B,IAAI,IAAI,CAAC,WAAW,OAAO,CAAC;AAE5D,SAAS,cAAc,KAAqB;CAC1C,IAAI;EAEF,MAAM,QADS,SAAS,GAAG,IAAI,aAAa;GAAE,UAAU;GAAQ,SAAS;GAAM,CACjE,CAAO,MAAM,aAAa;EACxC,OAAO,QAAQ,MAAM,KAAK;SACpB;EACN,OAAO;;;AAIX,SAAS,eAAe,SAA0B;CAChD,IAAI,SAAS,OAAO;CACpB,OAAO;;AAGT,SAAgB,kBAAkB,SAAkB,UAA0C;CAC5F,MAAM,MAAM,eAAe,QAAQ;CACnC,MAAM,WAAW,cAAc,IAAI;CACnC,MAAM,2CAA2C,KAAK,SAAS;CA0D/D,OAAO;EAvDL,MAAM,QAAQ;EACd,MAAM;EACN;EACA,UAAU;EAEV,YAAY,MAAwB;GAElC,OAAO,EAAE;;EAGX,UAAU,QAA0B;GAClC,OAAO,CAAC,UAAU,OAAO;;EAG3B,KAAK,SAAuB,GAAG,MAAqC;GAClE,MAAM,MAAM,KAAK;GAEjB,IAAI,QAAQ,QAMV,OAAO,KAAK,SAAS,KAHA;IAAC;IAAQ,OADd,KAAK;IAC2B;IAA0B,CAAC,OACzE,KAAK,MAAM,EAAE,CAAC,QAAQ,MAAM,MAAM,SAAS,CAEnB,CAAa;GAGzC,IAAI,QAAQ,WAEV,OAAO,KAAK,SAAS,KAAK,CAAC,UAAU,CAAC;GAGxC,OAAO,KAAK,SAAS,KAAK,KAAK;;EAGjC,MAAM,eACJ,aACA,SACA,aACA,MACA,OACA,eAAuC,EAAE,EACzC,kBAA0C,EAAE,EACX;GACjC,OAAO,2BACL,aACA,SACA,MACA,OACA,aACA,cACA,gBACD;;EAIE"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { exec } from "../utils/process.js";
|
|
2
|
-
import { prepareGenericEmptyProject } from "../utils/project.js";
|
|
3
|
-
import buildDebug from "debug";
|
|
4
|
-
import { execSync } from "child_process";
|
|
5
|
-
//#region src/adapters/npm.ts
|
|
6
|
-
var debug = buildDebug("verdaccio:e2e-cli:npm");
|
|
7
|
-
var NPM_SUPPORTED_COMMANDS = new Set([
|
|
8
|
-
"publish",
|
|
9
|
-
"unpublish",
|
|
10
|
-
"install",
|
|
11
|
-
"info",
|
|
12
|
-
"audit",
|
|
13
|
-
"deprecate",
|
|
14
|
-
"dist-tag",
|
|
15
|
-
"ping",
|
|
16
|
-
"search"
|
|
17
|
-
]);
|
|
18
|
-
function detectVersion(bin) {
|
|
19
|
-
try {
|
|
20
|
-
return execSync(`${bin} --version`, {
|
|
21
|
-
encoding: "utf8",
|
|
22
|
-
timeout: 5e3
|
|
23
|
-
}).trim();
|
|
24
|
-
} catch {
|
|
25
|
-
return "unknown";
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function installNpm(version) {
|
|
29
|
-
const pkg = `npm@${version}`;
|
|
30
|
-
debug("installing %s into temp dir", pkg);
|
|
31
|
-
const tmpDir = execSync("mktemp -d", { encoding: "utf8" }).trim();
|
|
32
|
-
execSync(`npm install --prefix "${tmpDir}" ${pkg} --loglevel=error`, {
|
|
33
|
-
encoding: "utf8",
|
|
34
|
-
timeout: 3e4
|
|
35
|
-
});
|
|
36
|
-
const bin = `${tmpDir}/node_modules/.bin/npm`;
|
|
37
|
-
const installed = detectVersion(bin);
|
|
38
|
-
debug("installed npm %s at %s", installed, bin);
|
|
39
|
-
console.log(` Auto-installed npm ${installed}`);
|
|
40
|
-
return bin;
|
|
41
|
-
}
|
|
42
|
-
function resolveNpmBin(binPath, version) {
|
|
43
|
-
if (binPath) return binPath;
|
|
44
|
-
if (version) return installNpm(version);
|
|
45
|
-
return "npm";
|
|
46
|
-
}
|
|
47
|
-
function createNpmAdapter(binPath, version) {
|
|
48
|
-
const bin = resolveNpmBin(binPath, version);
|
|
49
|
-
const resolved = detectVersion(bin);
|
|
50
|
-
debug("creating npm adapter with bin: %s (%s)", bin, resolved);
|
|
51
|
-
return {
|
|
52
|
-
name: `npm@${resolved}`,
|
|
53
|
-
type: "npm",
|
|
54
|
-
bin,
|
|
55
|
-
supports: NPM_SUPPORTED_COMMANDS,
|
|
56
|
-
registryArg(url) {
|
|
57
|
-
return ["--registry", url];
|
|
58
|
-
},
|
|
59
|
-
prefixArg(folder) {
|
|
60
|
-
return ["--prefix", folder];
|
|
61
|
-
},
|
|
62
|
-
exec(options, ...args) {
|
|
63
|
-
return exec(options, bin, args);
|
|
64
|
-
},
|
|
65
|
-
async prepareProject(packageName, version, registryUrl, port, token, dependencies = {}, devDependencies = {}) {
|
|
66
|
-
return prepareGenericEmptyProject(packageName, version, port, token, registryUrl, dependencies, devDependencies);
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
//#endregion
|
|
71
|
-
export { createNpmAdapter };
|
|
72
|
-
|
|
73
|
-
//# sourceMappingURL=npm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"npm.js","names":[],"sources":["../../../src/adapters/npm.ts"],"sourcesContent":["import { SpawnOptions, execSync } from 'child_process';\nimport buildDebug from 'debug';\n\nimport { ExecOutput, PackageManagerAdapter } from '../types';\nimport { exec } from '../utils/process';\nimport { prepareGenericEmptyProject } from '../utils/project';\n\nconst debug = buildDebug('verdaccio:e2e-cli:npm');\n\nconst NPM_SUPPORTED_COMMANDS = new Set([\n 'publish',\n 'unpublish',\n 'install',\n 'info',\n 'audit',\n 'deprecate',\n 'dist-tag',\n 'ping',\n 'search',\n]);\n\nfunction detectVersion(bin: string): string {\n try {\n return execSync(`${bin} --version`, { encoding: 'utf8', timeout: 5000 }).trim();\n } catch {\n return 'unknown';\n }\n}\n\nfunction installNpm(version: string): string {\n const pkg = `npm@${version}`;\n debug('installing %s into temp dir', pkg);\n const tmpDir = execSync('mktemp -d', { encoding: 'utf8' }).trim();\n execSync(`npm install --prefix \"${tmpDir}\" ${pkg} --loglevel=error`, {\n encoding: 'utf8',\n timeout: 30000,\n });\n const bin = `${tmpDir}/node_modules/.bin/npm`;\n const installed = detectVersion(bin);\n debug('installed npm %s at %s', installed, bin);\n console.log(` Auto-installed npm ${installed}`);\n return bin;\n}\n\nfunction resolveNpmBin(binPath?: string, version?: string): string {\n if (binPath) return binPath;\n if (version) return installNpm(version);\n return 'npm';\n}\n\nexport function createNpmAdapter(binPath?: string, version?: string): PackageManagerAdapter {\n const bin = resolveNpmBin(binPath, version);\n const resolved = detectVersion(bin);\n debug('creating npm adapter with bin: %s (%s)', bin, resolved);\n\n const adapter: PackageManagerAdapter = {\n name: `npm@${resolved}`,\n type: 'npm',\n bin,\n supports: NPM_SUPPORTED_COMMANDS,\n\n registryArg(url: string): string[] {\n return ['--registry', url];\n },\n\n prefixArg(folder: string): string[] {\n return ['--prefix', folder];\n },\n\n exec(options: SpawnOptions, ...args: string[]): Promise<ExecOutput> {\n return exec(options, bin, args);\n },\n\n async prepareProject(\n packageName: string,\n version: string,\n registryUrl: string,\n port: number,\n token: string,\n dependencies: Record<string, string> = {},\n devDependencies: Record<string, string> = {}\n ): Promise<{ tempFolder: string }> {\n return prepareGenericEmptyProject(\n packageName,\n version,\n port,\n token,\n registryUrl,\n dependencies,\n devDependencies\n );\n },\n };\n\n return adapter;\n}\n"],"mappings":";;;;;AAOA,IAAM,QAAQ,WAAW,wBAAwB;AAEjD,IAAM,yBAAyB,IAAI,IAAI;CACrC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,CAAC;AAEF,SAAS,cAAc,KAAqB;CAC1C,IAAI;EACF,OAAO,SAAS,GAAG,IAAI,aAAa;GAAE,UAAU;GAAQ,SAAS;GAAM,CAAC,CAAC,MAAM;SACzE;EACN,OAAO;;;AAIX,SAAS,WAAW,SAAyB;CAC3C,MAAM,MAAM,OAAO;CACnB,MAAM,+BAA+B,IAAI;CACzC,MAAM,SAAS,SAAS,aAAa,EAAE,UAAU,QAAQ,CAAC,CAAC,MAAM;CACjE,SAAS,yBAAyB,OAAO,IAAI,IAAI,oBAAoB;EACnE,UAAU;EACV,SAAS;EACV,CAAC;CACF,MAAM,MAAM,GAAG,OAAO;CACtB,MAAM,YAAY,cAAc,IAAI;CACpC,MAAM,0BAA0B,WAAW,IAAI;CAC/C,QAAQ,IAAI,wBAAwB,YAAY;CAChD,OAAO;;AAGT,SAAS,cAAc,SAAkB,SAA0B;CACjE,IAAI,SAAS,OAAO;CACpB,IAAI,SAAS,OAAO,WAAW,QAAQ;CACvC,OAAO;;AAGT,SAAgB,iBAAiB,SAAkB,SAAyC;CAC1F,MAAM,MAAM,cAAc,SAAS,QAAQ;CAC3C,MAAM,WAAW,cAAc,IAAI;CACnC,MAAM,0CAA0C,KAAK,SAAS;CAyC9D,OAAO;EAtCL,MAAM,OAAO;EACb,MAAM;EACN;EACA,UAAU;EAEV,YAAY,KAAuB;GACjC,OAAO,CAAC,cAAc,IAAI;;EAG5B,UAAU,QAA0B;GAClC,OAAO,CAAC,YAAY,OAAO;;EAG7B,KAAK,SAAuB,GAAG,MAAqC;GAClE,OAAO,KAAK,SAAS,KAAK,KAAK;;EAGjC,MAAM,eACJ,aACA,SACA,aACA,MACA,OACA,eAAuC,EAAE,EACzC,kBAA0C,EAAE,EACX;GACjC,OAAO,2BACL,aACA,SACA,MACA,OACA,aACA,cACA,gBACD;;EAIE"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { exec } from "../utils/process.js";
|
|
2
|
-
import { prepareGenericEmptyProject } from "../utils/project.js";
|
|
3
|
-
import buildDebug from "debug";
|
|
4
|
-
import { execSync } from "child_process";
|
|
5
|
-
//#region src/adapters/pnpm.ts
|
|
6
|
-
var debug = buildDebug("verdaccio:e2e-cli:pnpm");
|
|
7
|
-
var PNPM_V10_COMMANDS = new Set([
|
|
8
|
-
"publish",
|
|
9
|
-
"unpublish",
|
|
10
|
-
"install",
|
|
11
|
-
"info",
|
|
12
|
-
"audit",
|
|
13
|
-
"deprecate",
|
|
14
|
-
"dist-tag",
|
|
15
|
-
"ping",
|
|
16
|
-
"search"
|
|
17
|
-
]);
|
|
18
|
-
var PNPM_V11_COMMANDS = new Set([
|
|
19
|
-
"publish",
|
|
20
|
-
"unpublish",
|
|
21
|
-
"install",
|
|
22
|
-
"info",
|
|
23
|
-
"audit",
|
|
24
|
-
"deprecate"
|
|
25
|
-
]);
|
|
26
|
-
function getSupportedCommands(version) {
|
|
27
|
-
const major = parseInt(version.split(".")[0], 10);
|
|
28
|
-
if (major >= 11) {
|
|
29
|
-
debug("pnpm v%d detected, using v11 command set", major);
|
|
30
|
-
return PNPM_V11_COMMANDS;
|
|
31
|
-
}
|
|
32
|
-
return PNPM_V10_COMMANDS;
|
|
33
|
-
}
|
|
34
|
-
function detectVersion(bin) {
|
|
35
|
-
try {
|
|
36
|
-
return execSync(`${bin} --version`, {
|
|
37
|
-
encoding: "utf8",
|
|
38
|
-
timeout: 5e3
|
|
39
|
-
}).trim();
|
|
40
|
-
} catch {
|
|
41
|
-
return "unknown";
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
function installPnpm(version) {
|
|
45
|
-
const pkg = `pnpm@${version}`;
|
|
46
|
-
debug("installing %s into temp dir", pkg);
|
|
47
|
-
const tmpDir = execSync("mktemp -d", { encoding: "utf8" }).trim();
|
|
48
|
-
execSync(`npm install --prefix "${tmpDir}" ${pkg} --loglevel=error`, {
|
|
49
|
-
encoding: "utf8",
|
|
50
|
-
timeout: 3e4
|
|
51
|
-
});
|
|
52
|
-
const bin = `${tmpDir}/node_modules/.bin/pnpm`;
|
|
53
|
-
const installed = detectVersion(bin);
|
|
54
|
-
debug("installed pnpm %s at %s", installed, bin);
|
|
55
|
-
console.log(` Auto-installed pnpm ${installed}`);
|
|
56
|
-
return bin;
|
|
57
|
-
}
|
|
58
|
-
function resolvePnpmBin(binPath, version) {
|
|
59
|
-
if (binPath) return binPath;
|
|
60
|
-
if (version) return installPnpm(version);
|
|
61
|
-
return "pnpm";
|
|
62
|
-
}
|
|
63
|
-
function createPnpmAdapter(binPath, version) {
|
|
64
|
-
const bin = resolvePnpmBin(binPath, version);
|
|
65
|
-
const resolved = detectVersion(bin);
|
|
66
|
-
debug("creating pnpm adapter with bin: %s (%s)", bin, resolved);
|
|
67
|
-
return {
|
|
68
|
-
name: `pnpm@${resolved}`,
|
|
69
|
-
type: "pnpm",
|
|
70
|
-
bin,
|
|
71
|
-
supports: getSupportedCommands(resolved),
|
|
72
|
-
registryArg(url) {
|
|
73
|
-
return ["--registry", url];
|
|
74
|
-
},
|
|
75
|
-
prefixArg(folder) {
|
|
76
|
-
return ["--prefix", folder];
|
|
77
|
-
},
|
|
78
|
-
exec(options, ...args) {
|
|
79
|
-
if (parseInt(resolved.split(".")[0], 10) >= 11) {
|
|
80
|
-
const cmd = args[0];
|
|
81
|
-
if (cmd === "deprecate" || cmd === "unpublish" || cmd === "publish" || cmd === "dist-tag") args = args.filter((a) => a !== "--json" && !a.startsWith("--loglevel"));
|
|
82
|
-
if (cmd === "deprecate") {
|
|
83
|
-
const msgIdx = 2;
|
|
84
|
-
if (args.length > msgIdx && args[msgIdx] === "") args = [
|
|
85
|
-
"undeprecate",
|
|
86
|
-
args[1],
|
|
87
|
-
...args.slice(3)
|
|
88
|
-
];
|
|
89
|
-
}
|
|
90
|
-
if (cmd === "version") args = args.filter((a) => !a.startsWith("--registry") && !a.startsWith("--loglevel") && !a.startsWith("--no--git-tag-version"));
|
|
91
|
-
}
|
|
92
|
-
return exec(options, bin, args);
|
|
93
|
-
},
|
|
94
|
-
async prepareProject(packageName, version, registryUrl, port, token, dependencies = {}, devDependencies = {}) {
|
|
95
|
-
return prepareGenericEmptyProject(packageName, version, port, token, registryUrl, dependencies, devDependencies);
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
//#endregion
|
|
100
|
-
export { createPnpmAdapter };
|
|
101
|
-
|
|
102
|
-
//# sourceMappingURL=pnpm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pnpm.js","names":[],"sources":["../../../src/adapters/pnpm.ts"],"sourcesContent":["import { SpawnOptions, execSync } from 'child_process';\nimport buildDebug from 'debug';\n\nimport { ExecOutput, PackageManagerAdapter } from '../types';\nimport { exec } from '../utils/process';\nimport { prepareGenericEmptyProject } from '../utils/project';\n\nconst debug = buildDebug('verdaccio:e2e-cli:pnpm');\n\nconst PNPM_V10_COMMANDS = new Set([\n 'publish',\n 'unpublish',\n 'install',\n 'info',\n 'audit',\n 'deprecate',\n 'dist-tag',\n 'ping',\n 'search',\n]);\n\n// pnpm v11 removed ping and search\n// dist-tag output format changed (no --json), needs adapted assertions\nconst PNPM_V11_COMMANDS = new Set([\n 'publish',\n 'unpublish',\n 'install',\n 'info',\n 'audit',\n 'deprecate',\n]);\n\nfunction getSupportedCommands(version: string): Set<string> {\n const major = parseInt(version.split('.')[0], 10);\n if (major >= 11) {\n debug('pnpm v%d detected, using v11 command set', major);\n return PNPM_V11_COMMANDS;\n }\n return PNPM_V10_COMMANDS;\n}\n\nfunction detectVersion(bin: string): string {\n try {\n return execSync(`${bin} --version`, { encoding: 'utf8', timeout: 5000 }).trim();\n } catch {\n return 'unknown';\n }\n}\n\nfunction installPnpm(version: string): string {\n const pkg = `pnpm@${version}`;\n debug('installing %s into temp dir', pkg);\n const tmpDir = execSync('mktemp -d', { encoding: 'utf8' }).trim();\n execSync(`npm install --prefix \"${tmpDir}\" ${pkg} --loglevel=error`, {\n encoding: 'utf8',\n timeout: 30000,\n });\n const bin = `${tmpDir}/node_modules/.bin/pnpm`;\n const installed = detectVersion(bin);\n debug('installed pnpm %s at %s', installed, bin);\n console.log(` Auto-installed pnpm ${installed}`);\n return bin;\n}\n\nfunction resolvePnpmBin(binPath?: string, version?: string): string {\n if (binPath) return binPath;\n if (version) return installPnpm(version);\n return 'pnpm';\n}\n\nexport function createPnpmAdapter(binPath?: string, version?: string): PackageManagerAdapter {\n const bin = resolvePnpmBin(binPath, version);\n const resolved = detectVersion(bin);\n debug('creating pnpm adapter with bin: %s (%s)', bin, resolved);\n\n const adapter: PackageManagerAdapter = {\n name: `pnpm@${resolved}`,\n type: 'pnpm',\n bin,\n supports: getSupportedCommands(resolved),\n\n registryArg(url: string): string[] {\n return ['--registry', url];\n },\n\n prefixArg(folder: string): string[] {\n return ['--prefix', folder];\n },\n\n exec(options: SpawnOptions, ...args: string[]): Promise<ExecOutput> {\n const major = parseInt(resolved.split('.')[0], 10);\n if (major >= 11) {\n // pnpm v11: native deprecate/unpublish don't support --json\n const cmd = args[0];\n if (cmd === 'deprecate' || cmd === 'unpublish' || cmd === 'publish' || cmd === 'dist-tag') {\n args = args.filter((a) => a !== '--json' && !a.startsWith('--loglevel'));\n }\n // pnpm v11: un-deprecate uses `undeprecate` command instead of `deprecate pkg \"\"`\n if (cmd === 'deprecate') {\n // Check if message arg is empty string (un-deprecate)\n // args: ['deprecate', 'pkg@version', '', ...flags]\n const msgIdx = 2; // message is the third arg\n if (args.length > msgIdx && args[msgIdx] === '') {\n args = ['undeprecate', args[1], ...args.slice(3)];\n }\n }\n // pnpm v11: native version command doesn't accept --registry, --loglevel, or --no--git-tag-version\n if (cmd === 'version') {\n args = args.filter(\n (a) =>\n !a.startsWith('--registry') &&\n !a.startsWith('--loglevel') &&\n !a.startsWith('--no--git-tag-version')\n );\n }\n }\n return exec(options, bin, args);\n },\n\n async prepareProject(\n packageName: string,\n version: string,\n registryUrl: string,\n port: number,\n token: string,\n dependencies: Record<string, string> = {},\n devDependencies: Record<string, string> = {}\n ): Promise<{ tempFolder: string }> {\n return prepareGenericEmptyProject(\n packageName,\n version,\n port,\n token,\n registryUrl,\n dependencies,\n devDependencies\n );\n },\n };\n\n return adapter;\n}\n"],"mappings":";;;;;AAOA,IAAM,QAAQ,WAAW,yBAAyB;AAElD,IAAM,oBAAoB,IAAI,IAAI;CAChC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,CAAC;AAIF,IAAM,oBAAoB,IAAI,IAAI;CAChC;CACA;CACA;CACA;CACA;CACA;CACD,CAAC;AAEF,SAAS,qBAAqB,SAA8B;CAC1D,MAAM,QAAQ,SAAS,QAAQ,MAAM,IAAI,CAAC,IAAI,GAAG;CACjD,IAAI,SAAS,IAAI;EACf,MAAM,4CAA4C,MAAM;EACxD,OAAO;;CAET,OAAO;;AAGT,SAAS,cAAc,KAAqB;CAC1C,IAAI;EACF,OAAO,SAAS,GAAG,IAAI,aAAa;GAAE,UAAU;GAAQ,SAAS;GAAM,CAAC,CAAC,MAAM;SACzE;EACN,OAAO;;;AAIX,SAAS,YAAY,SAAyB;CAC5C,MAAM,MAAM,QAAQ;CACpB,MAAM,+BAA+B,IAAI;CACzC,MAAM,SAAS,SAAS,aAAa,EAAE,UAAU,QAAQ,CAAC,CAAC,MAAM;CACjE,SAAS,yBAAyB,OAAO,IAAI,IAAI,oBAAoB;EACnE,UAAU;EACV,SAAS;EACV,CAAC;CACF,MAAM,MAAM,GAAG,OAAO;CACtB,MAAM,YAAY,cAAc,IAAI;CACpC,MAAM,2BAA2B,WAAW,IAAI;CAChD,QAAQ,IAAI,yBAAyB,YAAY;CACjD,OAAO;;AAGT,SAAS,eAAe,SAAkB,SAA0B;CAClE,IAAI,SAAS,OAAO;CACpB,IAAI,SAAS,OAAO,YAAY,QAAQ;CACxC,OAAO;;AAGT,SAAgB,kBAAkB,SAAkB,SAAyC;CAC3F,MAAM,MAAM,eAAe,SAAS,QAAQ;CAC5C,MAAM,WAAW,cAAc,IAAI;CACnC,MAAM,2CAA2C,KAAK,SAAS;CAmE/D,OAAO;EAhEL,MAAM,QAAQ;EACd,MAAM;EACN;EACA,UAAU,qBAAqB,SAAS;EAExC,YAAY,KAAuB;GACjC,OAAO,CAAC,cAAc,IAAI;;EAG5B,UAAU,QAA0B;GAClC,OAAO,CAAC,YAAY,OAAO;;EAG7B,KAAK,SAAuB,GAAG,MAAqC;GAElE,IADc,SAAS,SAAS,MAAM,IAAI,CAAC,IAAI,GAC3C,IAAS,IAAI;IAEf,MAAM,MAAM,KAAK;IACjB,IAAI,QAAQ,eAAe,QAAQ,eAAe,QAAQ,aAAa,QAAQ,YAC7E,OAAO,KAAK,QAAQ,MAAM,MAAM,YAAY,CAAC,EAAE,WAAW,aAAa,CAAC;IAG1E,IAAI,QAAQ,aAAa;KAGvB,MAAM,SAAS;KACf,IAAI,KAAK,SAAS,UAAU,KAAK,YAAY,IAC3C,OAAO;MAAC;MAAe,KAAK;MAAI,GAAG,KAAK,MAAM,EAAE;MAAC;;IAIrD,IAAI,QAAQ,WACV,OAAO,KAAK,QACT,MACC,CAAC,EAAE,WAAW,aAAa,IAC3B,CAAC,EAAE,WAAW,aAAa,IAC3B,CAAC,EAAE,WAAW,wBAAwB,CACzC;;GAGL,OAAO,KAAK,SAAS,KAAK,KAAK;;EAGjC,MAAM,eACJ,aACA,SACA,aACA,MACA,OACA,eAAuC,EAAE,EACzC,kBAA0C,EAAE,EACX;GACjC,OAAO,2BACL,aACA,SACA,MACA,OACA,aACA,cACA,gBACD;;EAIE"}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { exec } from "../utils/process.js";
|
|
2
|
-
import { prepareGenericEmptyProject } from "../utils/project.js";
|
|
3
|
-
import buildDebug from "debug";
|
|
4
|
-
import { execSync } from "child_process";
|
|
5
|
-
//#region src/adapters/yarn-classic.ts
|
|
6
|
-
var debug = buildDebug("verdaccio:e2e-cli:yarn-classic");
|
|
7
|
-
var YARN_CLASSIC_SUPPORTED_COMMANDS = new Set([
|
|
8
|
-
"publish",
|
|
9
|
-
"install",
|
|
10
|
-
"info",
|
|
11
|
-
"audit"
|
|
12
|
-
]);
|
|
13
|
-
function detectYarnVersion(bin) {
|
|
14
|
-
try {
|
|
15
|
-
return execSync(`${bin} --version`, {
|
|
16
|
-
env: {
|
|
17
|
-
...process.env,
|
|
18
|
-
COREPACK_ENABLE_STRICT: "0",
|
|
19
|
-
YARN_IGNORE_PATH: "1"
|
|
20
|
-
},
|
|
21
|
-
encoding: "utf8",
|
|
22
|
-
timeout: 5e3
|
|
23
|
-
}).trim();
|
|
24
|
-
} catch {
|
|
25
|
-
return "unknown";
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function installYarnClassic(version = "1") {
|
|
29
|
-
const pkg = version.startsWith("1") ? `yarn@${version}` : `yarn@1`;
|
|
30
|
-
debug("installing %s into temp dir", pkg);
|
|
31
|
-
const tmpDir = execSync("mktemp -d", { encoding: "utf8" }).trim();
|
|
32
|
-
execSync(`npm install --prefix "${tmpDir}" ${pkg} --loglevel=error`, {
|
|
33
|
-
encoding: "utf8",
|
|
34
|
-
timeout: 3e4
|
|
35
|
-
});
|
|
36
|
-
const bin = `${tmpDir}/node_modules/.bin/yarn`;
|
|
37
|
-
const installed = detectYarnVersion(bin);
|
|
38
|
-
debug("installed yarn %s at %s", installed, bin);
|
|
39
|
-
console.log(` Auto-installed yarn classic ${installed}`);
|
|
40
|
-
return bin;
|
|
41
|
-
}
|
|
42
|
-
function resolveYarnClassicBin(binPath, version) {
|
|
43
|
-
if (binPath) return binPath;
|
|
44
|
-
if (version) return installYarnClassic(version);
|
|
45
|
-
try {
|
|
46
|
-
const systemYarn = execSync("which yarn", {
|
|
47
|
-
encoding: "utf8",
|
|
48
|
-
timeout: 5e3
|
|
49
|
-
}).trim();
|
|
50
|
-
const sysVersion = detectYarnVersion(systemYarn);
|
|
51
|
-
if (sysVersion.split(".")[0] === "1") {
|
|
52
|
-
debug("using system yarn classic %s", sysVersion);
|
|
53
|
-
return systemYarn;
|
|
54
|
-
}
|
|
55
|
-
debug("system yarn is Berry %s, auto-installing classic", sysVersion);
|
|
56
|
-
} catch {
|
|
57
|
-
debug("no system yarn found, auto-installing classic");
|
|
58
|
-
}
|
|
59
|
-
return installYarnClassic();
|
|
60
|
-
}
|
|
61
|
-
function createYarnClassicAdapter(binPath, version) {
|
|
62
|
-
const bin = resolveYarnClassicBin(binPath, version);
|
|
63
|
-
const resolved = detectYarnVersion(bin);
|
|
64
|
-
debug("creating yarn classic adapter with bin: %s (%s)", bin, resolved);
|
|
65
|
-
return {
|
|
66
|
-
name: `yarn-classic@${resolved}`,
|
|
67
|
-
type: "yarn-classic",
|
|
68
|
-
bin,
|
|
69
|
-
supports: YARN_CLASSIC_SUPPORTED_COMMANDS,
|
|
70
|
-
registryArg(url) {
|
|
71
|
-
return ["--registry", url];
|
|
72
|
-
},
|
|
73
|
-
prefixArg(folder) {
|
|
74
|
-
return ["--cwd", folder];
|
|
75
|
-
},
|
|
76
|
-
exec(options, ...args) {
|
|
77
|
-
const env = {
|
|
78
|
-
...process.env,
|
|
79
|
-
...options.env,
|
|
80
|
-
COREPACK_ENABLE_STRICT: "0",
|
|
81
|
-
YARN_IGNORE_PATH: "1"
|
|
82
|
-
};
|
|
83
|
-
return exec({
|
|
84
|
-
...options,
|
|
85
|
-
env
|
|
86
|
-
}, bin, args);
|
|
87
|
-
},
|
|
88
|
-
async prepareProject(packageName, version, registryUrl, port, token, dependencies = {}, devDependencies = {}) {
|
|
89
|
-
return prepareGenericEmptyProject(packageName, version, port, token, registryUrl, dependencies, devDependencies);
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
//#endregion
|
|
94
|
-
export { createYarnClassicAdapter };
|
|
95
|
-
|
|
96
|
-
//# sourceMappingURL=yarn-classic.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"yarn-classic.js","names":[],"sources":["../../../src/adapters/yarn-classic.ts"],"sourcesContent":["import { SpawnOptions, execSync } from 'child_process';\nimport buildDebug from 'debug';\n\nimport { ExecOutput, PackageManagerAdapter } from '../types';\nimport { exec } from '../utils/process';\nimport { prepareGenericEmptyProject } from '../utils/project';\n\nconst debug = buildDebug('verdaccio:e2e-cli:yarn-classic');\n\nconst YARN_CLASSIC_SUPPORTED_COMMANDS = new Set(['publish', 'install', 'info', 'audit']);\n\nfunction detectYarnVersion(bin: string): string {\n try {\n return execSync(`${bin} --version`, {\n env: { ...process.env, COREPACK_ENABLE_STRICT: '0', YARN_IGNORE_PATH: '1' },\n encoding: 'utf8',\n timeout: 5000,\n }).trim();\n } catch {\n return 'unknown';\n }\n}\n\nfunction installYarnClassic(version = '1'): string {\n const pkg = version.startsWith('1') ? `yarn@${version}` : `yarn@1`;\n debug('installing %s into temp dir', pkg);\n const tmpDir = execSync('mktemp -d', { encoding: 'utf8' }).trim();\n execSync(`npm install --prefix \"${tmpDir}\" ${pkg} --loglevel=error`, {\n encoding: 'utf8',\n timeout: 30000,\n });\n const bin = `${tmpDir}/node_modules/.bin/yarn`;\n const installed = detectYarnVersion(bin);\n debug('installed yarn %s at %s', installed, bin);\n console.log(` Auto-installed yarn classic ${installed}`);\n return bin;\n}\n\nfunction resolveYarnClassicBin(binPath?: string, version?: string): string {\n if (binPath) return binPath;\n\n // Always install the requested version to ensure reproducibility\n if (version) {\n return installYarnClassic(version);\n }\n\n // Check if system yarn is 1.x\n try {\n const systemYarn = execSync('which yarn', { encoding: 'utf8', timeout: 5000 }).trim();\n const sysVersion = detectYarnVersion(systemYarn);\n const major = sysVersion.split('.')[0];\n if (major === '1') {\n debug('using system yarn classic %s', sysVersion);\n return systemYarn;\n }\n debug('system yarn is Berry %s, auto-installing classic', sysVersion);\n } catch {\n debug('no system yarn found, auto-installing classic');\n }\n\n return installYarnClassic();\n}\n\nexport function createYarnClassicAdapter(\n binPath?: string,\n version?: string\n): PackageManagerAdapter {\n const bin = resolveYarnClassicBin(binPath, version);\n const resolved = detectYarnVersion(bin);\n debug('creating yarn classic adapter with bin: %s (%s)', bin, resolved);\n\n const adapter: PackageManagerAdapter = {\n name: `yarn-classic@${resolved}`,\n type: 'yarn-classic',\n bin,\n supports: YARN_CLASSIC_SUPPORTED_COMMANDS,\n\n registryArg(url: string): string[] {\n return ['--registry', url];\n },\n\n prefixArg(folder: string): string[] {\n return ['--cwd', folder];\n },\n\n exec(options: SpawnOptions, ...args: string[]): Promise<ExecOutput> {\n const env = {\n ...process.env,\n ...options.env,\n COREPACK_ENABLE_STRICT: '0',\n YARN_IGNORE_PATH: '1',\n };\n return exec({ ...options, env }, bin, args);\n },\n\n async prepareProject(\n packageName: string,\n version: string,\n registryUrl: string,\n port: number,\n token: string,\n dependencies: Record<string, string> = {},\n devDependencies: Record<string, string> = {}\n ): Promise<{ tempFolder: string }> {\n return prepareGenericEmptyProject(\n packageName,\n version,\n port,\n token,\n registryUrl,\n dependencies,\n devDependencies\n );\n },\n };\n\n return adapter;\n}\n"],"mappings":";;;;;AAOA,IAAM,QAAQ,WAAW,iCAAiC;AAE1D,IAAM,kCAAkC,IAAI,IAAI;CAAC;CAAW;CAAW;CAAQ;CAAQ,CAAC;AAExF,SAAS,kBAAkB,KAAqB;CAC9C,IAAI;EACF,OAAO,SAAS,GAAG,IAAI,aAAa;GAClC,KAAK;IAAE,GAAG,QAAQ;IAAK,wBAAwB;IAAK,kBAAkB;IAAK;GAC3E,UAAU;GACV,SAAS;GACV,CAAC,CAAC,MAAM;SACH;EACN,OAAO;;;AAIX,SAAS,mBAAmB,UAAU,KAAa;CACjD,MAAM,MAAM,QAAQ,WAAW,IAAI,GAAG,QAAQ,YAAY;CAC1D,MAAM,+BAA+B,IAAI;CACzC,MAAM,SAAS,SAAS,aAAa,EAAE,UAAU,QAAQ,CAAC,CAAC,MAAM;CACjE,SAAS,yBAAyB,OAAO,IAAI,IAAI,oBAAoB;EACnE,UAAU;EACV,SAAS;EACV,CAAC;CACF,MAAM,MAAM,GAAG,OAAO;CACtB,MAAM,YAAY,kBAAkB,IAAI;CACxC,MAAM,2BAA2B,WAAW,IAAI;CAChD,QAAQ,IAAI,iCAAiC,YAAY;CACzD,OAAO;;AAGT,SAAS,sBAAsB,SAAkB,SAA0B;CACzE,IAAI,SAAS,OAAO;CAGpB,IAAI,SACF,OAAO,mBAAmB,QAAQ;CAIpC,IAAI;EACF,MAAM,aAAa,SAAS,cAAc;GAAE,UAAU;GAAQ,SAAS;GAAM,CAAC,CAAC,MAAM;EACrF,MAAM,aAAa,kBAAkB,WAAW;EAEhD,IADc,WAAW,MAAM,IAAI,CAAC,OACtB,KAAK;GACjB,MAAM,gCAAgC,WAAW;GACjD,OAAO;;EAET,MAAM,oDAAoD,WAAW;SAC/D;EACN,MAAM,gDAAgD;;CAGxD,OAAO,oBAAoB;;AAG7B,SAAgB,yBACd,SACA,SACuB;CACvB,MAAM,MAAM,sBAAsB,SAAS,QAAQ;CACnD,MAAM,WAAW,kBAAkB,IAAI;CACvC,MAAM,mDAAmD,KAAK,SAAS;CA+CvE,OAAO;EA5CL,MAAM,gBAAgB;EACtB,MAAM;EACN;EACA,UAAU;EAEV,YAAY,KAAuB;GACjC,OAAO,CAAC,cAAc,IAAI;;EAG5B,UAAU,QAA0B;GAClC,OAAO,CAAC,SAAS,OAAO;;EAG1B,KAAK,SAAuB,GAAG,MAAqC;GAClE,MAAM,MAAM;IACV,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,wBAAwB;IACxB,kBAAkB;IACnB;GACD,OAAO,KAAK;IAAE,GAAG;IAAS;IAAK,EAAE,KAAK,KAAK;;EAG7C,MAAM,eACJ,aACA,SACA,aACA,MACA,OACA,eAAuC,EAAE,EACzC,kBAA0C,EAAE,EACX;GACjC,OAAO,2BACL,aACA,SACA,MACA,OACA,aACA,cACA,gBACD;;EAIE"}
|