@fishawack/lab-env 5.7.0-beta.6 → 5.7.0-beta.7

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
@@ -1,5 +1,13 @@
1
1
  ## Changelog
2
2
 
3
+ ### 5.7.0-beta.7 (2026-07-03)
4
+
5
+ #### Bug Fixes
6
+
7
+ * added more places where rekey can bypass without project ([44e8ca4](https://bitbucket.org/fishawackdigital/lab-env/commits/44e8ca4ec2a1199d96e857338516628d51cb7e1d))
8
+ * remove boilerplate-vue as option now its deprecated ([e8c097a](https://bitbucket.org/fishawackdigital/lab-env/commits/e8c097af21260c127defb90bb85c0eed224f35c2))
9
+ * rotate email creds before operator iam permissions ([a4f510e](https://bitbucket.org/fishawackdigital/lab-env/commits/a4f510e916912dd199d03e4fde984c4abbb8d931))
10
+
3
11
  ### 5.7.0-beta.6 (2026-07-03)
4
12
 
5
13
  #### Features
@@ -226,6 +226,26 @@ module.exports = [
226
226
  }
227
227
  }
228
228
 
229
+ // Rotate SES email credentials BEFORE rotating the operator's AWS key.
230
+ // The SES client uses fromIni({ profile: 'fishawack' }) which reads the
231
+ // operator's key from ~/.aws/credentials — once that key is rotated below
232
+ // the profile becomes stale and the SES call would fail.
233
+ if (misc.nodemailer?.AWSSES?.username) {
234
+ try {
235
+ const creds = await aws.ses.rotateOperatorSESCredentials(
236
+ operator.username,
237
+ );
238
+ aws.ses.updateMiscNodemailer(creds);
239
+ console.log(
240
+ "\n \u2713 SES email credentials rotated and saved to misc.json\n",
241
+ );
242
+ } catch (err) {
243
+ console.log(
244
+ `\n \u26a0 Failed to rotate SES credentials: ${err.message}\n`,
245
+ );
246
+ }
247
+ }
248
+
229
249
  // Process operator sequentially — must be last per account
230
250
  if (includeOperator) {
231
251
  const operatorBatches = clients.map((client) => ({
@@ -258,23 +278,6 @@ module.exports = [
258
278
  }
259
279
  }
260
280
 
261
- // Rotate SES email credentials (after operator keys so fishawack creds are still valid)
262
- if (misc.nodemailer?.AWSSES?.username) {
263
- try {
264
- const creds = await aws.ses.rotateOperatorSESCredentials(
265
- operator.username,
266
- );
267
- aws.ses.updateMiscNodemailer(creds);
268
- console.log(
269
- "\n \u2713 SES email credentials rotated and saved to misc.json\n",
270
- );
271
- } catch (err) {
272
- console.log(
273
- `\n \u26a0 Failed to rotate SES credentials: ${err.message}\n`,
274
- );
275
- }
276
- }
277
-
278
281
  await outputCredentials(credentials, sendEmail);
279
282
  },
280
283
  ];
@@ -114,10 +114,6 @@ module.exports.templates = [
114
114
  name: "boilerplate",
115
115
  type: "boilerplate",
116
116
  },
117
- {
118
- name: "boilerplate-vue",
119
- type: "boilerplate",
120
- },
121
117
  {
122
118
  name: "boilerplate-wordpress",
123
119
  type: "boilerplate",
package/globals.js CHANGED
@@ -233,6 +233,7 @@ if (composer && composer.require && composer.require["laravel/framework"]) {
233
233
  args[0] !== "new" &&
234
234
  args[0] !== "key" &&
235
235
  args[0] !== "dekey" &&
236
+ args[0] !== "rekey" &&
236
237
  args[0] !== "lint" &&
237
238
  args[0] !== "workspace" &&
238
239
  args[0] !== "prune"
@@ -355,6 +356,7 @@ if (process.env.FW_NEXT || forced) {
355
356
  args[0] !== "new" &&
356
357
  args[0] !== "key" &&
357
358
  args[0] !== "dekey" &&
359
+ args[0] !== "rekey" &&
358
360
  args[0] !== "lint" &&
359
361
  args[0] !== "workspace" &&
360
362
  args[0] !== "prune"
@@ -715,6 +717,7 @@ if (
715
717
  args[0] !== "--help" &&
716
718
  args[0] !== "key" &&
717
719
  args[0] !== "dekey" &&
720
+ args[0] !== "rekey" &&
718
721
  args[0] !== "lint" &&
719
722
  args[0] !== "workspace" &&
720
723
  args[0] !== "prune"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fishawack/lab-env",
3
- "version": "5.7.0-beta.6",
3
+ "version": "5.7.0-beta.7",
4
4
  "description": "Docker manager for FW",
5
5
  "main": "cli.js",
6
6
  "scripts": {