@forge/cli 14.1.0-next.1-experimental-13c2f8d → 14.1.0-next.21-experimental-554d417

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/CHANGELOG.md +246 -12
  2. package/README.md +0 -42
  3. package/npm-shrinkwrap.json +41 -40
  4. package/out/autocomplete/autocomplete-config.json +3 -3
  5. package/out/command-line/command.d.ts +0 -4
  6. package/out/command-line/command.d.ts.map +1 -1
  7. package/out/command-line/command.js +0 -18
  8. package/out/command-line/command.js.map +1 -1
  9. package/out/command-line/controller/global-install-controller.d.ts +47 -0
  10. package/out/command-line/controller/global-install-controller.d.ts.map +1 -0
  11. package/out/command-line/controller/global-install-controller.js +209 -0
  12. package/out/command-line/controller/global-install-controller.js.map +1 -0
  13. package/out/command-line/controller/install-controller.d.ts +5 -2
  14. package/out/command-line/controller/install-controller.d.ts.map +1 -1
  15. package/out/command-line/controller/install-controller.js +38 -3
  16. package/out/command-line/controller/install-controller.js.map +1 -1
  17. package/out/command-line/controller/tunnel-controller.d.ts +1 -3
  18. package/out/command-line/controller/tunnel-controller.d.ts.map +1 -1
  19. package/out/command-line/controller/tunnel-controller.js +25 -49
  20. package/out/command-line/controller/tunnel-controller.js.map +1 -1
  21. package/out/command-line/controller/version-controller.d.ts.map +1 -1
  22. package/out/command-line/controller/version-controller.js +1 -0
  23. package/out/command-line/controller/version-controller.js.map +1 -1
  24. package/out/command-line/dependency-injection.d.ts +0 -4
  25. package/out/command-line/dependency-injection.d.ts.map +1 -1
  26. package/out/command-line/dependency-injection.js +11 -16
  27. package/out/command-line/dependency-injection.js.map +1 -1
  28. package/out/command-line/register-app-commands.js +1 -1
  29. package/out/command-line/register-app-commands.js.map +1 -1
  30. package/out/command-line/register-installation-commands.d.ts.map +1 -1
  31. package/out/command-line/register-installation-commands.js +6 -4
  32. package/out/command-line/register-installation-commands.js.map +1 -1
  33. package/out/command-line/register-log-commands.d.ts.map +1 -1
  34. package/out/command-line/register-log-commands.js +43 -43
  35. package/out/command-line/register-log-commands.js.map +1 -1
  36. package/out/command-line/register-show-commands.d.ts.map +1 -1
  37. package/out/command-line/register-show-commands.js +118 -89
  38. package/out/command-line/register-show-commands.js.map +1 -1
  39. package/out/command-line/register-storage-commands.d.ts.map +1 -1
  40. package/out/command-line/register-storage-commands.js +0 -38
  41. package/out/command-line/register-storage-commands.js.map +1 -1
  42. package/out/command-line/register-tunnel-commands.d.ts.map +1 -1
  43. package/out/command-line/register-tunnel-commands.js +0 -1
  44. package/out/command-line/register-tunnel-commands.js.map +1 -1
  45. package/out/command-line/uninstall-command-helpers.d.ts.map +1 -1
  46. package/out/command-line/uninstall-command-helpers.js +1 -6
  47. package/out/command-line/uninstall-command-helpers.js.map +1 -1
  48. package/out/command-line/utils.d.ts +1 -0
  49. package/out/command-line/utils.d.ts.map +1 -1
  50. package/out/command-line/utils.js +14 -1
  51. package/out/command-line/utils.js.map +1 -1
  52. package/out/command-line/view/global-install-view.d.ts +42 -0
  53. package/out/command-line/view/global-install-view.d.ts.map +1 -0
  54. package/out/command-line/view/global-install-view.js +126 -0
  55. package/out/command-line/view/global-install-view.js.map +1 -0
  56. package/out/command-line/view/version-view.d.ts.map +1 -1
  57. package/out/command-line/view/version-view.js +11 -0
  58. package/out/command-line/view/version-view.js.map +1 -1
  59. package/out/containers/container-command.d.ts +2 -2
  60. package/out/containers/container-command.d.ts.map +1 -1
  61. package/out/containers/container-command.js +34 -18
  62. package/out/containers/container-command.js.map +1 -1
  63. package/out/deploy/deployer/deployer.d.ts.map +1 -1
  64. package/out/deploy/deployer/deployer.js +38 -0
  65. package/out/deploy/deployer/deployer.js.map +1 -1
  66. package/out/installations/global-app.d.ts +9 -0
  67. package/out/installations/global-app.d.ts.map +1 -0
  68. package/out/installations/global-app.js +18 -0
  69. package/out/installations/global-app.js.map +1 -0
  70. package/out/installations/graphql-client.d.ts +12 -1
  71. package/out/installations/graphql-client.d.ts.map +1 -1
  72. package/out/installations/graphql-client.js +122 -34
  73. package/out/installations/graphql-client.js.map +1 -1
  74. package/out/installations/install-app-unit.d.ts +39 -0
  75. package/out/installations/install-app-unit.d.ts.map +1 -0
  76. package/out/installations/install-app-unit.js +3 -0
  77. package/out/installations/install-app-unit.js.map +1 -0
  78. package/out/installations/site-translation/bitbucket.d.ts +2 -1
  79. package/out/installations/site-translation/bitbucket.d.ts.map +1 -1
  80. package/out/installations/site-translation/bitbucket.js +10 -2
  81. package/out/installations/site-translation/bitbucket.js.map +1 -1
  82. package/out/service/identity/identity-client.d.ts +25 -0
  83. package/out/service/identity/identity-client.d.ts.map +1 -0
  84. package/out/service/identity/identity-client.js +77 -0
  85. package/out/service/identity/identity-client.js.map +1 -0
  86. package/out/service/resources-uploader-service.d.ts.map +1 -1
  87. package/out/service/resources-uploader-service.js +2 -1
  88. package/out/service/resources-uploader-service.js.map +1 -1
  89. package/out/service/tunnel-service.d.ts.map +1 -1
  90. package/out/service/tunnel-service.js +5 -14
  91. package/out/service/tunnel-service.js.map +1 -1
  92. package/package.json +7 -7
  93. package/docs/local-storage.md +0 -82
  94. package/out/command-line/controller/local-storage-controller.d.ts +0 -18
  95. package/out/command-line/controller/local-storage-controller.d.ts.map +0 -1
  96. package/out/command-line/controller/local-storage-controller.js +0 -52
  97. package/out/command-line/controller/local-storage-controller.js.map +0 -1
  98. package/out/command-line/view/local-storage-view.d.ts +0 -15
  99. package/out/command-line/view/local-storage-view.d.ts.map +0 -1
  100. package/out/command-line/view/local-storage-view.js +0 -79
  101. package/out/command-line/view/local-storage-view.js.map +0 -1
  102. package/out/service/local-storage-lifecycle.d.ts +0 -91
  103. package/out/service/local-storage-lifecycle.d.ts.map +0 -1
  104. package/out/service/local-storage-lifecycle.js +0 -167
  105. package/out/service/local-storage-lifecycle.js.map +0 -1
  106. package/out/service/local-storage-manifest.d.ts +0 -20
  107. package/out/service/local-storage-manifest.d.ts.map +0 -1
  108. package/out/service/local-storage-manifest.js +0 -48
  109. package/out/service/local-storage-manifest.js.map +0 -1
  110. package/out/service/local-storage-service.d.ts +0 -58
  111. package/out/service/local-storage-service.d.ts.map +0 -1
  112. package/out/service/local-storage-service.js +0 -204
  113. package/out/service/local-storage-service.js.map +0 -1
@@ -1,204 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LocalStorageService = exports.LocalStorageApiError = exports.LocalStorageConfigurationError = void 0;
4
- const tslib_1 = require("tslib");
5
- const fs_1 = tslib_1.__importDefault(require("fs"));
6
- const cli_shared_1 = require("@forge/cli-shared");
7
- const local_storage_manifest_1 = require("./local-storage-manifest");
8
- class LocalStorageConfigurationError extends cli_shared_1.UserError {
9
- }
10
- exports.LocalStorageConfigurationError = LocalStorageConfigurationError;
11
- class LocalStorageApiError extends cli_shared_1.UserError {
12
- operationIndex;
13
- constructor(message, operationIndex) {
14
- super(message);
15
- this.operationIndex = operationIndex;
16
- }
17
- }
18
- exports.LocalStorageApiError = LocalStorageApiError;
19
- class LocalStorageService {
20
- configFile;
21
- lifecycle;
22
- appDirectory;
23
- fetchClient;
24
- constructor(configFile, lifecycle, fetchClient = fetch, appDirectory = process.cwd()) {
25
- this.configFile = configFile;
26
- this.lifecycle = lifecycle;
27
- this.appDirectory = appDirectory;
28
- this.fetchClient = fetchClient;
29
- }
30
- async manifest() {
31
- return (0, local_storage_manifest_1.inspectLocalStorageManifest)(await this.configFile.readConfig(), this.appDirectory);
32
- }
33
- async start() {
34
- const manifest = await this.manifest();
35
- await this.ensureAvailable(manifest, (0, local_storage_manifest_1.configuredOfferings)(manifest));
36
- return manifest;
37
- }
38
- async status() {
39
- const manifest = await this.manifest();
40
- const empty = { state: 'stopped', healthy: false };
41
- const offerings = (0, local_storage_manifest_1.configuredOfferings)(manifest);
42
- const discovered = offerings.length ? await this.lifecycle.status() : undefined;
43
- const runtime = Object.fromEntries(['kvs', 'sql'].map((offering) => [
44
- offering,
45
- manifest.configured[offering] && discovered ? discovered[offering] : empty
46
- ]));
47
- return { manifest, runtime };
48
- }
49
- async stop() {
50
- await this.lifecycle.stop();
51
- }
52
- async seed(options) {
53
- const manifest = await this.manifest();
54
- const requested = [options.kvsPath && 'kvs', options.sqlPath && 'sql'].filter(Boolean);
55
- if (!requested.length)
56
- return [];
57
- this.assertConfigured(manifest, requested);
58
- const kvsSeed = options.kvsPath ? fs_1.default.readFileSync(options.kvsPath, 'utf8') : undefined;
59
- const sqlSeed = options.sqlPath ? fs_1.default.readFileSync(options.sqlPath, 'utf8') : undefined;
60
- await this.ensureAvailable(manifest, requested);
61
- const tasks = [];
62
- if (kvsSeed !== undefined)
63
- tasks.push(this.seedKvs(manifest, kvsSeed));
64
- if (sqlSeed !== undefined)
65
- tasks.push(this.seedSql(manifest, sqlSeed));
66
- return Promise.all(tasks);
67
- }
68
- async reset(options) {
69
- if (options.kvs && options.sql) {
70
- throw new LocalStorageConfigurationError('Use bare reset to clear every configured local-storage offering.');
71
- }
72
- const manifest = await this.manifest();
73
- const explicit = options.kvs ? ['kvs'] : options.sql ? ['sql'] : undefined;
74
- const requested = explicit ?? (0, local_storage_manifest_1.configuredOfferings)(manifest);
75
- this.assertConfigured(manifest, requested);
76
- await this.ensureAvailable(manifest, requested);
77
- return Promise.all(requested.map((offering) => this.resetOffering(manifest, offering)));
78
- }
79
- async startForTunnel() {
80
- const manifest = await this.start();
81
- const environment = (0, local_storage_manifest_1.localStorageEnvironment)(manifest.namespace);
82
- for (const [key, value] of Object.entries(environment))
83
- process.env[key] = value;
84
- return manifest;
85
- }
86
- async stopForTunnel() {
87
- try {
88
- await this.stop();
89
- }
90
- finally {
91
- for (const key of Object.keys((0, local_storage_manifest_1.localStorageEnvironment)({ appId: '', environmentId: '', installationId: '' }))) {
92
- delete process.env[key];
93
- }
94
- }
95
- }
96
- async ensureAvailable(manifest, offerings) {
97
- if (!offerings.length)
98
- return;
99
- try {
100
- await this.lifecycle.start(offerings);
101
- await Promise.all(offerings.map((offering) => this.bootstrap(manifest, offering)));
102
- }
103
- catch (error) {
104
- try {
105
- await this.lifecycle.stop();
106
- }
107
- catch { }
108
- throw error;
109
- }
110
- }
111
- assertConfigured(manifest, offerings) {
112
- for (const offering of offerings) {
113
- if (!manifest.configured[offering]) {
114
- const declaration = offering === 'kvs' ? 'the storage:app permission scope' : 'a modules.sql entry';
115
- throw new LocalStorageConfigurationError(`${offering.toUpperCase()} is not configured; add ${declaration} to manifest.yml.`);
116
- }
117
- }
118
- }
119
- async bootstrap(manifest, offering) {
120
- if (offering === 'kvs') {
121
- await this.post('http://127.0.0.1:18090/_local/v1/bootstrap', { entities: manifest.entities }, manifest);
122
- }
123
- else {
124
- await this.post('http://127.0.0.1:18091/_local/v1/bootstrap', {}, manifest);
125
- }
126
- }
127
- async seedKvs(manifest, seed) {
128
- try {
129
- const result = await this.postRaw('http://127.0.0.1:18090/_local/v1/seed', seed, manifest);
130
- return {
131
- offering: 'kvs',
132
- ok: true,
133
- records: typeof result.recordsSeeded === 'number' ? result.recordsSeeded : undefined
134
- };
135
- }
136
- catch (error) {
137
- return { offering: 'kvs', ok: false, error: error };
138
- }
139
- }
140
- async seedSql(manifest, sql) {
141
- try {
142
- const result = await this.post('http://127.0.0.1:18091/_local/v1/seed', { sql }, manifest);
143
- return {
144
- offering: 'sql',
145
- ok: true,
146
- statements: typeof result.statementsExecuted === 'number' ? result.statementsExecuted : undefined
147
- };
148
- }
149
- catch (error) {
150
- return { offering: 'sql', ok: false, error: error };
151
- }
152
- }
153
- async resetOffering(manifest, offering) {
154
- const endpoint = offering === 'kvs' ? 'http://127.0.0.1:18090/_local/v1/reset' : 'http://127.0.0.1:18091/_local/v1/reset';
155
- try {
156
- const result = await this.post(endpoint, {}, manifest);
157
- return {
158
- offering,
159
- ok: true,
160
- removed: typeof result.recordsRemoved === 'number' ? result.recordsRemoved : undefined
161
- };
162
- }
163
- catch (error) {
164
- return { offering, ok: false, error: error };
165
- }
166
- }
167
- async post(url, body, manifest) {
168
- return this.postRaw(url, JSON.stringify(body), manifest);
169
- }
170
- async postRaw(url, body, manifest) {
171
- let response;
172
- try {
173
- response = await this.fetchClient(url, {
174
- method: 'POST',
175
- headers: (0, local_storage_manifest_1.localStorageHeaders)(manifest.namespace),
176
- body
177
- });
178
- }
179
- catch (error) {
180
- throw new LocalStorageApiError(`Local storage request failed: ${error.message}`);
181
- }
182
- const text = await response.text();
183
- let parsed = {};
184
- if (text) {
185
- try {
186
- parsed = JSON.parse(text);
187
- }
188
- catch {
189
- throw new LocalStorageApiError(`Local storage returned invalid JSON (HTTP ${response.status}): ${text}`);
190
- }
191
- }
192
- if (!response.ok) {
193
- const debug = isObject(parsed.debug) ? parsed.debug : {};
194
- const operationIndex = typeof debug.errorOperationIndex === 'number' ? debug.errorOperationIndex : undefined;
195
- const detail = typeof parsed.message === 'string' ? parsed.message : text || response.statusText;
196
- const location = typeof parsed.location === 'string' ? `${parsed.location}: ` : '';
197
- throw new LocalStorageApiError(`Local storage returned HTTP ${response.status}: ${location}${detail}`, operationIndex);
198
- }
199
- return parsed;
200
- }
201
- }
202
- exports.LocalStorageService = LocalStorageService;
203
- const isObject = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
204
- //# sourceMappingURL=local-storage-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local-storage-service.js","sourceRoot":"","sources":["../../src/service/local-storage-service.ts"],"names":[],"mappings":"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"}