acmekit-dev-cli 2.13.1

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 (62) hide show
  1. package/README.md +74 -0
  2. package/dist/feature-flags/index.d.ts +2 -0
  3. package/dist/feature-flags/index.d.ts.map +1 -0
  4. package/dist/feature-flags/index.js +152 -0
  5. package/dist/feature-flags/index.js.map +1 -0
  6. package/dist/feature-flags/template.d.ts +7 -0
  7. package/dist/feature-flags/template.d.ts.map +1 -0
  8. package/dist/feature-flags/template.js +13 -0
  9. package/dist/feature-flags/template.js.map +1 -0
  10. package/dist/index.d.ts +3 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +145 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/local-npm-registry/cleanup-tasks.d.ts +2 -0
  15. package/dist/local-npm-registry/cleanup-tasks.d.ts.map +1 -0
  16. package/dist/local-npm-registry/cleanup-tasks.js +17 -0
  17. package/dist/local-npm-registry/cleanup-tasks.js.map +1 -0
  18. package/dist/local-npm-registry/index.d.ts +12 -0
  19. package/dist/local-npm-registry/index.d.ts.map +1 -0
  20. package/dist/local-npm-registry/index.js +49 -0
  21. package/dist/local-npm-registry/index.js.map +1 -0
  22. package/dist/local-npm-registry/install-packages.d.ts +7 -0
  23. package/dist/local-npm-registry/install-packages.d.ts.map +1 -0
  24. package/dist/local-npm-registry/install-packages.js +136 -0
  25. package/dist/local-npm-registry/install-packages.js.map +1 -0
  26. package/dist/local-npm-registry/publish-package.d.ts +9 -0
  27. package/dist/local-npm-registry/publish-package.d.ts.map +1 -0
  28. package/dist/local-npm-registry/publish-package.js +101 -0
  29. package/dist/local-npm-registry/publish-package.js.map +1 -0
  30. package/dist/local-npm-registry/verdaccio-config.d.ts +29 -0
  31. package/dist/local-npm-registry/verdaccio-config.d.ts.map +1 -0
  32. package/dist/local-npm-registry/verdaccio-config.js +30 -0
  33. package/dist/local-npm-registry/verdaccio-config.js.map +1 -0
  34. package/dist/utils/check-deps-changes.d.ts +12 -0
  35. package/dist/utils/check-deps-changes.d.ts.map +1 -0
  36. package/dist/utils/check-deps-changes.js +152 -0
  37. package/dist/utils/check-deps-changes.js.map +1 -0
  38. package/dist/utils/get-dependant-packages.d.ts +10 -0
  39. package/dist/utils/get-dependant-packages.d.ts.map +1 -0
  40. package/dist/utils/get-dependant-packages.js +22 -0
  41. package/dist/utils/get-dependant-packages.js.map +1 -0
  42. package/dist/utils/get-monorepo-package-json-path.d.ts +5 -0
  43. package/dist/utils/get-monorepo-package-json-path.d.ts.map +1 -0
  44. package/dist/utils/get-monorepo-package-json-path.js +3 -0
  45. package/dist/utils/get-monorepo-package-json-path.js.map +1 -0
  46. package/dist/utils/promisified-spawn.d.ts +4 -0
  47. package/dist/utils/promisified-spawn.d.ts.map +1 -0
  48. package/dist/utils/promisified-spawn.js +24 -0
  49. package/dist/utils/promisified-spawn.js.map +1 -0
  50. package/dist/utils/traverse-package-deps.d.ts +43 -0
  51. package/dist/utils/traverse-package-deps.d.ts.map +1 -0
  52. package/dist/utils/traverse-package-deps.js +74 -0
  53. package/dist/utils/traverse-package-deps.js.map +1 -0
  54. package/dist/utils/version.d.ts +2 -0
  55. package/dist/utils/version.d.ts.map +1 -0
  56. package/dist/utils/version.js +5 -0
  57. package/dist/utils/version.js.map +1 -0
  58. package/dist/watch.d.ts +11 -0
  59. package/dist/watch.d.ts.map +1 -0
  60. package/dist/watch.js +289 -0
  61. package/dist/watch.js.map +1 -0
  62. package/package.json +59 -0
package/README.md ADDED
@@ -0,0 +1,74 @@
1
+ # acmekit-dev-cli
2
+
3
+ A command-line tool for local AcmeKit development. When doing development work on
4
+ AcmeKit core, this tool allows you to copy the changes to the various
5
+ AcmeKit packages to AcmeKit projects.
6
+
7
+ ## Install
8
+
9
+ `npm install -g acmekit-dev-cli`
10
+
11
+ ## Configuration / First time setup
12
+
13
+ The acmekit-dev-cli tool needs to know where your cloned AcmeKit repository is
14
+ located. You typically only need to configure this once.
15
+
16
+ `acmekit-dev --set-path-to-repo /path/to/my/cloned/version/acmekit`
17
+
18
+ ## How to use
19
+
20
+ Navigate to the project you want to link to your forked AcmeKit repository and
21
+ run:
22
+
23
+ `acmekit-dev`
24
+
25
+ The tool will then scan your project's package.json to find its AcmeKit
26
+ dependencies and copy the latest source from your cloned version of AcmeKit into
27
+ your project's node_modules folder. A watch task is then created to re-copy any
28
+ modules that might change while you're working on the code, so you can leave
29
+ this program running.
30
+
31
+ Typically you'll also want to run `npm run watch` in the AcmeKit repo to set up
32
+ watchers to build AcmeKit source code.
33
+
34
+ ## Revert to current packages
35
+
36
+ If you've recently run `acmekit-dev` your `node_modules` will be out of sync with current published packages. In order to undo this, you can remove the `node_modules` directory or run:
37
+
38
+ ```shell
39
+ git checkout package.json; yarn --force
40
+ ```
41
+
42
+ or
43
+
44
+ ```shell
45
+ git checkout package.json; npm install --force
46
+ ```
47
+
48
+ ### Other commands
49
+
50
+ #### `--packages`
51
+
52
+ You can prevent the automatic dependencies scan and instead specify a list of
53
+ packages you want to link by using the `--packages` option:
54
+
55
+ `acmekit-dev --packages @acmekit/acmekit`
56
+
57
+ #### `--scan-once`
58
+
59
+ With this flag, the tool will do an initial scan and copy and then quit. This is
60
+ useful for setting up automated testing/builds of AcmeKit projects from the latest
61
+ code.
62
+
63
+ #### `--quiet`
64
+
65
+ Don't output anything except for a success message when used together with
66
+ `--scan-once`.
67
+
68
+ #### `--copy-all`
69
+
70
+ Copy all modules/files in the acmekit source repo in packages/
71
+
72
+ #### `--force-install`
73
+
74
+ Disables copying files into node_modules and forces usage of local npm repository.
@@ -0,0 +1,2 @@
1
+ export function buildFFCli(cli: any): void;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/feature-flags/index.js"],"names":[],"mappings":"AAQO,2CAkFN"}
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.buildFFCli = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const glob_1 = __importDefault(require("glob"));
9
+ const fs_1 = __importDefault(require("fs"));
10
+ const configstore_1 = __importDefault(require("configstore"));
11
+ const lodash_1 = require("lodash");
12
+ const template_1 = require("./template");
13
+ const package_json_1 = __importDefault(require("../../package.json"));
14
+ const buildFFCli = (cli) => {
15
+ cli.command({
16
+ command: `ff`,
17
+ desc: "Manage AcmeKit feature flags",
18
+ builder: (yargs) => {
19
+ yargs
20
+ .command({
21
+ command: "create <name>",
22
+ desc: "Create a new feature flag",
23
+ builder: {
24
+ name: {
25
+ demandOption: true,
26
+ coerce: (name) => (0, lodash_1.kebabCase)(name),
27
+ description: "Name of the feature flag",
28
+ type: "string",
29
+ },
30
+ description: {
31
+ alias: "d",
32
+ demandOption: true,
33
+ description: "Description of the feature flag",
34
+ type: "string",
35
+ },
36
+ },
37
+ handler: async (argv) => {
38
+ const acmekitLocation = getRepoRoot();
39
+ const featureFlagPath = buildPath(argv.name, acmekitLocation);
40
+ if (fs_1.default.existsSync(featureFlagPath)) {
41
+ console.error(`Feature flag already exists: ${featureFlagPath}`);
42
+ return;
43
+ }
44
+ const flagSettings = collectSettings(argv.name, argv.description);
45
+ writeFeatureFlag(flagSettings, featureFlagPath);
46
+ },
47
+ })
48
+ .command({
49
+ command: "list",
50
+ desc: "List available feature flags",
51
+ handler: async () => {
52
+ const acmekitLocation = getRepoRoot();
53
+ const flagGlob = buildFlagsGlob(acmekitLocation);
54
+ const featureFlags = glob_1.default.sync(flagGlob, {
55
+ ignore: ["**/index.*"],
56
+ });
57
+ const flagData = featureFlags.map((flag) => {
58
+ const flagSettings = readFeatureFlag(flag);
59
+ return {
60
+ ...flagSettings,
61
+ file_name: path_1.default.basename(flag, ".js"),
62
+ };
63
+ });
64
+ console.table(flagData);
65
+ },
66
+ })
67
+ .command({
68
+ command: "delete <name>",
69
+ desc: "Delete a feature flag",
70
+ builder: {
71
+ name: {
72
+ demand: true,
73
+ coerce: (name) => (0, lodash_1.kebabCase)(name),
74
+ description: "Name of the feature flag",
75
+ type: "string",
76
+ },
77
+ },
78
+ handler: async (argv) => {
79
+ const acmekitLocation = getRepoRoot();
80
+ const featureFlagPath = buildPath(argv.name, acmekitLocation);
81
+ if (fs_1.default.existsSync(featureFlagPath)) {
82
+ fs_1.default.unlinkSync(featureFlagPath);
83
+ }
84
+ console.log(`Feature flag deleted: ${featureFlagPath}`);
85
+ },
86
+ })
87
+ .demandCommand(1, "Please specify an action");
88
+ },
89
+ });
90
+ };
91
+ exports.buildFFCli = buildFFCli;
92
+ const getRepoRoot = () => {
93
+ const conf = new configstore_1.default(package_json_1.default.name);
94
+ const acmekitLocation = conf.get(`acmekit-location`);
95
+ if (!acmekitLocation) {
96
+ console.error(`
97
+ You haven't set the path yet to your cloned
98
+ version of acmekit. Do so now by running:
99
+ acmekit-dev --set-path-to-repo /path/to/my/cloned/version/acmekit
100
+ `);
101
+ process.exit();
102
+ }
103
+ return acmekitLocation;
104
+ };
105
+ const readFeatureFlag = (flagPath) => {
106
+ const flagSettings = require(flagPath).default;
107
+ return flagSettings;
108
+ };
109
+ const buildFlagsGlob = (repoRoot) => {
110
+ return path_1.default.join(repoRoot, "packages", "acmekit", "dist", "loaders", "feature-flags", `*.js`);
111
+ };
112
+ const buildPath = (kebabCaseName, repoRoot) => {
113
+ return path_1.default.join(repoRoot, "packages", "acmekit", "src", "loaders", "feature-flags", `${kebabCaseName}.ts`);
114
+ };
115
+ const collectSettings = (name, description) => {
116
+ const snakeCaseName = (0, lodash_1.snakeCase)(name);
117
+ return {
118
+ key: snakeCaseName,
119
+ description: description,
120
+ defaultValue: false,
121
+ envKey: `MEDUSA_FF_${snakeCaseName.toUpperCase()}`,
122
+ };
123
+ };
124
+ const writeFeatureFlag = (settings, featureFlagPath) => {
125
+ const featureFlag = (0, template_1.featureFlagTemplate)(settings);
126
+ fs_1.default.writeFileSync(featureFlagPath, featureFlag);
127
+ logFeatureFlagUsage(featureFlagPath, settings);
128
+ };
129
+ const logFeatureFlagUsage = (flagPath, flagSettings) => {
130
+ console.log(`Feature flag created: ${flagPath}`);
131
+ console.log(`
132
+ To use this feature flag, add the following to your acmekit-config.js:
133
+
134
+ {
135
+ ...,
136
+ featureFlags: {
137
+ ${flagSettings.key}: true
138
+ }
139
+ }
140
+
141
+ or set the environment variable:
142
+
143
+ export ${flagSettings.envKey}=true
144
+
145
+ To add guarded code use the featureFlagRouter:
146
+
147
+ if (featureFlagRouter.isEnabled("${flagSettings.key}")) {
148
+ // do something
149
+ }
150
+ `);
151
+ };
152
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/feature-flags/index.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export function featureFlagTemplate({ key, description, defaultValue, envKey, }: {
2
+ key: any;
3
+ description: any;
4
+ defaultValue: any;
5
+ envKey: any;
6
+ }): string;
7
+ //# sourceMappingURL=template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/feature-flags/template.js"],"names":[],"mappings":"AAAO;;;;;WAYN"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.featureFlagTemplate = void 0;
4
+ const featureFlagTemplate = ({ key, description, defaultValue, envKey, }) => {
5
+ return `export default {
6
+ key: "${key}",
7
+ description: "${description}",
8
+ default_value: ${defaultValue},
9
+ env_key: "${envKey}",
10
+ }`;
11
+ };
12
+ exports.featureFlagTemplate = featureFlagTemplate;
13
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/feature-flags/template.js"],"names":[],"mappings":";;;AAAO,MAAM,mBAAmB,GAAG,CAAC,EAClC,GAAG,EACH,WAAW,EACX,YAAY,EACZ,MAAM,GACP,EAAE,EAAE;IACH,OAAO;UACC,GAAG;kBACK,WAAW;mBACV,YAAY;cACjB,MAAM;EAClB,CAAA;AACF,CAAC,CAAA;AAZY,QAAA,mBAAmB,uBAY/B"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,145 @@
1
+ #!/usr/bin/env node
2
+ try {
3
+ require("ts-node").register({});
4
+ require("tsconfig-paths").register({});
5
+ }
6
+ catch { }
7
+ require("dotenv").config();
8
+ const Configstore = require(`configstore`);
9
+ const pkg = require(`../package.json`);
10
+ const _ = require(`lodash`);
11
+ const yargs = require(`yargs/yargs`);
12
+ const path = require(`path`);
13
+ const os = require(`os`);
14
+ const fs = require(`fs-extra`);
15
+ const glob = require("glob");
16
+ const watch = require(`./watch`);
17
+ const { getVersionInfo } = require(`./utils/version`);
18
+ const { buildFFCli } = require("./feature-flags");
19
+ const cli = yargs();
20
+ cli.command({
21
+ command: `*`,
22
+ description: `Start the AcmeKit dev CLI`,
23
+ builder: (yargs) => {
24
+ yargs
25
+ .usage(`Usage: acmekit-dev [options]`)
26
+ .alias(`q`, `quiet`)
27
+ .nargs(`q`, 0)
28
+ .describe(`q`, `Do not output copy file information`)
29
+ .alias(`s`, `scan-once`)
30
+ .nargs(`s`, 0)
31
+ .describe(`s`, `Scan once. Do not start file watch`)
32
+ .alias(`p`, `set-path-to-repo`)
33
+ .nargs(`p`, 1)
34
+ .describe(`p`, `Set path to acmekit repository.
35
+ You typically only need to configure this once.`)
36
+ .nargs(`force-install`, 0)
37
+ .describe(`force-install`, `Disables copying files into node_modules and forces usage of local npm repository.`)
38
+ .nargs(`external-registry`, 0)
39
+ .describe(`external-registry`, `Run 'yarn add' commands without the --registry flag.`)
40
+ .alias(`C`, `copy-all`)
41
+ .nargs(`C`, 0)
42
+ .describe(`C`, `Copy all contents in packages/ instead of just acmekit packages`)
43
+ .array(`packages`)
44
+ .describe(`packages`, `Explicitly specify packages to copy`)
45
+ .help(`h`)
46
+ .alias(`h`, `help`)
47
+ .nargs(`v`, 0)
48
+ .alias(`v`, `version`)
49
+ .describe(`v`, `Print the currently installed version of AcmeKit Dev CLI`);
50
+ },
51
+ handler: async (argv) => {
52
+ const conf = new Configstore(pkg.name);
53
+ if (argv.version) {
54
+ console.log(getVersionInfo());
55
+ process.exit();
56
+ }
57
+ let pathToRepo = argv.setPathToRepo;
58
+ if (pathToRepo) {
59
+ if (pathToRepo.includes(`~`)) {
60
+ pathToRepo = path.join(os.homedir(), pathToRepo.split(`~`).pop());
61
+ }
62
+ conf.set(`acmekit-location`, path.resolve(pathToRepo));
63
+ process.exit();
64
+ }
65
+ const havePackageJsonFile = fs.existsSync(`package.json`);
66
+ if (!havePackageJsonFile) {
67
+ console.error(`Current folder must have a package.json file!`);
68
+ process.exit();
69
+ }
70
+ const acmekitLocation = conf.get(`acmekit-location`);
71
+ if (!acmekitLocation) {
72
+ console.error(`
73
+ You haven't set the path yet to your cloned
74
+ version of acmekit. Do so now by running:
75
+ acmekit-dev --set-path-to-repo /path/to/my/cloned/version/acmekit
76
+ `);
77
+ process.exit();
78
+ }
79
+ // get list of directories to crawl for package declarations
80
+ const monoRepoPackagesDirs = [];
81
+ try {
82
+ const monoRepoPkg = JSON.parse(fs.readFileSync(path.join(acmekitLocation, "package.json")));
83
+ for (const workspace of monoRepoPkg.workspaces.packages) {
84
+ if (!workspace.startsWith("packages")) {
85
+ continue;
86
+ }
87
+ const workspacePackageDirs = glob.sync(workspace, {
88
+ cwd: acmekitLocation.toString(),
89
+ });
90
+ monoRepoPackagesDirs.push(...workspacePackageDirs);
91
+ }
92
+ }
93
+ catch (err) {
94
+ console.error(`Unable to read and parse the workspace definition from acmekit package.json`);
95
+ process.exit(1);
96
+ }
97
+ // get list of packages from monorepo
98
+ const packageNameToPath = new Map();
99
+ const monoRepoPackages = monoRepoPackagesDirs.map((dirName) => {
100
+ try {
101
+ const localPkg = JSON.parse(fs.readFileSync(path.join(acmekitLocation, dirName, `package.json`)));
102
+ if (localPkg?.name) {
103
+ packageNameToPath.set(localPkg.name, path.join(acmekitLocation, dirName));
104
+ return localPkg.name;
105
+ }
106
+ }
107
+ catch (error) {
108
+ // fallback to generic one
109
+ }
110
+ packageNameToPath.set(dirName, path.join(acmekitLocation, dirName));
111
+ return dirName;
112
+ });
113
+ const localPkg = JSON.parse(fs.readFileSync(`package.json`));
114
+ // intersect dependencies with monoRepoPackages to get list of packages that are used
115
+ const localPackages = _.intersection(monoRepoPackages, Object.keys(_.merge({}, localPkg.dependencies, localPkg.devDependencies)));
116
+ if (!argv.packages && _.isEmpty(localPackages)) {
117
+ console.error(`
118
+ You haven't got any acmekit dependencies into your current package.json
119
+ You probably want to pass in a list of packages to start
120
+ developing on! For example:
121
+ acmekit-dev --packages acmekit acmekit-js
122
+ If you prefer to place them in your package.json dependencies instead,
123
+ acmekit-dev will pick them up.
124
+ `);
125
+ if (!argv.forceInstall) {
126
+ process.exit();
127
+ }
128
+ else {
129
+ console.log(`Continuing other dependencies installation due to "--forceInstall" flag`);
130
+ }
131
+ }
132
+ watch(acmekitLocation, argv.packages, {
133
+ localPackages,
134
+ quiet: argv.quiet,
135
+ scanOnce: argv.scanOnce,
136
+ forceInstall: argv.forceInstall,
137
+ monoRepoPackages,
138
+ packageNameToPath,
139
+ externalRegistry: argv.externalRegistry,
140
+ });
141
+ },
142
+ });
143
+ buildFFCli(cli);
144
+ cli.parse(process.argv.slice(2));
145
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export function registerCleanupTask(taskFn: any): () => any;
2
+ //# sourceMappingURL=cleanup-tasks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanup-tasks.d.ts","sourceRoot":"","sources":["../../src/local-npm-registry/cleanup-tasks.js"],"names":[],"mappings":"AAI8B,4DAO7B"}
@@ -0,0 +1,17 @@
1
+ const signalExit = require(`signal-exit`);
2
+ const cleanupTasks = new Set();
3
+ exports.registerCleanupTask = (taskFn) => {
4
+ cleanupTasks.add(taskFn);
5
+ return () => {
6
+ const result = taskFn();
7
+ cleanupTasks.delete(taskFn);
8
+ return result;
9
+ };
10
+ };
11
+ signalExit(() => {
12
+ if (cleanupTasks.size) {
13
+ console.log(`Process exitted in middle of publishing - cleaning up`);
14
+ cleanupTasks.forEach((taskFn) => taskFn());
15
+ }
16
+ });
17
+ //# sourceMappingURL=cleanup-tasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanup-tasks.js","sourceRoot":"","sources":["../../src/local-npm-registry/cleanup-tasks.js"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;AAEzC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAE,CAAA;AAE9B,OAAO,CAAC,mBAAmB,GAAG,CAAC,MAAM,EAAE,EAAE;IACvC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACxB,OAAO,GAAG,EAAE;QACV,MAAM,MAAM,GAAG,MAAM,EAAE,CAAA;QACvB,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC3B,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;AACH,CAAC,CAAA;AAED,UAAU,CAAC,GAAG,EAAE;IACd,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAA;QACpE,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;IAC5C,CAAC;AACH,CAAC,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ export { startServer as startVerdaccio };
2
+ export function publishPackagesLocallyAndInstall({ packagesToPublish, localPackages, packageNameToPath, ignorePackageJSONChanges, yarnWorkspaceRoot, externalRegistry, root, }: {
3
+ packagesToPublish: any;
4
+ localPackages: any;
5
+ packageNameToPath: any;
6
+ ignorePackageJSONChanges: any;
7
+ yarnWorkspaceRoot: any;
8
+ externalRegistry: any;
9
+ root: any;
10
+ }): Promise<void>;
11
+ declare function startServer(): any;
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/local-npm-registry/index.js"],"names":[],"mappings":";AA4C2C;;;;;;;;kBAkC1C;AAnED,oCA6BC"}
@@ -0,0 +1,49 @@
1
+ const startVerdaccio = require(`verdaccio`).default;
2
+ const fs = require(`fs-extra`);
3
+ const _ = require(`lodash`);
4
+ let VerdaccioInitPromise = null;
5
+ const { verdaccioConfig } = require(`./verdaccio-config`);
6
+ const { publishPackage } = require(`./publish-package`);
7
+ const { installPackages } = require(`./install-packages`);
8
+ const startServer = () => {
9
+ if (VerdaccioInitPromise) {
10
+ return VerdaccioInitPromise;
11
+ }
12
+ console.log(`Starting local verdaccio server`);
13
+ // clear storage
14
+ fs.removeSync(verdaccioConfig.storage);
15
+ VerdaccioInitPromise = new Promise((resolve) => {
16
+ startVerdaccio(verdaccioConfig, verdaccioConfig.port, verdaccioConfig.storage, `1.0.0`, `acmekit-dev`, (webServer, addr, pkgName, pkgVersion) => {
17
+ // console.log(webServer)
18
+ webServer.listen(addr.port || addr.path, addr.host, () => {
19
+ console.log(`Started local verdaccio server`);
20
+ resolve();
21
+ });
22
+ });
23
+ });
24
+ return VerdaccioInitPromise;
25
+ };
26
+ exports.startVerdaccio = startServer;
27
+ exports.publishPackagesLocallyAndInstall = async ({ packagesToPublish, localPackages, packageNameToPath, ignorePackageJSONChanges, yarnWorkspaceRoot, externalRegistry, root, }) => {
28
+ await startServer();
29
+ const versionPostFix = Date.now();
30
+ const newlyPublishedPackageVersions = {};
31
+ for (const packageName of packagesToPublish) {
32
+ newlyPublishedPackageVersions[packageName] = await publishPackage({
33
+ packageName,
34
+ packagesToPublish,
35
+ packageNameToPath,
36
+ versionPostFix,
37
+ ignorePackageJSONChanges,
38
+ root,
39
+ });
40
+ }
41
+ const packagesToInstall = _.intersection(packagesToPublish, localPackages);
42
+ await installPackages({
43
+ packagesToInstall,
44
+ yarnWorkspaceRoot,
45
+ newlyPublishedPackageVersions,
46
+ externalRegistry,
47
+ });
48
+ };
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/local-npm-registry/index.js"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAA;AAEnD,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;AAC9B,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;AAE3B,IAAI,oBAAoB,GAAG,IAAI,CAAA;AAE/B,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;AACzD,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;AACvD,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;AAEzD,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,IAAI,oBAAoB,EAAE,CAAC;QACzB,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;IAE9C,gBAAgB;IAChB,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IAEtC,oBAAoB,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7C,cAAc,CACZ,eAAe,EACf,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,OAAO,EACvB,OAAO,EACP,aAAa,EACb,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;YACvC,yBAAyB;YACzB,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;gBACvD,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;gBAE7C,OAAO,EAAE,CAAA;YACX,CAAC,CAAC,CAAA;QACJ,CAAC,CACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,oBAAoB,CAAA;AAC7B,CAAC,CAAA;AAED,OAAO,CAAC,cAAc,GAAG,WAAW,CAAA;AAEpC,OAAO,CAAC,gCAAgC,GAAG,KAAK,EAAE,EAChD,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,IAAI,GACL,EAAE,EAAE;IACH,MAAM,WAAW,EAAE,CAAA;IAEnB,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAEjC,MAAM,6BAA6B,GAAG,EAAE,CAAA;IAExC,KAAK,MAAM,WAAW,IAAI,iBAAiB,EAAE,CAAC;QAC5C,6BAA6B,CAAC,WAAW,CAAC,GAAG,MAAM,cAAc,CAAC;YAChE,WAAW;YACX,iBAAiB;YACjB,iBAAiB;YACjB,cAAc;YACd,wBAAwB;YACxB,IAAI;SACL,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,CAAC,CAAC,YAAY,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAA;IAE1E,MAAM,eAAe,CAAC;QACpB,iBAAiB;QACjB,iBAAiB;QACjB,6BAA6B;QAC7B,gBAAgB;KACjB,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ export function installPackages({ packagesToInstall, yarnWorkspaceRoot, newlyPublishedPackageVersions, externalRegistry, }: {
2
+ packagesToInstall: any;
3
+ yarnWorkspaceRoot: any;
4
+ newlyPublishedPackageVersions: any;
5
+ externalRegistry: any;
6
+ }): Promise<void>;
7
+ //# sourceMappingURL=install-packages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-packages.d.ts","sourceRoot":"","sources":["../../src/local-npm-registry/install-packages.js"],"names":[],"mappings":"AAMA;;;;;kBA0JC"}