netlify 22.3.0 → 22.4.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 (79) hide show
  1. package/dist/commands/base-command.d.ts.map +1 -1
  2. package/dist/commands/base-command.js +2 -3
  3. package/dist/commands/base-command.js.map +1 -1
  4. package/dist/commands/init/init.d.ts.map +1 -1
  5. package/dist/commands/init/init.js.map +1 -1
  6. package/dist/commands/link/link.js +1 -1
  7. package/dist/commands/link/link.js.map +1 -1
  8. package/dist/commands/main.d.ts.map +1 -1
  9. package/dist/commands/main.js +1 -1
  10. package/dist/commands/main.js.map +1 -1
  11. package/dist/lib/edge-functions/editor-helper.d.ts.map +1 -1
  12. package/dist/lib/edge-functions/editor-helper.js +3 -1
  13. package/dist/lib/edge-functions/editor-helper.js.map +1 -1
  14. package/dist/lib/edge-functions/proxy.d.ts +2 -2
  15. package/dist/lib/edge-functions/proxy.d.ts.map +1 -1
  16. package/dist/lib/edge-functions/proxy.js +1 -1
  17. package/dist/lib/edge-functions/proxy.js.map +1 -1
  18. package/dist/lib/edge-functions/registry.d.ts +2 -1
  19. package/dist/lib/edge-functions/registry.d.ts.map +1 -1
  20. package/dist/lib/edge-functions/registry.js +31 -6
  21. package/dist/lib/edge-functions/registry.js.map +1 -1
  22. package/dist/lib/functions/netlify-function.d.ts +2 -2
  23. package/dist/lib/functions/netlify-function.d.ts.map +1 -1
  24. package/dist/lib/functions/netlify-function.js.map +1 -1
  25. package/dist/lib/functions/registry.d.ts.map +1 -1
  26. package/dist/lib/functions/registry.js +2 -1
  27. package/dist/lib/functions/registry.js.map +1 -1
  28. package/dist/lib/functions/runtimes/index.d.ts +2 -2
  29. package/dist/lib/functions/runtimes/index.d.ts.map +1 -1
  30. package/dist/lib/functions/runtimes/js/builders/zisi.d.ts +2 -2
  31. package/dist/lib/functions/runtimes/js/builders/zisi.d.ts.map +1 -1
  32. package/dist/lib/functions/runtimes/js/builders/zisi.js +2 -2
  33. package/dist/lib/functions/runtimes/js/builders/zisi.js.map +1 -1
  34. package/dist/lib/functions/runtimes/js/index.d.ts +1 -1
  35. package/dist/lib/functions/runtimes/js/index.d.ts.map +1 -1
  36. package/dist/lib/functions/server.d.ts +2 -2
  37. package/dist/lib/functions/server.d.ts.map +1 -1
  38. package/dist/lib/functions/server.js +2 -2
  39. package/dist/lib/functions/server.js.map +1 -1
  40. package/dist/lib/functions/utils.d.ts +0 -1
  41. package/dist/lib/functions/utils.d.ts.map +1 -1
  42. package/dist/lib/functions/utils.js +0 -28
  43. package/dist/lib/functions/utils.js.map +1 -1
  44. package/dist/tsconfig.build.tsbuildinfo +1 -1
  45. package/dist/utils/command-helpers.d.ts +0 -13
  46. package/dist/utils/command-helpers.d.ts.map +1 -1
  47. package/dist/utils/command-helpers.js +2 -55
  48. package/dist/utils/command-helpers.js.map +1 -1
  49. package/dist/utils/gitignore.d.ts +1 -1
  50. package/dist/utils/gitignore.d.ts.map +1 -1
  51. package/dist/utils/gitignore.js +3 -35
  52. package/dist/utils/gitignore.js.map +1 -1
  53. package/dist/utils/live-tunnel.d.ts +2 -2
  54. package/dist/utils/live-tunnel.d.ts.map +1 -1
  55. package/dist/utils/live-tunnel.js.map +1 -1
  56. package/dist/utils/proxy-server.d.ts +2 -2
  57. package/dist/utils/proxy-server.d.ts.map +1 -1
  58. package/dist/utils/telemetry/report-error.js +1 -1
  59. package/dist/utils/telemetry/report-error.js.map +1 -1
  60. package/dist/utils/telemetry/telemetry.js +1 -1
  61. package/dist/utils/telemetry/telemetry.js.map +1 -1
  62. package/dist/utils/types.d.ts +2 -2
  63. package/dist/utils/types.d.ts.map +1 -1
  64. package/dist/utils/types.js +1 -1
  65. package/dist/utils/types.js.map +1 -1
  66. package/npm-shrinkwrap.json +906 -844
  67. package/package.json +12 -8
  68. package/dist/lib/functions/memoized-build.d.ts +0 -11
  69. package/dist/lib/functions/memoized-build.d.ts.map +0 -1
  70. package/dist/lib/functions/memoized-build.js +0 -28
  71. package/dist/lib/functions/memoized-build.js.map +0 -1
  72. package/dist/utils/cli-state.d.ts +0 -13
  73. package/dist/utils/cli-state.d.ts.map +0 -1
  74. package/dist/utils/cli-state.js +0 -107
  75. package/dist/utils/cli-state.js.map +0 -1
  76. package/dist/utils/get-global-config-store.d.ts +0 -16
  77. package/dist/utils/get-global-config-store.d.ts.map +0 -1
  78. package/dist/utils/get-global-config-store.js +0 -87
  79. package/dist/utils/get-global-config-store.js.map +0 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "netlify",
3
3
  "description": "Netlify command line tool",
4
- "version": "22.3.0",
4
+ "version": "22.4.0",
5
5
  "author": "Netlify Inc.",
6
6
  "type": "module",
7
7
  "engines": {
@@ -57,17 +57,17 @@
57
57
  "dependencies": {
58
58
  "@fastify/static": "7.0.4",
59
59
  "@netlify/api": "14.0.3",
60
- "@netlify/blobs": "10.0.5",
61
- "@netlify/build": "34.2.5",
60
+ "@netlify/blobs": "10.0.7",
61
+ "@netlify/build": "34.3.0",
62
62
  "@netlify/build-info": "10.0.7",
63
63
  "@netlify/config": "23.2.0",
64
- "@netlify/dev-utils": "3.3.0",
64
+ "@netlify/dev-utils": "4.1.0",
65
65
  "@netlify/edge-bundler": "14.2.2",
66
- "@netlify/edge-functions": "2.15.7",
66
+ "@netlify/edge-functions": "2.16.2",
67
67
  "@netlify/headers-parser": "9.0.1",
68
68
  "@netlify/local-functions-proxy": "2.0.3",
69
69
  "@netlify/redirect-parser": "15.0.2",
70
- "@netlify/zip-it-and-ship-it": "14.0.0",
70
+ "@netlify/zip-it-and-ship-it": "14.1.0",
71
71
  "@octokit/rest": "21.1.1",
72
72
  "@opentelemetry/api": "1.8.0",
73
73
  "@pnpm/tabtab": "0.5.4",
@@ -110,7 +110,7 @@
110
110
  "https-proxy-agent": "7.0.6",
111
111
  "inquirer": "8.2.6",
112
112
  "inquirer-autocomplete-prompt": "1.4.0",
113
- "ipx": "3.0.3",
113
+ "ipx": "3.1.1",
114
114
  "is-docker": "3.0.0",
115
115
  "is-stream": "4.0.1",
116
116
  "is-wsl": "3.1.0",
@@ -134,7 +134,6 @@
134
134
  "p-wait-for": "5.0.2",
135
135
  "parallel-transform": "1.2.0",
136
136
  "parse-github-url": "1.0.3",
137
- "parse-gitignore": "2.0.0",
138
137
  "prettyjson": "1.2.5",
139
138
  "raw-body": "3.0.0",
140
139
  "read-package-up": "11.0.0",
@@ -157,5 +156,10 @@
157
156
  "tests/**/*.test.cjs"
158
157
  ]
159
158
  },
159
+ "overrides": {
160
+ "verdaccio": {
161
+ "compression": "^1.8.1"
162
+ }
163
+ },
160
164
  "main": "./dist/index.js"
161
165
  }
@@ -1,11 +0,0 @@
1
- export type BuildCommandCache<T extends undefined | Record<string, unknown>> = Record<string, undefined | {
2
- enqueued?: true;
3
- task: Promise<T>;
4
- timestamp: number;
5
- }>;
6
- export declare const memoizedBuild: <T extends undefined | Record<string, unknown>>({ cache, cacheKey, command, }: {
7
- cache: BuildCommandCache<T>;
8
- cacheKey: string;
9
- command: () => Promise<T>;
10
- }) => Promise<T>;
11
- //# sourceMappingURL=memoized-build.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memoized-build.d.ts","sourceRoot":"","sources":["../../../src/lib/functions/memoized-build.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,MAAM,CACnF,MAAM,EACN,SAAS,GAAG;IAAE,QAAQ,CAAC,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CACrE,CAAA;AAUD,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,+BAI1E;IACD,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAA;CAC1B,KAAG,OAAO,CAAC,CAAC,CAmBZ,CAAA"}
@@ -1,28 +0,0 @@
1
- const DEBOUNCE_INTERVAL = 300;
2
- // `memoizedBuild` will avoid running the same build command multiple times
3
- // until the previous operation has been completed. If another call is made
4
- // within that period, it will be:
5
- // - discarded if it happens before `DEBOUNCE_WAIT` has elapsed;
6
- // - enqueued if it happens after `DEBOUNCE_WAIT` has elapsed.
7
- // This allows us to discard any duplicate filesystem events, while ensuring
8
- // that actual updates happening during the zip operation will be executed
9
- // after it finishes (only the last update will run).
10
- export const memoizedBuild = ({ cache, cacheKey, command, }) => {
11
- if (cache[cacheKey] === undefined) {
12
- cache[cacheKey] = {
13
- task: command().finally(() => {
14
- const entry = cache[cacheKey];
15
- cache[cacheKey] = undefined;
16
- if (entry?.enqueued !== undefined) {
17
- void memoizedBuild({ cacheKey, command, cache });
18
- }
19
- }),
20
- timestamp: Date.now(),
21
- };
22
- }
23
- else if (Date.now() > cache[cacheKey].timestamp + DEBOUNCE_INTERVAL) {
24
- cache[cacheKey].enqueued = true;
25
- }
26
- return cache[cacheKey].task;
27
- };
28
- //# sourceMappingURL=memoized-build.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memoized-build.js","sourceRoot":"","sources":["../../../src/lib/functions/memoized-build.ts"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAO7B,2EAA2E;AAC3E,2EAA2E;AAC3E,kCAAkC;AAClC,gEAAgE;AAChE,8DAA8D;AAC9D,4EAA4E;AAC5E,0EAA0E;AAC1E,qDAAqD;AACrD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAgD,EAC3E,KAAK,EACL,QAAQ,EACR,OAAO,GAKR,EAAc,EAAE;IACf,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;QAClC,KAAK,CAAC,QAAQ,CAAC,GAAG;YAChB,IAAI,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAE7B,KAAK,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;gBAE3B,IAAI,KAAK,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAClC,KAAK,aAAa,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;gBAClD,CAAC;YACH,CAAC,CAAC;YACF,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAA;IACH,CAAC;SAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,iBAAiB,EAAE,CAAC;QACtE,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAA;IACjC,CAAC;IAED,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAA;AAC7B,CAAC,CAAA"}
@@ -1,13 +0,0 @@
1
- export default class CLIState {
2
- private path;
3
- constructor(cwd: string);
4
- get all(): any;
5
- set all(val: any);
6
- get size(): number;
7
- get(key: any): string | undefined;
8
- set(...args: any[]): void;
9
- has(key: any): boolean;
10
- delete(key: any): void;
11
- clear(): void;
12
- }
13
- //# sourceMappingURL=cli-state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-state.d.ts","sourceRoot":"","sources":["../../src/utils/cli-state.ts"],"names":[],"mappings":"AA0BA,MAAM,CAAC,OAAO,OAAO,QAAQ;IAC3B,OAAO,CAAC,IAAI,CAAQ;gBAER,GAAG,EAAE,MAAM;IAIvB,IAAI,GAAG,QA2BN;IAED,IAAI,GAAG,CAAC,GAAG,KAAA,EAeV;IAED,IAAI,IAAI,WAEP;IAGD,GAAG,CAAC,GAAG,KAAA;IAUP,GAAG,CAAC,GAAG,IAAI,OAAA;IAgBX,GAAG,CAAC,GAAG,KAAA;IAKP,MAAM,CAAC,GAAG,KAAA;IAMV,KAAK;CAGN"}
@@ -1,107 +0,0 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import process from 'process';
4
- import { deleteProperty, getProperty, hasProperty, setProperty } from 'dot-prop';
5
- import { findUpSync } from 'find-up';
6
- import writeFileAtomic from 'write-file-atomic';
7
- import { getPathInProject } from '../lib/settings.js';
8
- const STATE_PATH = getPathInProject(['state.json']);
9
- const permissionError = "You don't have access to this file.";
10
- /**
11
- * Finds location of `.netlify/state.json`
12
- */
13
- const findStatePath = (cwd) => {
14
- const statePath = findUpSync([STATE_PATH], { cwd });
15
- if (!statePath) {
16
- return path.join(cwd, STATE_PATH);
17
- }
18
- return statePath;
19
- };
20
- export default class CLIState {
21
- path;
22
- constructor(cwd) {
23
- this.path = findStatePath(cwd);
24
- }
25
- get all() {
26
- try {
27
- // @ts-expect-error TS(2345) FIXME: Argument of type 'Buffer' is not assignable to par... Remove this comment to see the full error message
28
- return JSON.parse(fs.readFileSync(this.path));
29
- }
30
- catch (error) {
31
- // Don't create if it doesn't exist
32
- // @ts-expect-error TS(2571) FIXME: Object is of type 'unknown'.
33
- if (error.code === 'ENOENT' || error.code === 'ENOTDIR') {
34
- return {};
35
- }
36
- // Improve the message of permission errors
37
- // @ts-expect-error TS(2571) FIXME: Object is of type 'unknown'.
38
- if (error.code === 'EACCES') {
39
- // @ts-expect-error TS(2571) FIXME: Object is of type 'unknown'.
40
- error.message = `${error.message}\n${permissionError}\n`;
41
- }
42
- // Empty the file if it encounters invalid JSON
43
- // @ts-expect-error TS(2571) FIXME: Object is of type 'unknown'.
44
- if (error.name === 'SyntaxError') {
45
- writeFileAtomic.sync(this.path, '');
46
- return {};
47
- }
48
- throw error;
49
- }
50
- }
51
- set all(val) {
52
- try {
53
- // Make sure the folder exists as it could have been deleted in the meantime
54
- fs.mkdirSync(path.dirname(this.path), { recursive: true });
55
- writeFileAtomic.sync(this.path, JSON.stringify(val, null, '\t'));
56
- }
57
- catch (error) {
58
- // Improve the message of permission errors
59
- // @ts-expect-error TS(2571) FIXME: Object is of type 'unknown'.
60
- if (error.code === 'EACCES') {
61
- // @ts-expect-error TS(2571) FIXME: Object is of type 'unknown'.
62
- error.message = `${error.message}\n${permissionError}\n`;
63
- }
64
- throw error;
65
- }
66
- }
67
- get size() {
68
- return Object.keys(this.all || {}).length;
69
- }
70
- // @ts-expect-error TS(7006) FIXME: Parameter 'key' implicitly has an 'any' type.
71
- get(key) {
72
- if (key === 'siteId' && process.env.NETLIFY_SITE_ID) {
73
- // TODO figure out cleaner way of grabbing ENV vars
74
- return process.env.NETLIFY_SITE_ID;
75
- }
76
- // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression
77
- return getProperty(this.all, key);
78
- }
79
- // @ts-expect-error TS(7019) FIXME: Rest parameter 'args' implicitly has an 'any[]' ty... Remove this comment to see the full error message
80
- set(...args) {
81
- const [key, val] = args;
82
- const config = this.all;
83
- if (args.length === 1) {
84
- Object.entries(key).forEach(([keyPart, value]) => {
85
- setProperty(config, keyPart, value);
86
- });
87
- }
88
- else {
89
- setProperty(config, key, val);
90
- }
91
- this.all = config;
92
- }
93
- // @ts-expect-error TS(7006) FIXME: Parameter 'key' implicitly has an 'any' type.
94
- has(key) {
95
- return hasProperty(this.all, key);
96
- }
97
- // @ts-expect-error TS(7006) FIXME: Parameter 'key' implicitly has an 'any' type.
98
- delete(key) {
99
- const config = this.all;
100
- deleteProperty(config, key);
101
- this.all = config;
102
- }
103
- clear() {
104
- this.all = {};
105
- }
106
- }
107
- //# sourceMappingURL=cli-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-state.js","sourceRoot":"","sources":["../../src/utils/cli-state.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- type ConfigStoreOptions<T extends Record<string, any>> = {
2
- defaults?: T | undefined;
3
- };
4
- export declare class GlobalConfigStore<T extends Record<string, any> = Record<string, any>> {
5
- #private;
6
- constructor(options?: ConfigStoreOptions<T>);
7
- get all(): T;
8
- set(key: string, value: unknown): void;
9
- get(key: string): T[typeof key];
10
- private getConfig;
11
- private writeConfig;
12
- }
13
- declare const getGlobalConfigStore: () => Promise<GlobalConfigStore>;
14
- export default getGlobalConfigStore;
15
- export declare const resetConfigCache: () => void;
16
- //# sourceMappingURL=get-global-config-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-global-config-store.d.ts","sourceRoot":"","sources":["../../src/utils/get-global-config-store.ts"],"names":[],"mappings":"AAUA,KAAK,kBAAkB,CAErB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAC3B;IACF,QAAQ,CAAC,EAAE,CAAC,GAAG,SAAS,CAAA;CACzB,CAAA;AAED,qBAAa,iBAAiB,CAE5B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;gBAIhC,OAAO,GAAE,kBAAkB,CAAC,CAAC,CAAM;IAStD,IAAW,GAAG,IAAI,CAAC,CAElB;IAEM,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAMtC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC;IAKtC,OAAO,CAAC,SAAS;IAsBjB,OAAO,CAAC,WAAW;CAIpB;AAYD,QAAA,MAAM,oBAAoB,QAAa,OAAO,CAAC,iBAAiB,CAkB/D,CAAA;AAED,eAAe,oBAAoB,CAAA;AAEnC,eAAO,MAAM,gBAAgB,YAE5B,CAAA"}
@@ -1,87 +0,0 @@
1
- import fs from 'node:fs/promises';
2
- import fss from 'node:fs';
3
- import path from 'node:path';
4
- import * as dot from 'dot-prop';
5
- import { v4 as uuidv4 } from 'uuid';
6
- import { sync as writeFileAtomicSync } from 'write-file-atomic';
7
- import { getLegacyPathInHome, getPathInHome } from '../lib/settings.js';
8
- export class GlobalConfigStore {
9
- #storagePath;
10
- constructor(options = {}) {
11
- this.#storagePath = getPathInHome(['config.json']);
12
- if (options.defaults) {
13
- const config = this.getConfig();
14
- this.writeConfig({ ...options.defaults, ...config });
15
- }
16
- }
17
- get all() {
18
- return this.getConfig();
19
- }
20
- set(key, value) {
21
- const config = this.getConfig();
22
- const updatedConfig = dot.setProperty(config, key, value);
23
- this.writeConfig(updatedConfig);
24
- }
25
- get(key) {
26
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
27
- return dot.getProperty(this.getConfig(), key);
28
- }
29
- getConfig() {
30
- let raw;
31
- try {
32
- raw = fss.readFileSync(this.#storagePath, 'utf8');
33
- }
34
- catch (err) {
35
- if (err instanceof Error && 'code' in err) {
36
- if (err.code === 'ENOENT') {
37
- // File or parent directory does not exist
38
- return {};
39
- }
40
- }
41
- throw err;
42
- }
43
- try {
44
- return JSON.parse(raw);
45
- }
46
- catch {
47
- writeFileAtomicSync(this.#storagePath, '', { mode: 0o0600 });
48
- return {};
49
- }
50
- }
51
- writeConfig(value) {
52
- fss.mkdirSync(path.dirname(this.#storagePath), { mode: 0o0700, recursive: true });
53
- writeFileAtomicSync(this.#storagePath, JSON.stringify(value, undefined, '\t'), { mode: 0o0600 });
54
- }
55
- }
56
- const globalConfigDefaults = {
57
- /* disable stats from being sent to Netlify */
58
- telemetryDisabled: false,
59
- /* cliId */
60
- cliId: uuidv4(),
61
- };
62
- // Memoise config result so that we only load it once
63
- let configStore;
64
- const getGlobalConfigStore = async () => {
65
- if (!configStore) {
66
- // Legacy config file in home ~/.netlify/config.json
67
- const legacyPath = getLegacyPathInHome(['config.json']);
68
- // Read legacy config if exists
69
- let legacyConfig;
70
- try {
71
- legacyConfig = JSON.parse(await fs.readFile(legacyPath, 'utf8'));
72
- }
73
- catch {
74
- // ignore error
75
- }
76
- // Use legacy config as default values
77
- const defaults = { ...globalConfigDefaults, ...legacyConfig };
78
- // The id param is only used when not passing `configPath` but the type def requires it
79
- configStore = new GlobalConfigStore({ defaults });
80
- }
81
- return configStore;
82
- };
83
- export default getGlobalConfigStore;
84
- export const resetConfigCache = () => {
85
- configStore = undefined;
86
- };
87
- //# sourceMappingURL=get-global-config-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-global-config-store.js","sourceRoot":"","sources":["../../src/utils/get-global-config-store.ts"],"names":[],"mappings":"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"}