hereya-cli 0.26.0 → 0.27.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.
- package/README.md +21 -21
- package/dist/backend/local.d.ts +1 -0
- package/dist/backend/local.js +9 -0
- package/dist/lib/config/simple.d.ts +1 -0
- package/dist/lib/config/simple.js +33 -19
- package/dist/lib/package/index.js +6 -6
- package/dist/lib/package/local.js +2 -2
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ $ npm install -g hereya-cli
|
|
|
20
20
|
$ hereya COMMAND
|
|
21
21
|
running command...
|
|
22
22
|
$ hereya (--version)
|
|
23
|
-
hereya-cli/0.
|
|
23
|
+
hereya-cli/0.27.0 linux-x64 node-v22.14.0
|
|
24
24
|
$ hereya --help [COMMAND]
|
|
25
25
|
USAGE
|
|
26
26
|
$ hereya COMMAND
|
|
@@ -82,7 +82,7 @@ EXAMPLES
|
|
|
82
82
|
$ hereya add cloudy/docker_postgres
|
|
83
83
|
```
|
|
84
84
|
|
|
85
|
-
_See code: [src/commands/add/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
85
|
+
_See code: [src/commands/add/index.ts](https://github.com/hereya/hereya-cli/blob/v0.27.0/src/commands/add/index.ts)_
|
|
86
86
|
|
|
87
87
|
## `hereya bootstrap INFRASTRUCTURETYPE`
|
|
88
88
|
|
|
@@ -107,7 +107,7 @@ EXAMPLES
|
|
|
107
107
|
$ hereya bootstrap local
|
|
108
108
|
```
|
|
109
109
|
|
|
110
|
-
_See code: [src/commands/bootstrap/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
110
|
+
_See code: [src/commands/bootstrap/index.ts](https://github.com/hereya/hereya-cli/blob/v0.27.0/src/commands/bootstrap/index.ts)_
|
|
111
111
|
|
|
112
112
|
## `hereya deploy`
|
|
113
113
|
|
|
@@ -132,7 +132,7 @@ EXAMPLES
|
|
|
132
132
|
$ hereya deploy
|
|
133
133
|
```
|
|
134
134
|
|
|
135
|
-
_See code: [src/commands/deploy/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
135
|
+
_See code: [src/commands/deploy/index.ts](https://github.com/hereya/hereya-cli/blob/v0.27.0/src/commands/deploy/index.ts)_
|
|
136
136
|
|
|
137
137
|
## `hereya down`
|
|
138
138
|
|
|
@@ -159,7 +159,7 @@ EXAMPLES
|
|
|
159
159
|
$ hereya down
|
|
160
160
|
```
|
|
161
161
|
|
|
162
|
-
_See code: [src/commands/down/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
162
|
+
_See code: [src/commands/down/index.ts](https://github.com/hereya/hereya-cli/blob/v0.27.0/src/commands/down/index.ts)_
|
|
163
163
|
|
|
164
164
|
## `hereya env [NAME]`
|
|
165
165
|
|
|
@@ -190,7 +190,7 @@ EXAMPLES
|
|
|
190
190
|
$ hereya env -w dev -l
|
|
191
191
|
```
|
|
192
192
|
|
|
193
|
-
_See code: [src/commands/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
193
|
+
_See code: [src/commands/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.27.0/src/commands/env/index.ts)_
|
|
194
194
|
|
|
195
195
|
## `hereya env set [NAME]`
|
|
196
196
|
|
|
@@ -217,7 +217,7 @@ EXAMPLES
|
|
|
217
217
|
$ hereya env set FOO -v bar -w dev
|
|
218
218
|
```
|
|
219
219
|
|
|
220
|
-
_See code: [src/commands/env/set/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
220
|
+
_See code: [src/commands/env/set/index.ts](https://github.com/hereya/hereya-cli/blob/v0.27.0/src/commands/env/set/index.ts)_
|
|
221
221
|
|
|
222
222
|
## `hereya help [COMMAND]`
|
|
223
223
|
|
|
@@ -263,7 +263,7 @@ EXAMPLES
|
|
|
263
263
|
$ hereya init myProject -w=defaultWorkspace --chdir=./myProject
|
|
264
264
|
```
|
|
265
265
|
|
|
266
|
-
_See code: [src/commands/init/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
266
|
+
_See code: [src/commands/init/index.ts](https://github.com/hereya/hereya-cli/blob/v0.27.0/src/commands/init/index.ts)_
|
|
267
267
|
|
|
268
268
|
## `hereya remove PACKAGE`
|
|
269
269
|
|
|
@@ -290,7 +290,7 @@ EXAMPLES
|
|
|
290
290
|
$ hereya remove cloudy/docker_postgres
|
|
291
291
|
```
|
|
292
292
|
|
|
293
|
-
_See code: [src/commands/remove/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
293
|
+
_See code: [src/commands/remove/index.ts](https://github.com/hereya/hereya-cli/blob/v0.27.0/src/commands/remove/index.ts)_
|
|
294
294
|
|
|
295
295
|
## `hereya run CMD`
|
|
296
296
|
|
|
@@ -316,7 +316,7 @@ EXAMPLES
|
|
|
316
316
|
$ hereya run -w uat -- node index.js
|
|
317
317
|
```
|
|
318
318
|
|
|
319
|
-
_See code: [src/commands/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
319
|
+
_See code: [src/commands/run/index.ts](https://github.com/hereya/hereya-cli/blob/v0.27.0/src/commands/run/index.ts)_
|
|
320
320
|
|
|
321
321
|
## `hereya unbootstrap INFRASTRUCTURETYPE`
|
|
322
322
|
|
|
@@ -341,7 +341,7 @@ EXAMPLES
|
|
|
341
341
|
$ hereya unbootstrap local
|
|
342
342
|
```
|
|
343
343
|
|
|
344
|
-
_See code: [src/commands/unbootstrap/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
344
|
+
_See code: [src/commands/unbootstrap/index.ts](https://github.com/hereya/hereya-cli/blob/v0.27.0/src/commands/unbootstrap/index.ts)_
|
|
345
345
|
|
|
346
346
|
## `hereya undeploy`
|
|
347
347
|
|
|
@@ -366,7 +366,7 @@ EXAMPLES
|
|
|
366
366
|
$ hereya undeploy
|
|
367
367
|
```
|
|
368
368
|
|
|
369
|
-
_See code: [src/commands/undeploy/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
369
|
+
_See code: [src/commands/undeploy/index.ts](https://github.com/hereya/hereya-cli/blob/v0.27.0/src/commands/undeploy/index.ts)_
|
|
370
370
|
|
|
371
371
|
## `hereya up`
|
|
372
372
|
|
|
@@ -393,7 +393,7 @@ EXAMPLES
|
|
|
393
393
|
$ hereya up
|
|
394
394
|
```
|
|
395
395
|
|
|
396
|
-
_See code: [src/commands/up/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
396
|
+
_See code: [src/commands/up/index.ts](https://github.com/hereya/hereya-cli/blob/v0.27.0/src/commands/up/index.ts)_
|
|
397
397
|
|
|
398
398
|
## `hereya workspace create NAME`
|
|
399
399
|
|
|
@@ -416,7 +416,7 @@ EXAMPLES
|
|
|
416
416
|
$ hereya workspace create dev
|
|
417
417
|
```
|
|
418
418
|
|
|
419
|
-
_See code: [src/commands/workspace/create/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
419
|
+
_See code: [src/commands/workspace/create/index.ts](https://github.com/hereya/hereya-cli/blob/v0.27.0/src/commands/workspace/create/index.ts)_
|
|
420
420
|
|
|
421
421
|
## `hereya workspace delete NAME`
|
|
422
422
|
|
|
@@ -436,7 +436,7 @@ EXAMPLES
|
|
|
436
436
|
$ hereya workspace delete dev
|
|
437
437
|
```
|
|
438
438
|
|
|
439
|
-
_See code: [src/commands/workspace/delete/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
439
|
+
_See code: [src/commands/workspace/delete/index.ts](https://github.com/hereya/hereya-cli/blob/v0.27.0/src/commands/workspace/delete/index.ts)_
|
|
440
440
|
|
|
441
441
|
## `hereya workspace env [NAME]`
|
|
442
442
|
|
|
@@ -462,7 +462,7 @@ EXAMPLES
|
|
|
462
462
|
$ hereya workspace env myEnv -w dev
|
|
463
463
|
```
|
|
464
464
|
|
|
465
|
-
_See code: [src/commands/workspace/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
465
|
+
_See code: [src/commands/workspace/env/index.ts](https://github.com/hereya/hereya-cli/blob/v0.27.0/src/commands/workspace/env/index.ts)_
|
|
466
466
|
|
|
467
467
|
## `hereya workspace env set`
|
|
468
468
|
|
|
@@ -486,7 +486,7 @@ EXAMPLES
|
|
|
486
486
|
$ hereya workspace env set -w my-workspace -n myVar -v my-value -i aws -s
|
|
487
487
|
```
|
|
488
488
|
|
|
489
|
-
_See code: [src/commands/workspace/env/set/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
489
|
+
_See code: [src/commands/workspace/env/set/index.ts](https://github.com/hereya/hereya-cli/blob/v0.27.0/src/commands/workspace/env/set/index.ts)_
|
|
490
490
|
|
|
491
491
|
## `hereya workspace env unset`
|
|
492
492
|
|
|
@@ -507,7 +507,7 @@ EXAMPLES
|
|
|
507
507
|
$ hereya workspace env unset -w my-workspace -n myVar
|
|
508
508
|
```
|
|
509
509
|
|
|
510
|
-
_See code: [src/commands/workspace/env/unset/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
510
|
+
_See code: [src/commands/workspace/env/unset/index.ts](https://github.com/hereya/hereya-cli/blob/v0.27.0/src/commands/workspace/env/unset/index.ts)_
|
|
511
511
|
|
|
512
512
|
## `hereya workspace install PACKAGE`
|
|
513
513
|
|
|
@@ -534,7 +534,7 @@ EXAMPLES
|
|
|
534
534
|
$ hereya workspace install hereya/aws-cognito
|
|
535
535
|
```
|
|
536
536
|
|
|
537
|
-
_See code: [src/commands/workspace/install/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
537
|
+
_See code: [src/commands/workspace/install/index.ts](https://github.com/hereya/hereya-cli/blob/v0.27.0/src/commands/workspace/install/index.ts)_
|
|
538
538
|
|
|
539
539
|
## `hereya workspace list`
|
|
540
540
|
|
|
@@ -551,7 +551,7 @@ EXAMPLES
|
|
|
551
551
|
$ hereya workspace list
|
|
552
552
|
```
|
|
553
553
|
|
|
554
|
-
_See code: [src/commands/workspace/list/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
554
|
+
_See code: [src/commands/workspace/list/index.ts](https://github.com/hereya/hereya-cli/blob/v0.27.0/src/commands/workspace/list/index.ts)_
|
|
555
555
|
|
|
556
556
|
## `hereya workspace uninstall PACKAGE`
|
|
557
557
|
|
|
@@ -578,5 +578,5 @@ EXAMPLES
|
|
|
578
578
|
$ hereya workspace uninstall hereya/aws-cognito
|
|
579
579
|
```
|
|
580
580
|
|
|
581
|
-
_See code: [src/commands/workspace/uninstall/index.ts](https://github.com/hereya/hereya-cli/blob/v0.
|
|
581
|
+
_See code: [src/commands/workspace/uninstall/index.ts](https://github.com/hereya/hereya-cli/blob/v0.27.0/src/commands/workspace/uninstall/index.ts)_
|
|
582
582
|
<!-- commandsstop -->
|
package/dist/backend/local.d.ts
CHANGED
package/dist/backend/local.js
CHANGED
|
@@ -160,6 +160,7 @@ export class LocalBackend {
|
|
|
160
160
|
async getState(input) {
|
|
161
161
|
await this.migrateProjectState(input);
|
|
162
162
|
const projectStatePath = await this.getProjectStatePath(input);
|
|
163
|
+
await this.migrateLocalPackageReferences(projectStatePath);
|
|
163
164
|
const { data, found } = await load(projectStatePath);
|
|
164
165
|
if (found) {
|
|
165
166
|
return {
|
|
@@ -173,6 +174,7 @@ export class LocalBackend {
|
|
|
173
174
|
}
|
|
174
175
|
async getWorkspace(workspace) {
|
|
175
176
|
const workspacePath = await getAnyPath(path.join(os.homedir(), '.hereya', 'state', 'workspaces', `${workspace}.yaml`), path.join(os.homedir(), '.hereya', 'state', 'workspaces', `${workspace}.yml`));
|
|
177
|
+
await this.migrateLocalPackageReferences(workspacePath);
|
|
176
178
|
const { data, error, found } = await load(workspacePath);
|
|
177
179
|
if (error) {
|
|
178
180
|
return {
|
|
@@ -379,6 +381,13 @@ export class LocalBackend {
|
|
|
379
381
|
async getWorkspacePath(name) {
|
|
380
382
|
return getAnyPath(path.join(os.homedir(), '.hereya', 'state', 'workspaces', `${name}.yaml`), path.join(os.homedir(), '.hereya', 'state', 'workspaces', `${name}.yml`));
|
|
381
383
|
}
|
|
384
|
+
async migrateLocalPackageReferences(statePath) {
|
|
385
|
+
if (await fs.stat(statePath).catch(() => false)) {
|
|
386
|
+
let stateContent = await fs.readFile(statePath, 'utf8');
|
|
387
|
+
stateContent = stateContent.replace('local://', 'local/');
|
|
388
|
+
await fs.writeFile(statePath, stateContent);
|
|
389
|
+
}
|
|
390
|
+
}
|
|
382
391
|
async migrateProjectState(input) {
|
|
383
392
|
const oldProjectStatePath = await this.getOldProjectStatePath(input);
|
|
384
393
|
const newProjectStatePath = await this.getProjectStatePath(input);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
1
2
|
import path from 'node:path';
|
|
2
3
|
import { getAnyPath } from '../filesystem.js';
|
|
3
4
|
import * as yaml from '../yaml-utils.js';
|
|
@@ -6,29 +7,34 @@ export class SimpleConfigManager {
|
|
|
6
7
|
const { config } = await this.loadConfig({ projectRootDir: input.projectRootDir });
|
|
7
8
|
await yaml.save({
|
|
8
9
|
...config,
|
|
9
|
-
...(input.metadata.deploy
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
...(input.metadata.deploy
|
|
11
|
+
? {
|
|
12
|
+
deploy: {
|
|
13
|
+
...config.deploy,
|
|
14
|
+
[input.package]: {
|
|
15
|
+
version: '',
|
|
16
|
+
},
|
|
17
|
+
},
|
|
15
18
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
19
|
+
: {
|
|
20
|
+
packages: {
|
|
21
|
+
...config.packages,
|
|
22
|
+
[input.package]: {
|
|
23
|
+
version: '',
|
|
24
|
+
...(input.metadata.onDeploy
|
|
25
|
+
? {
|
|
26
|
+
onDeploy: {
|
|
27
|
+
...input.metadata.onDeploy,
|
|
28
|
+
},
|
|
29
|
+
}
|
|
30
|
+
: {}),
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
}),
|
|
29
34
|
}, await this.getConfigPath(input.projectRootDir));
|
|
30
35
|
}
|
|
31
36
|
async loadConfig(input) {
|
|
37
|
+
await this.migrateLocalPackageReferences(input.projectRootDir ?? process.cwd());
|
|
32
38
|
const configFilePath = await this.getConfigPath(input.projectRootDir);
|
|
33
39
|
const { data: config, found } = await yaml.load(configFilePath);
|
|
34
40
|
return {
|
|
@@ -59,4 +65,12 @@ export class SimpleConfigManager {
|
|
|
59
65
|
async getConfigPath(rootDir) {
|
|
60
66
|
return getAnyPath(path.join(rootDir ?? process.cwd(), 'hereya.yaml'), path.join(rootDir ?? process.cwd(), 'hereya.yml'));
|
|
61
67
|
}
|
|
68
|
+
async migrateLocalPackageReferences(projectRootDir) {
|
|
69
|
+
const hereyaYamlPath = await this.getConfigPath(projectRootDir);
|
|
70
|
+
if (await fs.stat(hereyaYamlPath).catch(() => false)) {
|
|
71
|
+
let hereyaYamlContent = await fs.readFile(hereyaYamlPath, 'utf8');
|
|
72
|
+
hereyaYamlContent = hereyaYamlContent.replace('local://', 'local/');
|
|
73
|
+
await fs.writeFile(hereyaYamlPath, hereyaYamlContent);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
62
76
|
}
|
|
@@ -13,11 +13,11 @@ export function getPackageManager(protocol) {
|
|
|
13
13
|
return packageManager;
|
|
14
14
|
}
|
|
15
15
|
export async function resolvePackage(input) {
|
|
16
|
-
const isLocal = input.package.startsWith('local
|
|
16
|
+
const isLocal = input.package.startsWith('local/');
|
|
17
17
|
let [owner, repo] = ['', ''];
|
|
18
18
|
if (isLocal) {
|
|
19
|
-
;
|
|
20
|
-
|
|
19
|
+
owner = 'local';
|
|
20
|
+
repo = input.package.replace('local/', '');
|
|
21
21
|
}
|
|
22
22
|
else {
|
|
23
23
|
const pkgParts = input.package.split('/');
|
|
@@ -57,14 +57,14 @@ export async function resolvePackage(input) {
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
export function getPackageCanonicalName(packageName) {
|
|
60
|
-
const isLocal = packageName.startsWith('local
|
|
60
|
+
const isLocal = packageName.startsWith('local/');
|
|
61
61
|
if (isLocal) {
|
|
62
|
-
return packageName.replace('local
|
|
62
|
+
return packageName.replace('local/', 'local--').replace('/', '-');
|
|
63
63
|
}
|
|
64
64
|
return packageName.replace('/', '-');
|
|
65
65
|
}
|
|
66
66
|
export async function downloadPackage(pkgUrl, destPath) {
|
|
67
|
-
const packageManager = getPackageManager(pkgUrl.startsWith('local
|
|
67
|
+
const packageManager = getPackageManager(pkgUrl.startsWith('local/') ? 'local' : '');
|
|
68
68
|
return packageManager.downloadPackage(pkgUrl, destPath);
|
|
69
69
|
}
|
|
70
70
|
export const PackageMetadata = z.object({
|
|
@@ -2,7 +2,7 @@ import fs from 'node:fs/promises';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
export class LocalPackageManager {
|
|
4
4
|
async downloadPackage(pkgUrl, destPath) {
|
|
5
|
-
const
|
|
5
|
+
const source = pkgUrl.replace('local/', '');
|
|
6
6
|
await copyRecursive(source, destPath);
|
|
7
7
|
return destPath;
|
|
8
8
|
}
|
|
@@ -15,7 +15,7 @@ export class LocalPackageManager {
|
|
|
15
15
|
return {
|
|
16
16
|
content,
|
|
17
17
|
found: true,
|
|
18
|
-
pkgUrl: `local
|
|
18
|
+
pkgUrl: `local/${pkgRootDir}`,
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
21
|
return {
|
package/oclif.manifest.json
CHANGED