@fishawack/lab-env 5.3.0-beta.2 → 5.3.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/.prettierignore CHANGED
@@ -61,4 +61,7 @@ themes/custom/**/*
61
61
  # Craftcms specific
62
62
  templates/content
63
63
  web/
64
- storage/
64
+ storage/
65
+
66
+ # Submodules
67
+ packages/**/*
package/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
1
  ## Changelog
2
2
 
3
+ ### 5.3.0 (2026-02-23)
4
+
5
+ #### Features
6
+
7
+ * can now customize headers for static provisions ([a3bc776](https://bitbucket.org/fishawackdigital/lab-env/commits/a3bc776c6acca3555de4ef5667ffdf9f8b37a518))
8
+ * can now specify redirects for use in cloudfront functions ([67706d7](https://bitbucket.org/fishawackdigital/lab-env/commits/67706d76300fc6743f7a5ceb9bf31748cf8acb31))
9
+ * snyk scans now run on all builds but only fail builds with snyk flag ([03975eb](https://bitbucket.org/fishawackdigital/lab-env/commits/03975eb8c9f0a19535f026f65b547ea76f3743e2))
10
+
11
+ #### Bug Fixes
12
+
13
+ * deprov now correctly removes the response function for static sites ([69fbc2b](https://bitbucket.org/fishawackdigital/lab-env/commits/69fbc2b8f60898d3d33416328752897dff6f752b))
14
+ * ignore submodules found in packages in linting reports ([14b9064](https://bitbucket.org/fishawackdigital/lab-env/commits/14b9064db699a7bd57c33fcb851c7c651c9cead6))
15
+ * issue with lab-env calling lab-env and concatanating repo env variable ([03313c3](https://bitbucket.org/fishawackdigital/lab-env/commits/03313c3c43c793222620170c381af05ec4b1c348))
16
+ * prompt if redirects are needed first ([e087bf0](https://bitbucket.org/fishawackdigital/lab-env/commits/e087bf0f6d86c543f31d9f0c401793222f8f0d9a))
17
+ * set aws client on key command ([3b15512](https://bitbucket.org/fishawackdigital/lab-env/commits/3b15512b168d4ba35871047fd0ea9230cf394804))
18
+ * use correct prod base image on python images ([db0ace4](https://bitbucket.org/fishawackdigital/lab-env/commits/db0ace419e8c635c727aa33330a3156c0956af0b))
19
+
20
+ #### Build Updates
21
+
22
+ * **core/1:** Bumped lab-env-core-1 ([e3e151a](https://bitbucket.org/fishawackdigital/lab-env/commits/e3e151aacb75c360f36f7b8303966a99f1c202d0))
23
+
24
+ ### 5.3.0-beta.3 (2026-02-21)
25
+
26
+ #### Features
27
+
28
+ * snyk scans now run on all builds but only fail builds with snyk flag ([03975eb](https://bitbucket.org/fishawackdigital/lab-env/commits/03975eb8c9f0a19535f026f65b547ea76f3743e2))
29
+
30
+ #### Bug Fixes
31
+
32
+ * ignore submodules found in packages in linting reports ([14b9064](https://bitbucket.org/fishawackdigital/lab-env/commits/14b9064db699a7bd57c33fcb851c7c651c9cead6))
33
+
3
34
  ### 5.3.0-beta.2 (2026-02-20)
4
35
 
5
36
  #### Build Updates
package/_Ai/laravel-12.md CHANGED
@@ -80,12 +80,10 @@ class Post extends Model {
80
80
 
81
81
  **Key conventions:**
82
82
 
83
- - Use `#[ObservedBy([ModelObserver::class])]` attribute for observer registration
84
83
  - Always include `QueryBuilderBindable` trait
85
84
  - Include `SoftDeletes` for most models
86
85
  - Set `public static $queryClass` property
87
86
  - Use enum casting where applicable
88
- - Include author tracking fields (`created_by`, `updated_by`, `deleted_by`)
89
87
 
90
88
  The QueryBuilderBindable trait should resolve route model binding for controller endpoints and contain the following code
91
89
 
@@ -296,50 +294,18 @@ class PostQuery extends QueryBuilder {
296
294
  namespace App\Observers;
297
295
 
298
296
  use App\Models\Post;
299
- use App\Traits\ObservesAuthorChanges;
300
- use App\Enums\AuthorChangeEventTypeEnum;
301
297
 
302
298
  class PostObserver {
303
299
  use ObservesAuthorChanges;
304
300
 
305
- public function created(Post $post): void {
306
- if (auth()->user()) {
307
- $this->observeChanges(
308
- $post,
309
- auth()->user(),
310
- AuthorChangeEventTypeEnum::CREATED
311
- );
312
- }
313
- }
301
+ public function created(Post $post): void {}
314
302
 
315
- public function updated(Post $post): void {
316
- if (auth()->user()) {
317
- $this->observeChanges(
318
- $post,
319
- auth()->user(),
320
- AuthorChangeEventTypeEnum::UPDATED
321
- );
322
- }
323
- }
303
+ public function updated(Post $post): void {}
324
304
 
325
- public function deleted(Post $post): void {
326
- if (auth()->user()) {
327
- $this->observeChanges(
328
- $post,
329
- auth()->user(),
330
- AuthorChangeEventTypeEnum::DELETED
331
- );
332
- }
333
- }
305
+ public function deleted(Post $post): void {}
334
306
  }
335
307
  ```
336
308
 
337
- **Key conventions:**
338
-
339
- - Use `ObservesAuthorChanges` trait
340
- - Check for `auth()->user()` before observing
341
- - Use `AuthorChangeEventTypeEnum` for event types
342
-
343
309
  ### 7. Policy Structure
344
310
 
345
311
  ```php
@@ -349,11 +315,8 @@ namespace App\Policies;
349
315
 
350
316
  use App\Models\Post;
351
317
  use App\Models\User;
352
- use App\Traits\PerformsSubscriptionChecks;
353
318
 
354
319
  class PostPolicy {
355
- use PerformsSubscriptionChecks;
356
-
357
320
  public function viewAny(User $user): bool {
358
321
  return $user->can(PermissionEnum::VIEW_CONTENT->value);
359
322
  }
@@ -378,7 +341,6 @@ class PostPolicy {
378
341
 
379
342
  **Key conventions:**
380
343
 
381
- - Use `PerformsSubscriptionChecks` trait where applicable
382
344
  - Use permission enums for authorization checks
383
345
  - Follow standard policy method names
384
346
 
@@ -525,9 +487,6 @@ fw artisan make:model ModelName
525
487
  # Run PHPUnit tests
526
488
  fw artisan test
527
489
 
528
- # Or run PHPUnit directly
529
- fw ./vendor/bin/phpunit
530
-
531
490
  # Run specific test file
532
491
  fw artisan test --filter TestClassName
533
492
  ```
@@ -535,9 +494,6 @@ fw artisan test --filter TestClassName
535
494
  ### Database Operations
536
495
 
537
496
  ```bash
538
- # Access MySQL console
539
- fw mysql
540
-
541
497
  # Run database commands
542
498
  fw artisan db:seed
543
499
  fw artisan migrate:status
package/commands/test.js CHANGED
@@ -22,6 +22,22 @@ module.exports = [
22
22
  if (_.platform === "adonis") {
23
23
  _.command("node", `node ace test`);
24
24
  }
25
+
26
+ try {
27
+ _.command(
28
+ "core",
29
+ "if [ \"$SNYK_TOKEN\" ]; then snyk auth $SNYK_TOKEN && snyk test --severity-threshold=high; else echo 'SNYK_TOKEN is missing. Skipping Snyk scan.'; fi",
30
+ );
31
+ } catch (e) {
32
+ // Only stop execution if sync set to true in coreConfig; otherwise, log the error and continue
33
+ if (_.coreConfig.attributes.snyk) {
34
+ throw e;
35
+ } else {
36
+ console.log(
37
+ "Snyk found issues, but Snyk is not set to fail the build. Continuing with execution.",
38
+ );
39
+ }
40
+ }
25
41
  });
26
42
  },
27
43
  ];
package/eslint.config.js CHANGED
@@ -59,6 +59,8 @@ module.exports = defineConfig([
59
59
  "storage/",
60
60
  // Python
61
61
  ".venv/",
62
+ // Submodules
63
+ "packages/**/*",
62
64
  ]),
63
65
  {
64
66
  plugins: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fishawack/lab-env",
3
- "version": "5.3.0-beta.2",
3
+ "version": "5.3.0",
4
4
  "description": "Docker manager for FW",
5
5
  "main": "cli.js",
6
6
  "scripts": {
@@ -35,7 +35,7 @@
35
35
  "generate-password": "^1.7.0",
36
36
  "get-port": "5.1.1",
37
37
  "git-branch": "^2.0.1",
38
- "glob": "7.1.7",
38
+ "glob": "^13.0.6",
39
39
  "inquirer": "8.1.2",
40
40
  "lodash": "^4.17.21",
41
41
  "nodemailer": "^6.9.15",
@@ -56,5 +56,7 @@ module.exports = {
56
56
  "storage/**/*",
57
57
  // Python
58
58
  ".venv/**/*",
59
+ // Submodules
60
+ "packages/**/*",
59
61
  ],
60
62
  };