@reventlessdev/reventless-aws 3.0.0-alpha.423 → 3.0.0-alpha.424

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/CHANGELOG.md CHANGED
@@ -3,6 +3,13 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # 3.0.0-alpha.424 (2026-11-06)
7
+
8
+ ### Bug Fixes
9
+
10
+ * **deps:** update sury to 11.1.0 ([512bc78](https://github.com/ReventlessDev/reventless-core/commit/512bc78da92c03664fa52fb3ab32df65f5e49b19))
11
+
12
+
6
13
  # 3.0.0-alpha.423 (2026-11-05)
7
14
 
8
15
  ### Bug Fixes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reventlessdev/reventless-aws",
3
- "version": "3.0.0-alpha.423",
3
+ "version": "3.0.0-alpha.424",
4
4
  "description": "AWS adapters for Reventless",
5
5
  "license": "Apache-2.0",
6
6
  "bin": {
@@ -19,26 +19,26 @@
19
19
  "@aws-sdk/client-location": "3.970.0",
20
20
  "@aws-sdk/client-s3": "3.970.0",
21
21
  "@aws-sdk/s3-request-presigner": "3.970.0",
22
- "sury": "11.0.0",
22
+ "sury": "11.1.0",
23
23
  "uuid": "^13.0.0",
24
24
  "yaml": "^2.8.3",
25
25
  "@reventlessdev/rescript-aws-sdk": "3.0.0-alpha.39",
26
26
  "@reventlessdev/rescript-effect": "1.0.0-alpha.1",
27
+ "@reventlessdev/rescript-pulumi-aws": "3.0.0-alpha.40",
27
28
  "@reventlessdev/rescript-jest": "1.0.0-alpha.13",
28
- "@reventlessdev/rescript-pulumi-aws": "3.0.0-alpha.39",
29
29
  "@reventlessdev/rescript-node": "2.0.0-alpha.26",
30
- "@reventlessdev/rescript-uuid": "2.0.0-alpha.1",
31
30
  "@reventlessdev/rescript-pulumi-pulumi": "3.0.0-alpha.0",
31
+ "@reventlessdev/rescript-uuid": "2.0.0-alpha.1",
32
+ "@reventlessdev/reventless-core": "3.0.0-alpha.331",
33
+ "@reventlessdev/reventless-infra": "3.0.0-alpha.224",
34
+ "@reventlessdev/reventless-interop": "3.0.0-alpha.43",
35
+ "@reventlessdev/reventless-postgres": "3.0.0-alpha.195",
32
36
  "@reventlessdev/rescript-web": "1.0.0-alpha.8",
33
- "@reventlessdev/reventless-core": "3.0.0-alpha.330",
34
- "@reventlessdev/reventless-infra": "3.0.0-alpha.223",
35
- "@reventlessdev/reventless-interop": "3.0.0-alpha.42",
36
- "@reventlessdev/reventless-spec": "3.0.0-alpha.194",
37
- "@reventlessdev/reventless-postgres": "3.0.0-alpha.194"
37
+ "@reventlessdev/reventless-spec": "3.0.0-alpha.195"
38
38
  },
39
39
  "devDependencies": {
40
40
  "rescript": "12.3.1",
41
- "sury-ppx": "11.0.0"
41
+ "sury-ppx": "11.1.0"
42
42
  },
43
43
  "peerDependencies": {
44
44
  "rescript": "^12.3.1"
@@ -495,22 +495,30 @@ let outputString = (outputs: dict<Automation.outputValue>, name: string): option
495
495
  /** The stack's own accounts file beside the platform, started from the app's
496
496
  template, or `None` when the app has no template — then there is nothing to
497
497
  create. Per stack because the file records the ids one pool minted: sharing
498
- `accounts.yaml` would overwrite another deployment's record of its accounts. A stack deployed
499
- before the file was renamed keeps its `users.<stack>.yaml` until it is renamed. */
498
+ `accounts.yaml` would overwrite another deployment's record of its accounts. */
500
499
  let accountsFileName = stack => `accounts.${stack}.yaml`
501
- let oldAccountsFileName = stack => `users.${stack}.yaml`
502
500
 
503
- let accountsFile = (~platformDir: string, ~stack: string): option<string> => {
504
- let file = {
505
- let current = NodePath.join([platformDir, ".reventless", accountsFileName(stack)])
506
- let old = NodePath.join([platformDir, ".reventless", oldAccountsFileName(stack)])
507
- if !NodeFs.existsSync(current) && NodeFs.existsSync(old) {
508
- Manifest.noticeOldName(old)
509
- old
510
- } else {
511
- current
512
- }
501
+ let _accountsPath = (~platformDir, ~stack) =>
502
+ NodePath.join([platformDir, ".reventless", accountsFileName(stack)])
503
+
504
+ /** The refusal when the stack's record or the template is still under its old name. Checked
505
+ before deploying: copying the template over a record left as `users.<stack>.yaml` would
506
+ lose the ids its pool minted. */
507
+ let oldAccountsNameLeft = (~platformDir: string, ~stack: string): option<string> =>
508
+ switch Manifest.oldNameLeft(
509
+ ~current=_accountsPath(~platformDir, ~stack),
510
+ ~old=NodePath.join([platformDir, ".reventless", `users.${stack}.yaml`]),
511
+ ) {
512
+ | Some(_) as refusal => refusal
513
+ | None =>
514
+ Manifest.oldNameLeft(
515
+ ~current=NodePath.join([platformDir, Manifest.templateName]),
516
+ ~old=NodePath.join([platformDir, Manifest.oldTemplateName]),
517
+ )
513
518
  }
519
+
520
+ let accountsFile = (~platformDir: string, ~stack: string): option<string> => {
521
+ let file = _accountsPath(~platformDir, ~stack)
514
522
  let template = Manifest.templateIn(platformDir)
515
523
  switch (NodeFs.existsSync(file), NodeFs.existsSync(template)) {
516
524
  | (false, false) => None
@@ -533,7 +541,12 @@ let signInLines = (entries: array<Manifest.entry>): array<string> => {
533
541
  // ── up / down ────────────────────────────────────────────────────────────────
534
542
 
535
543
  let up = async (~manifest: DeployManifest.resolved, ~stack: string): result<unit, string> =>
536
- switch projectsOf(manifest) {
544
+ switch projectsOf(manifest)->Result.flatMap(((platform, _) as projects) =>
545
+ switch oldAccountsNameLeft(~platformDir=platform.dir, ~stack) {
546
+ | Some(refusal) => Error(refusal)
547
+ | None => Ok(projects)
548
+ }
549
+ ) {
537
550
  | Error(_) as e => e
538
551
  | Ok((platform, plugins)) =>
539
552
  switch await check(~projects=[platform]->Array.concat(plugins)) {
@@ -614,14 +614,21 @@ function accountsFileName(stack) {
614
614
  return `accounts.` + stack + `.yaml`;
615
615
  }
616
616
 
617
- function oldAccountsFileName(stack) {
618
- return `users.` + stack + `.yaml`;
617
+ function _accountsPath(platformDir, stack) {
618
+ return Nodepath.join(platformDir, ".reventless", accountsFileName(stack));
619
+ }
620
+
621
+ function oldAccountsNameLeft(platformDir, stack) {
622
+ let refusal = AccountsManifest$Reventless.oldNameLeft(_accountsPath(platformDir, stack), Nodepath.join(platformDir, ".reventless", `users.` + stack + `.yaml`));
623
+ if (refusal !== undefined) {
624
+ return refusal;
625
+ } else {
626
+ return AccountsManifest$Reventless.oldNameLeft(Nodepath.join(platformDir, AccountsManifest$Reventless.templateName), Nodepath.join(platformDir, AccountsManifest$Reventless.oldTemplateName));
627
+ }
619
628
  }
620
629
 
621
630
  function accountsFile(platformDir, stack) {
622
- let current = Nodepath.join(platformDir, ".reventless", accountsFileName(stack));
623
- let old = Nodepath.join(platformDir, ".reventless", oldAccountsFileName(stack));
624
- let file = !Nodefs.existsSync(current) && Nodefs.existsSync(old) ? (AccountsManifest$Reventless.noticeOldName(old), old) : current;
631
+ let file = _accountsPath(platformDir, stack);
625
632
  let template = AccountsManifest$Reventless.templateIn(platformDir);
626
633
  let match = Nodefs.existsSync(file);
627
634
  let match$1 = Nodefs.existsSync(template);
@@ -645,7 +652,20 @@ function signInLines(entries) {
645
652
  }
646
653
 
647
654
  async function up(manifest, stack) {
648
- let e = projectsOf(manifest);
655
+ let e = Stdlib_Result.flatMap(projectsOf(manifest), projects => {
656
+ let refusal = oldAccountsNameLeft(projects[0].dir, stack);
657
+ if (refusal !== undefined) {
658
+ return {
659
+ TAG: "Error",
660
+ _0: refusal
661
+ };
662
+ } else {
663
+ return {
664
+ TAG: "Ok",
665
+ _0: projects
666
+ };
667
+ }
668
+ });
649
669
  if (e.TAG !== "Ok") {
650
670
  return e;
651
671
  }
@@ -952,7 +972,8 @@ export {
952
972
  deploy,
953
973
  outputString,
954
974
  accountsFileName,
955
- oldAccountsFileName,
975
+ _accountsPath,
976
+ oldAccountsNameLeft,
956
977
  accountsFile,
957
978
  signInLines,
958
979
  up,