@verdaccio/e2e-cli 2.1.0 → 2.2.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.
Files changed (113) hide show
  1. package/build/adapters/adapter.d.ts +1 -0
  2. package/build/adapters/index.d.ts +4 -0
  3. package/build/adapters/npm.d.ts +2 -0
  4. package/build/adapters/pnpm.d.ts +2 -0
  5. package/build/adapters/yarn-classic.d.ts +2 -0
  6. package/build/adapters/yarn-modern.d.ts +2 -0
  7. package/build/cjs/_virtual/_rolldown/runtime.cjs +23 -0
  8. package/build/cjs/adapters/index.cjs +4 -0
  9. package/build/cjs/adapters/npm.cjs +78 -0
  10. package/build/cjs/adapters/npm.cjs.map +1 -0
  11. package/build/cjs/adapters/pnpm.cjs +78 -0
  12. package/build/cjs/adapters/pnpm.cjs.map +1 -0
  13. package/build/cjs/adapters/yarn-classic.cjs +96 -0
  14. package/build/cjs/adapters/yarn-classic.cjs.map +1 -0
  15. package/build/cjs/adapters/yarn-modern.cjs +133 -0
  16. package/build/cjs/adapters/yarn-modern.cjs.map +1 -0
  17. package/build/cjs/index.cjs +152 -0
  18. package/build/cjs/index.cjs.map +1 -0
  19. package/build/cjs/reporter.cjs +60 -0
  20. package/build/cjs/reporter.cjs.map +1 -0
  21. package/build/cjs/runner.cjs +102 -0
  22. package/build/cjs/runner.cjs.map +1 -0
  23. package/build/cjs/tests/audit.cjs +27 -0
  24. package/build/cjs/tests/audit.cjs.map +1 -0
  25. package/build/cjs/tests/deprecate.cjs +67 -0
  26. package/build/cjs/tests/deprecate.cjs.map +1 -0
  27. package/build/cjs/tests/dist-tags.cjs +43 -0
  28. package/build/cjs/tests/dist-tags.cjs.map +1 -0
  29. package/build/cjs/tests/index.cjs +27 -0
  30. package/build/cjs/tests/index.cjs.map +1 -0
  31. package/build/cjs/tests/info.cjs +38 -0
  32. package/build/cjs/tests/info.cjs.map +1 -0
  33. package/build/cjs/tests/install.cjs +28 -0
  34. package/build/cjs/tests/install.cjs.map +1 -0
  35. package/build/cjs/tests/ping.cjs +18 -0
  36. package/build/cjs/tests/ping.cjs.map +1 -0
  37. package/build/cjs/tests/publish.cjs +34 -0
  38. package/build/cjs/tests/publish.cjs.map +1 -0
  39. package/build/cjs/tests/search.cjs +19 -0
  40. package/build/cjs/tests/search.cjs.map +1 -0
  41. package/build/cjs/tests/star.cjs +27 -0
  42. package/build/cjs/tests/star.cjs.map +1 -0
  43. package/build/cjs/tests/unpublish.cjs +40 -0
  44. package/build/cjs/tests/unpublish.cjs.map +1 -0
  45. package/build/cjs/utils/process.cjs +85 -0
  46. package/build/cjs/utils/process.cjs.map +1 -0
  47. package/build/cjs/utils/project.cjs +55 -0
  48. package/build/cjs/utils/project.cjs.map +1 -0
  49. package/build/cjs/utils/registry-client.cjs +61 -0
  50. package/build/cjs/utils/registry-client.cjs.map +1 -0
  51. package/build/esm/adapters/index.js +5 -0
  52. package/build/esm/adapters/npm.js +76 -0
  53. package/build/esm/adapters/npm.js.map +1 -0
  54. package/build/esm/adapters/pnpm.js +76 -0
  55. package/build/esm/adapters/pnpm.js.map +1 -0
  56. package/build/esm/adapters/yarn-classic.js +94 -0
  57. package/build/esm/adapters/yarn-classic.js.map +1 -0
  58. package/build/esm/adapters/yarn-modern.js +130 -0
  59. package/build/esm/adapters/yarn-modern.js.map +1 -0
  60. package/build/esm/index.js +142 -0
  61. package/build/esm/index.js.map +1 -0
  62. package/build/esm/reporter.js +56 -0
  63. package/build/esm/reporter.js.map +1 -0
  64. package/build/esm/runner.js +99 -0
  65. package/build/esm/runner.js.map +1 -0
  66. package/build/esm/tests/audit.js +25 -0
  67. package/build/esm/tests/audit.js.map +1 -0
  68. package/build/esm/tests/deprecate.js +65 -0
  69. package/build/esm/tests/deprecate.js.map +1 -0
  70. package/build/esm/tests/dist-tags.js +41 -0
  71. package/build/esm/tests/dist-tags.js.map +1 -0
  72. package/build/esm/tests/index.js +27 -0
  73. package/build/esm/tests/index.js.map +1 -0
  74. package/build/esm/tests/info.js +36 -0
  75. package/build/esm/tests/info.js.map +1 -0
  76. package/build/esm/tests/install.js +26 -0
  77. package/build/esm/tests/install.js.map +1 -0
  78. package/build/esm/tests/ping.js +16 -0
  79. package/build/esm/tests/ping.js.map +1 -0
  80. package/build/esm/tests/publish.js +32 -0
  81. package/build/esm/tests/publish.js.map +1 -0
  82. package/build/esm/tests/search.js +17 -0
  83. package/build/esm/tests/search.js.map +1 -0
  84. package/build/esm/tests/star.js +25 -0
  85. package/build/esm/tests/star.js.map +1 -0
  86. package/build/esm/tests/unpublish.js +38 -0
  87. package/build/esm/tests/unpublish.js.map +1 -0
  88. package/build/esm/utils/process.js +82 -0
  89. package/build/esm/utils/process.js.map +1 -0
  90. package/build/esm/utils/project.js +50 -0
  91. package/build/esm/utils/project.js.map +1 -0
  92. package/build/esm/utils/registry-client.js +57 -0
  93. package/build/esm/utils/registry-client.js.map +1 -0
  94. package/build/index.d.ts +5 -0
  95. package/build/reporter.d.ts +6 -0
  96. package/build/runner.d.ts +13 -0
  97. package/build/tests/audit.d.ts +2 -0
  98. package/build/tests/deprecate.d.ts +2 -0
  99. package/build/tests/dist-tags.d.ts +2 -0
  100. package/build/tests/index.d.ts +13 -0
  101. package/build/tests/info.d.ts +2 -0
  102. package/build/tests/install.d.ts +2 -0
  103. package/build/tests/ping.d.ts +2 -0
  104. package/build/tests/publish.d.ts +2 -0
  105. package/build/tests/search.d.ts +2 -0
  106. package/build/tests/star.d.ts +2 -0
  107. package/build/tests/unpublish.d.ts +2 -0
  108. package/build/types.d.ts +65 -0
  109. package/build/utils/index.d.ts +3 -0
  110. package/build/utils/process.d.ts +5 -0
  111. package/build/utils/project.d.ts +6 -0
  112. package/build/utils/registry-client.d.ts +14 -0
  113. package/package.json +1 -1
@@ -0,0 +1,65 @@
1
+ /// <reference types="node" />
2
+ import { SpawnOptions } from 'child_process';
3
+ export type ExecOutput = {
4
+ stdout: string;
5
+ stderr: string;
6
+ };
7
+ export type ExecFn = (options: SpawnOptions, ...args: string[]) => Promise<ExecOutput>;
8
+ export type TestContext = {
9
+ registryUrl: string;
10
+ token: string;
11
+ port: number;
12
+ exec: ExecFn;
13
+ adapter: PackageManagerAdapter;
14
+ /** Unique suffix for package names to avoid conflicts across runs */
15
+ runId: string;
16
+ };
17
+ export type TestResult = {
18
+ name: string;
19
+ passed: boolean;
20
+ duration: number;
21
+ error?: string;
22
+ };
23
+ export type SuiteResult = {
24
+ adapter: string;
25
+ tests: TestResult[];
26
+ passed: number;
27
+ failed: number;
28
+ skipped: number;
29
+ duration: number;
30
+ };
31
+ export type TestDefinition = {
32
+ name: string;
33
+ run: (ctx: TestContext) => Promise<void>;
34
+ /** Commands required for this test (e.g. 'deprecate', 'star'). Skipped if adapter doesn't support them. */
35
+ requires?: string[];
36
+ };
37
+ export interface PackageManagerAdapter {
38
+ /** Display name, e.g. "npm@10" */
39
+ name: string;
40
+ /** Package manager type: npm, pnpm, yarn-classic, yarn-modern */
41
+ type: 'npm' | 'pnpm' | 'yarn-classic' | 'yarn-modern';
42
+ /** Resolved path to the binary */
43
+ bin: string;
44
+ /** Commands this PM supports */
45
+ supports: Set<string>;
46
+ /** Build --registry args */
47
+ registryArg(url: string): string[];
48
+ /** Build --prefix / --cwd args */
49
+ prefixArg(folder: string): string[];
50
+ /** Execute a command with this PM */
51
+ exec(options: SpawnOptions, ...args: string[]): Promise<ExecOutput>;
52
+ /** Prepare a temp project for testing. Returns path to temp folder. */
53
+ prepareProject(packageName: string, version: string, registryUrl: string, port: number, token: string, dependencies?: Record<string, string>, devDependencies?: Record<string, string>): Promise<{
54
+ tempFolder: string;
55
+ }>;
56
+ }
57
+ export type CliOptions = {
58
+ registry: string;
59
+ pm?: string[];
60
+ test?: string[];
61
+ concurrency: number;
62
+ timeout: number;
63
+ token?: string;
64
+ verbose: boolean;
65
+ };
@@ -0,0 +1,3 @@
1
+ export { exec, setVerbose } from './process';
2
+ export { createTempFolder, getPackageJSON, getREADME, prepareGenericEmptyProject } from './project';
3
+ export { createUser, pingRegistry } from './registry-client';
@@ -0,0 +1,5 @@
1
+ /// <reference types="node" />
2
+ import { SpawnOptions } from 'child_process';
3
+ import { ExecOutput } from '../types';
4
+ export declare function setVerbose(v: boolean): void;
5
+ export declare function exec(options: SpawnOptions, cmd: string, args: string[]): Promise<ExecOutput>;
@@ -0,0 +1,6 @@
1
+ export declare function createTempFolder(prefix: string): Promise<string>;
2
+ export declare function getPackageJSON(packageName: string, version?: string, dependencies?: Record<string, string>, devDependencies?: Record<string, string>): string;
3
+ export declare function getREADME(packageName: string): string;
4
+ export declare function prepareGenericEmptyProject(packageName: string, version: string, port: number, token: string, registryDomain: string, dependencies?: Record<string, string>, devDependencies?: Record<string, string>): Promise<{
5
+ tempFolder: string;
6
+ }>;
@@ -0,0 +1,14 @@
1
+ export type RegistryAuth = {
2
+ token: string;
3
+ user: string;
4
+ };
5
+ /**
6
+ * Creates a user on the registry and returns the auth token.
7
+ * Uses a unique username per run to avoid 409 conflicts.
8
+ * Works against any running Verdaccio instance with htpasswd auth.
9
+ */
10
+ export declare function createUser(registryUrl: string, user?: string, password?: string): Promise<RegistryAuth>;
11
+ /**
12
+ * Ping the registry to check it's alive.
13
+ */
14
+ export declare function pingRegistry(registryUrl: string): Promise<boolean>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@verdaccio/e2e-cli",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "CLI tool to run Verdaccio e2e tests against any running registry",