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
@@ -0,0 +1,136 @@
1
+ const path = require(`path`);
2
+ const fs = require(`fs-extra`);
3
+ const { promisifiedSpawn } = require(`../utils/promisified-spawn`);
4
+ const { registryUrl } = require(`./verdaccio-config`);
5
+ const installPackages = async ({ packagesToInstall, yarnWorkspaceRoot, newlyPublishedPackageVersions, externalRegistry, }) => {
6
+ console.log(`Installing packages from local registry:\n${packagesToInstall
7
+ .map((packageAndVersion) => ` - ${packageAndVersion}`)
8
+ .join(`\n`)}`);
9
+ let installCmd;
10
+ if (yarnWorkspaceRoot) {
11
+ // this is very hacky - given root, we run `yarn workspaces info`
12
+ // to get list of all workspaces and their locations, and manually
13
+ // edit package.json file for packages we want to install
14
+ // to make sure there are no mismatched versions of same package
15
+ // in workspaces which should preserve node_modules structure
16
+ // (packages being mostly hoisted to top-level node_modules)
17
+ const { stdout: yarnVersion } = await promisifiedSpawn([
18
+ `yarn`,
19
+ [`--version`],
20
+ { stdio: `pipe` },
21
+ ]);
22
+ const workspaceCommand = !yarnVersion.startsWith("1") ? "list" : "info";
23
+ const { stdout } = await promisifiedSpawn([
24
+ `yarn`,
25
+ [`workspaces`, workspaceCommand, `--json`],
26
+ { stdio: `pipe` },
27
+ ]);
28
+ let workspacesLayout;
29
+ try {
30
+ workspacesLayout = JSON.parse(JSON.parse(stdout).data);
31
+ }
32
+ catch (e) {
33
+ /*
34
+ Yarn 1.22 doesn't output pure json - it has leading and trailing text:
35
+ ```
36
+ $ yarn workspaces info --json
37
+ yarn workspaces v1.22.0
38
+ {
39
+ "z": {
40
+ "location": "z",
41
+ "workspaceDependencies": [],
42
+ "mismatchedWorkspaceDependencies": []
43
+ },
44
+ "y": {
45
+ "location": "y",
46
+ "workspaceDependencies": [],
47
+ "mismatchedWorkspaceDependencies": []
48
+ }
49
+ }
50
+ Done in 0.48s.
51
+ ```
52
+ So we need to do some sanitization. We find JSON by matching substring
53
+ that starts with `{` and ends with `}`
54
+ */
55
+ const regex = /^[^{]*({.*})[^}]*$/gs;
56
+ const sanitizedStdOut = regex.exec(stdout);
57
+ if (sanitizedStdOut?.length >= 2) {
58
+ // pick content of first (and only) capturing group
59
+ const jsonString = sanitizedStdOut[1];
60
+ try {
61
+ workspacesLayout = JSON.parse(jsonString);
62
+ }
63
+ catch (e) {
64
+ console.error(`Failed to parse "sanitized" output of "yarn workspaces info" command.\n\nSanitized string: "${jsonString}`);
65
+ // not exitting here, because we have general check for `workspacesLayout` being set below
66
+ }
67
+ }
68
+ }
69
+ if (!workspacesLayout) {
70
+ console.error(`Couldn't parse output of "yarn workspaces info" command`, stdout);
71
+ process.exit(1);
72
+ }
73
+ const handleDeps = (deps) => {
74
+ if (!deps) {
75
+ return false;
76
+ }
77
+ let changed = false;
78
+ Object.keys(deps).forEach((depName) => {
79
+ if (packagesToInstall.includes(depName)) {
80
+ deps[depName] = `acmekit-dev`;
81
+ changed = true;
82
+ }
83
+ });
84
+ return changed;
85
+ };
86
+ Object.keys(workspacesLayout).forEach((workspaceName) => {
87
+ const { location } = workspacesLayout[workspaceName];
88
+ const pkgJsonPath = path.join(yarnWorkspaceRoot, location, `package.json`);
89
+ if (!fs.existsSync(pkgJsonPath)) {
90
+ return;
91
+ }
92
+ const pkg = JSON.parse(fs.readFileSync(pkgJsonPath, `utf8`));
93
+ let changed = false;
94
+ changed |= handleDeps(pkg.dependencies);
95
+ changed |= handleDeps(pkg.devDependencies);
96
+ changed |= handleDeps(pkg.peerDependencies);
97
+ if (changed) {
98
+ console.log(`Changing deps in ${pkgJsonPath} to use @acmekit-dev`);
99
+ fs.outputJSONSync(pkgJsonPath, pkg, {
100
+ spaces: 2,
101
+ });
102
+ }
103
+ });
104
+ // package.json files are changed - so we just want to install
105
+ // using verdaccio registry
106
+ const yarnCommands = [`install`];
107
+ if (!externalRegistry) {
108
+ yarnCommands.push(`--registry=${registryUrl}`);
109
+ }
110
+ installCmd = [`yarn`, yarnCommands];
111
+ }
112
+ else {
113
+ const yarnCommands = [
114
+ `add`,
115
+ ...packagesToInstall.map((packageName) => {
116
+ const packageVersion = newlyPublishedPackageVersions[packageName];
117
+ return `${packageName}@${packageVersion}`;
118
+ }),
119
+ `--exact`,
120
+ ];
121
+ if (!externalRegistry) {
122
+ yarnCommands.push(`--registry=${registryUrl}`);
123
+ }
124
+ installCmd = [`yarn`, yarnCommands];
125
+ }
126
+ try {
127
+ await promisifiedSpawn(installCmd);
128
+ console.log(`Installation complete`);
129
+ }
130
+ catch (error) {
131
+ console.error(`Installation failed`, error);
132
+ process.exit(1);
133
+ }
134
+ };
135
+ exports.installPackages = installPackages;
136
+ //# sourceMappingURL=install-packages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-packages.js","sourceRoot":"","sources":["../../src/local-npm-registry/install-packages.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export function publishPackage({ packageName, packagesToPublish, versionPostFix, ignorePackageJSONChanges, packageNameToPath, root, }: {
2
+ packageName: any;
3
+ packagesToPublish: any;
4
+ versionPostFix: any;
5
+ ignorePackageJSONChanges: any;
6
+ packageNameToPath: any;
7
+ root: any;
8
+ }): Promise<any>;
9
+ //# sourceMappingURL=publish-package.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-package.d.ts","sourceRoot":"","sources":["../../src/local-npm-registry/publish-package.js"],"names":[],"mappings":"AAsGA;;;;;;;iBAqDC"}
@@ -0,0 +1,101 @@
1
+ const fs = require(`fs-extra`);
2
+ const path = require(`path`);
3
+ const { promisifiedSpawn } = require(`../utils/promisified-spawn`);
4
+ const { registryUrl } = require(`./verdaccio-config`);
5
+ const NPMRCContent = `${registryUrl.replace(/https?:/g, ``)}/:_authToken="acmekit-dev"`;
6
+ const { getMonorepoPackageJsonPath, } = require(`../utils/get-monorepo-package-json-path`);
7
+ const { registerCleanupTask } = require(`./cleanup-tasks`);
8
+ /**
9
+ * Edit package.json to:
10
+ * - adjust version to temporary one
11
+ * - change version selectors for dependencies that
12
+ * will be published, to make sure that yarn
13
+ * install them in local site
14
+ */
15
+ const adjustPackageJson = ({ monoRepoPackageJsonPath, packageName, versionPostFix, packagesToPublish, ignorePackageJSONChanges, packageNameToPath, }) => {
16
+ // we need to check if package depend on any other package to will be published and
17
+ // adjust version selector to point to dev version of package so local registry is used
18
+ // for dependencies.
19
+ const monorepoPKGjsonString = fs.readFileSync(monoRepoPackageJsonPath, `utf-8`);
20
+ const monorepoPKGjson = JSON.parse(monorepoPKGjsonString);
21
+ monorepoPKGjson.version = `${monorepoPKGjson.version}-dev-${versionPostFix}`;
22
+ packagesToPublish.forEach((packageThatWillBePublished) => {
23
+ if (monorepoPKGjson.dependencies &&
24
+ monorepoPKGjson.dependencies[packageThatWillBePublished]) {
25
+ const currentVersion = JSON.parse(fs.readFileSync(getMonorepoPackageJsonPath({
26
+ packageName: packageThatWillBePublished,
27
+ packageNameToPath,
28
+ }), `utf-8`)).version;
29
+ monorepoPKGjson.dependencies[packageThatWillBePublished] = `${currentVersion}-dev-${versionPostFix}`;
30
+ }
31
+ });
32
+ const temporaryMonorepoPKGjsonString = JSON.stringify(monorepoPKGjson);
33
+ const unignorePackageJSONChanges = ignorePackageJSONChanges(packageName, [
34
+ monorepoPKGjsonString,
35
+ temporaryMonorepoPKGjsonString,
36
+ ]);
37
+ // change version and dependency versions
38
+ fs.outputFileSync(monoRepoPackageJsonPath, temporaryMonorepoPKGjsonString);
39
+ return {
40
+ newPackageVersion: monorepoPKGjson.version,
41
+ unadjustPackageJson: registerCleanupTask(() => {
42
+ // restore original package.json
43
+ fs.outputFileSync(monoRepoPackageJsonPath, monorepoPKGjsonString);
44
+ unignorePackageJSONChanges();
45
+ }),
46
+ };
47
+ };
48
+ /**
49
+ * Anonymous publishing require dummy .npmrc
50
+ * See https://github.com/verdaccio/verdaccio/issues/212#issuecomment-308578500
51
+ * This is `npm publish` (as in linked comment) and `yarn publish` requirement.
52
+ * This is not verdaccio restriction.
53
+ */
54
+ const createTemporaryNPMRC = ({ pathToPackage, root }) => {
55
+ const NPMRCPathInPackage = path.join(pathToPackage, `.npmrc`);
56
+ fs.outputFileSync(NPMRCPathInPackage, NPMRCContent);
57
+ const NPMRCPathInRoot = path.join(root, `.npmrc`);
58
+ fs.outputFileSync(NPMRCPathInRoot, NPMRCContent);
59
+ return registerCleanupTask(() => {
60
+ fs.removeSync(NPMRCPathInPackage);
61
+ fs.removeSync(NPMRCPathInRoot);
62
+ });
63
+ };
64
+ const publishPackage = async ({ packageName, packagesToPublish, versionPostFix, ignorePackageJSONChanges, packageNameToPath, root, }) => {
65
+ const monoRepoPackageJsonPath = getMonorepoPackageJsonPath({
66
+ packageName,
67
+ packageNameToPath,
68
+ });
69
+ const { unadjustPackageJson, newPackageVersion } = adjustPackageJson({
70
+ monoRepoPackageJsonPath,
71
+ packageName,
72
+ packageNameToPath,
73
+ versionPostFix,
74
+ packagesToPublish,
75
+ ignorePackageJSONChanges,
76
+ });
77
+ const pathToPackage = path.dirname(monoRepoPackageJsonPath);
78
+ const uncreateTemporaryNPMRC = createTemporaryNPMRC({ pathToPackage, root });
79
+ // npm publish
80
+ const publishCmd = [
81
+ `npm`,
82
+ [`publish`, `--tag`, `acmekit-dev`, `--registry=${registryUrl}`],
83
+ {
84
+ cwd: pathToPackage,
85
+ },
86
+ ];
87
+ console.log(`Publishing ${packageName}@${newPackageVersion} to local registry`);
88
+ try {
89
+ await promisifiedSpawn(publishCmd);
90
+ console.log(`Published ${packageName}@${newPackageVersion} to local registry`);
91
+ }
92
+ catch (e) {
93
+ console.error(`Failed to publish ${packageName}@${newPackageVersion}`, e);
94
+ process.exit(1);
95
+ }
96
+ uncreateTemporaryNPMRC();
97
+ unadjustPackageJson();
98
+ return newPackageVersion;
99
+ };
100
+ exports.publishPackage = publishPackage;
101
+ //# sourceMappingURL=publish-package.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-package.js","sourceRoot":"","sources":["../../src/local-npm-registry/publish-package.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export namespace verdaccioConfig {
2
+ let storage: string;
3
+ let port: number;
4
+ let max_body_size: string;
5
+ namespace web {
6
+ let enable: boolean;
7
+ let title: string;
8
+ }
9
+ let logs: {
10
+ type: string;
11
+ format: string;
12
+ level: string;
13
+ }[];
14
+ let packages: {
15
+ "**": {
16
+ access: string;
17
+ publish: string;
18
+ proxy: string;
19
+ };
20
+ };
21
+ namespace uplinks {
22
+ namespace npmjs {
23
+ let url: string;
24
+ let max_fails: number;
25
+ }
26
+ }
27
+ }
28
+ export const registryUrl: string;
29
+ //# sourceMappingURL=verdaccio-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verdaccio-config.d.ts","sourceRoot":"","sources":["../../src/local-npm-registry/verdaccio-config.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,iCAA8D"}
@@ -0,0 +1,30 @@
1
+ const path = require(`path`);
2
+ const os = require(`os`);
3
+ const verdaccioConfig = {
4
+ storage: path.join(os.tmpdir(), `verdaccio`, `storage`),
5
+ port: 4873, // default
6
+ max_body_size: `1000mb`,
7
+ web: {
8
+ enable: true,
9
+ title: `gatsby-dev`,
10
+ },
11
+ logs: [{ type: `stdout`, format: `pretty-timestamped`, level: `warn` }],
12
+ packages: {
13
+ "**": {
14
+ access: `$all`,
15
+ publish: `$all`,
16
+ proxy: `npmjs`,
17
+ },
18
+ },
19
+ uplinks: {
20
+ npmjs: {
21
+ url: `https://registry.npmjs.org/`,
22
+ // default is 2 max_fails - on flaky networks that cause a lot of failed installations
23
+ max_fails: 10,
24
+ },
25
+ },
26
+ };
27
+ exports.verdaccioConfig = verdaccioConfig;
28
+ const registryUrl = `http://localhost:${verdaccioConfig.port}`;
29
+ exports.registryUrl = registryUrl;
30
+ //# sourceMappingURL=verdaccio-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verdaccio-config.js","sourceRoot":"","sources":["../../src/local-npm-registry/verdaccio-config.js"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAExB,MAAM,eAAe,GAAG;IACtB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC;IACvD,IAAI,EAAE,IAAI,EAAE,UAAU;IACtB,aAAa,EAAE,QAAQ;IACvB,GAAG,EAAE;QACH,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,YAAY;KACpB;IACD,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACvE,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,OAAO;SACf;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE;YACL,GAAG,EAAE,6BAA6B;YAClC,sFAAsF;YACtF,SAAS,EAAE,EAAE;SACd;KACF;CACF,CAAA;AAED,OAAO,CAAC,eAAe,GAAG,eAAe,CAAA;AAEzC,MAAM,WAAW,GAAG,oBAAoB,eAAe,CAAC,IAAI,EAAE,CAAA;AAE9D,OAAO,CAAC,WAAW,GAAG,WAAW,CAAA"}
@@ -0,0 +1,12 @@
1
+ export function checkDepsChanges({ newPath, packageName, monoRepoPackages, isInitialScan, ignoredPackageJSON, packageNameToPath, }: {
2
+ newPath: any;
3
+ packageName: any;
4
+ monoRepoPackages: any;
5
+ isInitialScan: any;
6
+ ignoredPackageJSON: any;
7
+ packageNameToPath: any;
8
+ }): Promise<{
9
+ didDepsChanged: boolean;
10
+ packageNotInstalled: boolean;
11
+ }>;
12
+ //# sourceMappingURL=check-deps-changes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-deps-changes.d.ts","sourceRoot":"","sources":["../../src/utils/check-deps-changes.js"],"names":[],"mappings":"AA6B2B;;;;;;;;;;GA0J1B"}
@@ -0,0 +1,152 @@
1
+ const fs = require(`fs-extra`);
2
+ const _ = require(`lodash`);
3
+ const { getMonorepoPackageJsonPath, } = require(`./get-monorepo-package-json-path`);
4
+ const got = require(`got`);
5
+ function difference(object, base) {
6
+ function changes(object, base) {
7
+ return _.transform(object, function (result, value, key) {
8
+ if (!_.isEqual(value, base[key])) {
9
+ result[key] =
10
+ _.isObject(value) && _.isObject(base[key])
11
+ ? changes(value, base[key])
12
+ : value;
13
+ }
14
+ });
15
+ }
16
+ return changes(object, base);
17
+ }
18
+ /**
19
+ * Compare dependencies of installed packages and monorepo package.
20
+ * It will skip dependencies that are removed in monorepo package.
21
+ *
22
+ * If local package is not installed, it will check unpkg.com.
23
+ * This allow gatsby-dev to skip publishing unnecesairly and
24
+ * let install packages from public npm repository if nothing changed.
25
+ */
26
+ exports.checkDepsChanges = async ({ newPath, packageName, monoRepoPackages, isInitialScan, ignoredPackageJSON, packageNameToPath, }) => {
27
+ let localPKGjson;
28
+ let packageNotInstalled = false;
29
+ try {
30
+ localPKGjson = JSON.parse(fs.readFileSync(newPath, `utf-8`));
31
+ }
32
+ catch {
33
+ packageNotInstalled = true;
34
+ // there is no local package - so we still need to install deps
35
+ // this is nice because devs won't need to do initial package installation - we can handle this.
36
+ if (!isInitialScan) {
37
+ console.log(`'${packageName}' doesn't seem to be installed. Restart gatsby-dev to publish it`);
38
+ return {
39
+ didDepsChanged: false,
40
+ packageNotInstalled,
41
+ };
42
+ }
43
+ // if package is not installed, we will do http GET request to
44
+ // unkpg to check if dependency in package published in public
45
+ // npm repository are different
46
+ // this allow us to not publish to local repository
47
+ // and save some time/work
48
+ try {
49
+ const version = getPackageVersion(packageName);
50
+ const url = `https://unpkg.com/${packageName}@${version}/package.json`;
51
+ const response = await got(url);
52
+ if (response?.statusCode !== 200) {
53
+ throw new Error(`No response or non 200 code for ${url}`);
54
+ }
55
+ localPKGjson = JSON.parse(response.body);
56
+ }
57
+ catch (e) {
58
+ console.log(`'${packageName}' doesn't seem to be installed and is not published on NPM. Error: ${e.message}`);
59
+ return {
60
+ didDepsChanged: true,
61
+ packageNotInstalled,
62
+ };
63
+ }
64
+ }
65
+ const monoRepoPackageJsonPath = getMonorepoPackageJsonPath({
66
+ packageName,
67
+ packageNameToPath,
68
+ });
69
+ const monorepoPKGjsonString = fs.readFileSync(monoRepoPackageJsonPath, `utf-8`);
70
+ const monorepoPKGjson = JSON.parse(monorepoPKGjsonString);
71
+ if (ignoredPackageJSON.has(packageName)) {
72
+ if (ignoredPackageJSON.get(packageName).includes(monorepoPKGjsonString)) {
73
+ // we are in middle of publishing and content of package.json is one set during publish process,
74
+ // so we need to not cause false positives
75
+ return {
76
+ didDepsChanged: false,
77
+ packageNotInstalled,
78
+ };
79
+ }
80
+ }
81
+ if (!monorepoPKGjson.dependencies)
82
+ monorepoPKGjson.dependencies = {};
83
+ if (!localPKGjson.dependencies)
84
+ localPKGjson.dependencies = {};
85
+ const areDepsEqual = _.isEqual(monorepoPKGjson.dependencies, localPKGjson.dependencies);
86
+ if (!areDepsEqual) {
87
+ const diff = difference(monorepoPKGjson.dependencies, localPKGjson.dependencies);
88
+ const diff2 = difference(localPKGjson.dependencies, monorepoPKGjson.dependencies);
89
+ let needPublishing = false;
90
+ let isPublishing = false;
91
+ const depChangeLog = _.uniq(Object.keys({ ...diff, ...diff2 }))
92
+ .reduce((acc, key) => {
93
+ if (monorepoPKGjson.dependencies[key] === `gatsby-dev`) {
94
+ // if we are in middle of publishing to local repository - ignore
95
+ isPublishing = true;
96
+ return acc;
97
+ }
98
+ if (localPKGjson.dependencies[key] === `gatsby-dev`) {
99
+ // monorepo packages will restore version, but after installation
100
+ // in local site - it will use `gatsby-dev` dist tag - we need
101
+ // to ignore changes that
102
+ return acc;
103
+ }
104
+ if (localPKGjson.dependencies[key] &&
105
+ monorepoPKGjson.dependencies[key]) {
106
+ // Check only for version changes in packages
107
+ // that are not from gatsby repo.
108
+ // Changes in gatsby packages will be copied over
109
+ // from monorepo - and if those contain other dependency
110
+ // changes - they will be covered
111
+ if (!monoRepoPackages.includes(key)) {
112
+ acc.push(` - '${key}' changed version from ${localPKGjson.dependencies[key]} to ${monorepoPKGjson.dependencies[key]}`);
113
+ needPublishing = true;
114
+ }
115
+ }
116
+ else if (monorepoPKGjson.dependencies[key]) {
117
+ acc.push(` - '${key}@${monorepoPKGjson.dependencies[key]}' was added`);
118
+ needPublishing = true;
119
+ }
120
+ else {
121
+ acc.push(` - '${key}@${localPKGjson.dependencies[key]}' was removed`);
122
+ // this doesn't need publishing really, so will skip this
123
+ }
124
+ return acc;
125
+ }, [])
126
+ .join(`\n`);
127
+ if (!isPublishing && depChangeLog.length > 0) {
128
+ console.log(`Dependencies of '${packageName}' changed:\n${depChangeLog}`);
129
+ if (isInitialScan) {
130
+ console.log(`Will ${!needPublishing ? `not ` : ``}publish to local npm registry.`);
131
+ }
132
+ else {
133
+ console.warn(`Installation of dependencies after initial scan is not implemented`);
134
+ }
135
+ return {
136
+ didDepsChanged: needPublishing,
137
+ packageNotInstalled,
138
+ };
139
+ }
140
+ }
141
+ return {
142
+ didDepsChanged: false,
143
+ packageNotInstalled,
144
+ };
145
+ };
146
+ function getPackageVersion(packageName) {
147
+ const projectPackageJson = JSON.parse(fs.readFileSync(`./package.json`, `utf-8`));
148
+ const { dependencies = {}, devDependencies = {} } = projectPackageJson;
149
+ const version = dependencies[packageName] || devDependencies[packageName];
150
+ return version || `latest`;
151
+ }
152
+ //# sourceMappingURL=check-deps-changes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-deps-changes.js","sourceRoot":"","sources":["../../src/utils/check-deps-changes.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Recursively get set of packages that depend on given package.
3
+ * Set also includes passed package.
4
+ */
5
+ export function getDependantPackages({ packageName, depTree, packagesToPublish, }: {
6
+ packageName: any;
7
+ depTree: any;
8
+ packagesToPublish?: Set<any> | undefined;
9
+ }): Set<any>;
10
+ //# sourceMappingURL=get-dependant-packages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-dependant-packages.d.ts","sourceRoot":"","sources":["../../src/utils/get-dependant-packages.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH;;;;aAuBC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Recursively get set of packages that depend on given package.
3
+ * Set also includes passed package.
4
+ */
5
+ const getDependantPackages = ({ packageName, depTree, packagesToPublish = new Set(), }) => {
6
+ if (packagesToPublish.has(packageName)) {
7
+ // bail early if package was already handled
8
+ return packagesToPublish;
9
+ }
10
+ packagesToPublish.add(packageName);
11
+ const dependants = depTree[packageName];
12
+ if (dependants) {
13
+ dependants.forEach((dependant) => getDependantPackages({
14
+ packageName: dependant,
15
+ depTree,
16
+ packagesToPublish,
17
+ }));
18
+ }
19
+ return packagesToPublish;
20
+ };
21
+ exports.getDependantPackages = getDependantPackages;
22
+ //# sourceMappingURL=get-dependant-packages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-dependant-packages.js","sourceRoot":"","sources":["../../src/utils/get-dependant-packages.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,oBAAoB,GAAG,CAAC,EAC5B,WAAW,EACX,OAAO,EACP,iBAAiB,GAAG,IAAI,GAAG,EAAE,GAC9B,EAAE,EAAE;IACH,IAAI,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,4CAA4C;QAC5C,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAED,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAClC,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IACvC,IAAI,UAAU,EAAE,CAAC;QACf,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAC/B,oBAAoB,CAAC;YACnB,WAAW,EAAE,SAAS;YACtB,OAAO;YACP,iBAAiB;SAClB,CAAC,CACH,CAAA;IACH,CAAC;IAED,OAAO,iBAAiB,CAAA;AAC1B,CAAC,CAAA;AAED,OAAO,CAAC,oBAAoB,GAAG,oBAAoB,CAAA"}
@@ -0,0 +1,5 @@
1
+ export function getMonorepoPackageJsonPath({ packageName, packageNameToPath }: {
2
+ packageName: any;
3
+ packageNameToPath: any;
4
+ }): string;
5
+ //# sourceMappingURL=get-monorepo-package-json-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-monorepo-package-json-path.d.ts","sourceRoot":"","sources":["../../src/utils/get-monorepo-package-json-path.js"],"names":[],"mappings":"AAEqC;;;WAC0B"}
@@ -0,0 +1,3 @@
1
+ const path = require(`path`);
2
+ exports.getMonorepoPackageJsonPath = ({ packageName, packageNameToPath }) => path.join(packageNameToPath.get(packageName), `package.json`);
3
+ //# sourceMappingURL=get-monorepo-package-json-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-monorepo-package-json-path.js","sourceRoot":"","sources":["../../src/utils/get-monorepo-package-json-path.js"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAE5B,OAAO,CAAC,0BAA0B,GAAG,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAC1E,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ export function setDefaultSpawnStdio(stdio: any): void;
2
+ export function promisifiedSpawn([cmd, args, spawnArgs]: [any, (never[] | undefined)?, ({} | undefined)?]): Promise<execa.ExecaReturnValue<string> & execa.ExecaReturnValue<Buffer<ArrayBufferLike>>>;
3
+ import execa = require("execa");
4
+ //# sourceMappingURL=promisified-spawn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promisified-spawn.d.ts","sourceRoot":"","sources":["../../src/utils/promisified-spawn.js"],"names":[],"mappings":"AAO+B,uDAE9B;AAE0B,sMAiB1B"}
@@ -0,0 +1,24 @@
1
+ const execa = require(`execa`);
2
+ const defaultSpawnArgs = {
3
+ cwd: process.cwd(),
4
+ stdio: `inherit`,
5
+ };
6
+ exports.setDefaultSpawnStdio = (stdio) => {
7
+ defaultSpawnArgs.stdio = stdio;
8
+ };
9
+ exports.promisifiedSpawn = async ([cmd, args = [], spawnArgs = {}]) => {
10
+ const spawnOptions = {
11
+ ...defaultSpawnArgs,
12
+ ...spawnArgs,
13
+ };
14
+ try {
15
+ return await execa(cmd, args, spawnOptions);
16
+ }
17
+ catch (e) {
18
+ if (spawnOptions.stdio === `ignore`) {
19
+ console.log(`\nCommand "${cmd} ${args.join(` `)}" failed.\nTo see details of failed command, rerun "acmekit-dev" without "--quiet" or "-q" switch\n`);
20
+ }
21
+ throw e;
22
+ }
23
+ };
24
+ //# sourceMappingURL=promisified-spawn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promisified-spawn.js","sourceRoot":"","sources":["../../src/utils/promisified-spawn.js"],"names":[],"mappings":"AAAA,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;AAE9B,MAAM,gBAAgB,GAAG;IACvB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;IAClB,KAAK,EAAE,SAAS;CACjB,CAAA;AAED,OAAO,CAAC,oBAAoB,GAAG,CAAC,KAAK,EAAE,EAAE;IACvC,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAA;AAChC,CAAC,CAAA;AAED,OAAO,CAAC,gBAAgB,GAAG,KAAK,EAAE,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE;IACpE,MAAM,YAAY,GAAG;QACnB,GAAG,gBAAgB;QACnB,GAAG,SAAS;KACb,CAAA;IACD,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,CAAA;IAC7C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,YAAY,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CACT,cAAc,GAAG,IAAI,IAAI,CAAC,IAAI,CAC5B,GAAG,CACJ,qGAAqG,CACvG,CAAA;QACH,CAAC;QACD,MAAM,CAAC,CAAA;IACT,CAAC;AACH,CAAC,CAAA"}