@fishawack/lab-env 5.4.0-beta.1 → 5.5.0-beta.1
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 +44 -0
- package/_Ai/python-3.md +31 -28
- package/_Ai/workspace-@.md +4 -0
- package/_Test/_fixtures/content/config.json +36 -0
- package/_Test/_fixtures/content/content-0/blah.txt +1 -0
- package/_Test/content.js +517 -0
- package/cli.js +1 -0
- package/commands/content.js +115 -1
- package/commands/create/cmds/provision.js +1 -1
- package/commands/create/libs/aws-cloudfront-request.js +1 -1
- package/commands/create/libs/aws-cloudfront-response.js +1 -1
- package/commands/create/libs/vars.js +4 -0
- package/commands/create/templates/elasticbeanstalk/.platform/httpd/conf.d/security_headers-wordpress.conf +1 -1
- package/commands/create/templates/elasticbeanstalk/.platform/httpd/conf.d/security_headers.conf +1 -1
- package/commands/create/templates/elasticbeanstalk/.platform/nginx/conf.d/security_headers.conf +1 -1
- package/commands/helpers/content-pull.js +209 -0
- package/commands/helpers/content-request.js +223 -0
- package/commands/scan.js +49 -0
- package/commands/test.js +2 -15
- package/commands/workspace.js +160 -63
- package/package.json +3 -1
- package/python/0/docker-compose.yml +13 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,49 @@
|
|
|
1
1
|
## Changelog
|
|
2
2
|
|
|
3
|
+
### 5.5.0-beta.1 (2026-04-13)
|
|
4
|
+
|
|
5
|
+
#### Features
|
|
6
|
+
|
|
7
|
+
* content logic from now moved to lab-env in backwards compatible way ([2d836ce](https://bitbucket.org/fishawackdigital/lab-env/commits/2d836cec5bc9d429b7fdc544c5fc1e8c3b749124))
|
|
8
|
+
* extract snyk scan into standalone fw scan command ([abba628](https://bitbucket.org/fishawackdigital/lab-env/commits/abba628183fa94da5a21a14eb014c13a23036f84))
|
|
9
|
+
* **python:** added healthcheck ([ca6e323](https://bitbucket.org/fishawackdigital/lab-env/commits/ca6e323487aaae201eabe34e5208845585d182d4))
|
|
10
|
+
* **workspace:** support adding and removing projects from existing workspaces ([d70bf41](https://bitbucket.org/fishawackdigital/lab-env/commits/d70bf4130dffe412a15e8d8c6c3e6777daac65d3))
|
|
11
|
+
|
|
12
|
+
#### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* allow blob as default-src on csp ([3cea3d4](https://bitbucket.org/fishawackdigital/lab-env/commits/3cea3d4bbd8bcd0ffdb6293967e4248ed542e8cf))
|
|
15
|
+
* csps now include worker-src with blob and self support ([bbe35b8](https://bitbucket.org/fishawackdigital/lab-env/commits/bbe35b807153d1af53bad0872cc6461b8c39e92f))
|
|
16
|
+
* scans now all run before errors thrown and always tackle lock files ([f212df0](https://bitbucket.org/fishawackdigital/lab-env/commits/f212df0cc1e6d5373c6bffcbde7e4e1ac2784db6))
|
|
17
|
+
* split snyk scans per platform with project-name flag ([7d89539](https://bitbucket.org/fishawackdigital/lab-env/commits/7d895395359e6f9d594e264f9b0bcf2e5a59c3bd))
|
|
18
|
+
|
|
19
|
+
#### Build Updates
|
|
20
|
+
|
|
21
|
+
* added python as boilerplate option ([8695c48](https://bitbucket.org/fishawackdigital/lab-env/commits/8695c48a763f623fe852b029663d8f2d958ba383))
|
|
22
|
+
|
|
23
|
+
### 5.4.0 (2026-03-12)
|
|
24
|
+
|
|
25
|
+
#### Features
|
|
26
|
+
|
|
27
|
+
* added a prune command ([0775617](https://bitbucket.org/fishawackdigital/lab-env/commits/0775617e763d9833e78633df48d5560ac4bb4ea5))
|
|
28
|
+
* added more consistent prune flags to handle all clients and regions at once ([c2ff371](https://bitbucket.org/fishawackdigital/lab-env/commits/c2ff37189aa137291d1dc906b187ab808f0ec3c2))
|
|
29
|
+
* added new cloudfront methods ([8c9acf3](https://bitbucket.org/fishawackdigital/lab-env/commits/8c9acf39899147affb95476fd89b967eea57826c))
|
|
30
|
+
* created prune command for cloudfront and application version pruning ([be3ba54](https://bitbucket.org/fishawackdigital/lab-env/commits/be3ba5468187e5733a94e0bd266c8dfc2748e821))
|
|
31
|
+
* ignore double dollar for webdriverio shorthand ([044c457](https://bitbucket.org/fishawackdigital/lab-env/commits/044c4570c1d09161eb97835e9d1947d046866e1a))
|
|
32
|
+
|
|
33
|
+
#### Bug Fixes
|
|
34
|
+
|
|
35
|
+
* add missing elasticcache permission on eb managed update profile ([a21bf3d](https://bitbucket.org/fishawackdigital/lab-env/commits/a21bf3de4e4014adde912711e7d47ed9b25904f2))
|
|
36
|
+
* add retrys and backoff and store the client and region on delete command ([36024b9](https://bitbucket.org/fishawackdigital/lab-env/commits/36024b96fe1ba42054efd280c08cb411dfc9a16e))
|
|
37
|
+
* added elastic cache to fulsltack deploy permissions ([c94dc47](https://bitbucket.org/fishawackdigital/lab-env/commits/c94dc47a971a6fe6818127573d306a9bcf28b19f))
|
|
38
|
+
* own venv dir so ci can remove correcty ([9b42c77](https://bitbucket.org/fishawackdigital/lab-env/commits/9b42c7729411142101b2f5b2f07f79a5b8363178))
|
|
39
|
+
* python now maps like other containers with user and ssh for private packages ([fb04737](https://bitbucket.org/fishawackdigital/lab-env/commits/fb047378844d44b5f79dc67e0d089819cfdde82f))
|
|
40
|
+
* remove client from iam signature as it broke permissions ([777f58f](https://bitbucket.org/fishawackdigital/lab-env/commits/777f58fa20403940ba2cd6cb4aa384fbf7f4553a))
|
|
41
|
+
|
|
42
|
+
#### Build Updates
|
|
43
|
+
|
|
44
|
+
* bumped fishawack/lab-env-python-0 to 1.1.0 ([db2ffd1](https://bitbucket.org/fishawackdigital/lab-env/commits/db2ffd1a9fe9be7029fc1b434072bbbccaa670b4))
|
|
45
|
+
* bumped fishawack/lab-env-python-0 to 1.1.1 ([9a70106](https://bitbucket.org/fishawackdigital/lab-env/commits/9a70106dd9778ee23ab04039eed692788b7199c8))
|
|
46
|
+
|
|
3
47
|
### 5.4.0-beta.1 (2026-03-12)
|
|
4
48
|
|
|
5
49
|
#### Features
|
package/_Ai/python-3.md
CHANGED
|
@@ -1,42 +1,45 @@
|
|
|
1
1
|
---
|
|
2
|
-
applyTo: "
|
|
2
|
+
applyTo: "**/*.py"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# Python Project Instructions
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Package Management
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Uses **uv** (not pip). Dependencies defined in `pyproject.toml` with `uv.lock`. No `requirements.txt`.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
All commands run through the `fw` container orchestration manager:
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
- The project uses FastAPI and Uvicorn for the web server. Upon running the project, it will be accessible at `http://localhost:3000` and it'll keep running as long as the process is active. For easier development, pipe the output to a log file.
|
|
20
|
-
- The project must always try to stay stateless and handle requests with in-memory processing whenever possible.
|
|
21
|
-
- The project must always fail gracefully and return appropriate error messages.
|
|
13
|
+
```bash
|
|
14
|
+
fw uv add <dep> # Add a dependency
|
|
15
|
+
fw uv add --dev <dep> # Add a dev dependency
|
|
16
|
+
fw uv sync # Install/sync all dependencies
|
|
17
|
+
fw uv run <command> # Run a command in the project environment
|
|
18
|
+
```
|
|
22
19
|
|
|
23
|
-
##
|
|
20
|
+
## Stack
|
|
24
21
|
|
|
25
|
-
|
|
22
|
+
- Python >=3.13 with FastAPI + Uvicorn
|
|
23
|
+
- `.env` loaded via `python-dotenv`
|
|
24
|
+
- Stateless request handling; fail gracefully with appropriate error responses
|
|
26
25
|
|
|
27
|
-
|
|
28
|
-
# Update dependencies
|
|
29
|
-
pip install -r ./src/requirements.txt
|
|
26
|
+
## Project Structure
|
|
30
27
|
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
- Entry point: `src/main.py`
|
|
29
|
+
- Routes: `src/routes/`
|
|
30
|
+
- Tests: `tests/` (run with `fw uv run pytest`)
|
|
31
|
+
- Dev dependencies in `[dependency-groups.dev]` of `pyproject.toml`
|
|
33
32
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
## Tests
|
|
34
|
+
|
|
35
|
+
You can run tests via
|
|
36
|
+
|
|
37
|
+
`fw test`
|
|
38
|
+
|
|
39
|
+
or an individual test file with
|
|
40
|
+
|
|
41
|
+
`fw uv run pytest -o log_cli=true tests/integration/test_middleware.py`
|
|
37
42
|
|
|
38
|
-
|
|
43
|
+
or a single test within that file with
|
|
39
44
|
|
|
40
|
-
|
|
41
|
-
- **Routes**: API routes are defined in `./src/routes/*.py`
|
|
42
|
-
- **Connectors**: LLM Connectors are defined in `./src/connectors/*.py`
|
|
45
|
+
`fw uv run pytest -o log_cli=true tests/integration/test_middleware.py -k 'test_001'`
|
package/_Ai/workspace-@.md
CHANGED
|
@@ -9,3 +9,7 @@ Backends are typically named with the pattern \*-api.
|
|
|
9
9
|
Frontends are typically named with the pattern \*-fe. or with no suffix.
|
|
10
10
|
|
|
11
11
|
Ensure you cd into the correct directory before running any terminal commands.
|
|
12
|
+
|
|
13
|
+
## Commits
|
|
14
|
+
|
|
15
|
+
When a feature is complete always suggest the conventional commit that summarizes the changes.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"attributes": {
|
|
3
|
+
"src": "_Build",
|
|
4
|
+
"targets": {
|
|
5
|
+
"aws-s3": {
|
|
6
|
+
"content": [{ "aws-s3": "fishawack", "location": "core-test-suite-content" }]
|
|
7
|
+
},
|
|
8
|
+
"aws-s3-nested": {
|
|
9
|
+
"content": [{ "aws-s3": "fishawack", "location": "core-test-suite-content/nested" }]
|
|
10
|
+
},
|
|
11
|
+
"aws-s3-key": {
|
|
12
|
+
"content": [{ "aws-s3": "fishawack", "location": "core-test-suite-content", "key": "custom-key" }]
|
|
13
|
+
},
|
|
14
|
+
"aws-s3-sync": {
|
|
15
|
+
"content": [{ "aws-s3": "fishawack", "location": "core-test-suite-content", "key": "custom-key", "sync": true }]
|
|
16
|
+
},
|
|
17
|
+
"contentful": {
|
|
18
|
+
"content": [{ "url": "https://cdn.contentful.com/", "api": "spaces/hnifelsg7djt/environments/master/entries?access_token=-_qKPGeSi_ksTsXJd9o9KZdl-jdxZTDd_E9gjLS4QHY&content_type=", "type": "contentful", "bundle": true, "find": "\/\/images.ctfassets.net\/(.*?)\/(.*?)\/(.*?)\/", "endpoints": ["layout", "layoutCopy", "lessonImage"] }]
|
|
19
|
+
},
|
|
20
|
+
"empty": { "content": [] },
|
|
21
|
+
"handover": {},
|
|
22
|
+
"ftp-legacy": {
|
|
23
|
+
"content": [{ "ftp": "ftp-fishawack.egnyte.com", "location": "Shared/FW/Knutsford/Digital/Auto-Content/test-shared/" }]
|
|
24
|
+
},
|
|
25
|
+
"single": {
|
|
26
|
+
"content": [{ "aws-s3": "fishawack", "location": "core-test-suite-content" }]
|
|
27
|
+
},
|
|
28
|
+
"double": {
|
|
29
|
+
"content": [
|
|
30
|
+
{ "aws-s3": "fishawack", "location": "core-test-suite-content" },
|
|
31
|
+
{ "aws-s3": "fishawack", "location": "core-test-suite-content", "key": "custom-key" }
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
blah
|