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 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.26.0 linux-x64 node-v22.14.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.26.0/src/commands/add/index.ts)_
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.26.0/src/commands/bootstrap/index.ts)_
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.26.0/src/commands/deploy/index.ts)_
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.26.0/src/commands/down/index.ts)_
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.26.0/src/commands/env/index.ts)_
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.26.0/src/commands/env/set/index.ts)_
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.26.0/src/commands/init/index.ts)_
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.26.0/src/commands/remove/index.ts)_
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.26.0/src/commands/run/index.ts)_
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.26.0/src/commands/unbootstrap/index.ts)_
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.26.0/src/commands/undeploy/index.ts)_
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.26.0/src/commands/up/index.ts)_
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.26.0/src/commands/workspace/create/index.ts)_
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.26.0/src/commands/workspace/delete/index.ts)_
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.26.0/src/commands/workspace/env/index.ts)_
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.26.0/src/commands/workspace/env/set/index.ts)_
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.26.0/src/commands/workspace/env/unset/index.ts)_
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.26.0/src/commands/workspace/install/index.ts)_
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.26.0/src/commands/workspace/list/index.ts)_
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.26.0/src/commands/workspace/uninstall/index.ts)_
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 -->
@@ -17,6 +17,7 @@ export declare class LocalBackend implements Backend {
17
17
  private getOldProjectStatePath;
18
18
  private getProjectStatePath;
19
19
  private getWorkspacePath;
20
+ private migrateLocalPackageReferences;
20
21
  private migrateProjectState;
21
22
  private saveWorkspace;
22
23
  }
@@ -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);
@@ -5,4 +5,5 @@ export declare class SimpleConfigManager implements ConfigManager {
5
5
  removePackage(input: RemovePackageInput): Promise<void>;
6
6
  saveConfig(input: SaveConfigInput): Promise<void>;
7
7
  private getConfigPath;
8
+ private migrateLocalPackageReferences;
8
9
  }
@@ -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
- deploy: {
11
- ...config.deploy,
12
- [input.package]: {
13
- version: '',
14
- }
10
+ ...(input.metadata.deploy
11
+ ? {
12
+ deploy: {
13
+ ...config.deploy,
14
+ [input.package]: {
15
+ version: '',
16
+ },
17
+ },
15
18
  }
16
- } : {
17
- packages: {
18
- ...config.packages,
19
- [input.package]: {
20
- version: '',
21
- ...(input.metadata.onDeploy ? {
22
- onDeploy: {
23
- ...input.metadata.onDeploy,
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
- [owner, repo] = input.package.split('://');
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://', 'local--').replace('/', '-');
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://') ? '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 [, source] = pkgUrl.split('://');
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://${pkgRootDir}`,
18
+ pkgUrl: `local/${pkgRootDir}`,
19
19
  };
20
20
  }
21
21
  return {
@@ -1006,5 +1006,5 @@
1006
1006
  ]
1007
1007
  }
1008
1008
  },
1009
- "version": "0.26.0"
1009
+ "version": "0.27.0"
1010
1010
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "hereya-cli",
3
3
  "description": "Infrastructure as Package",
4
- "version": "0.26.0",
4
+ "version": "0.27.0",
5
5
  "author": "Hereya Developers",
6
6
  "bin": {
7
7
  "hereya": "./bin/run.js"