Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
e70eb8c
chore: configure yarn
macalbert Jun 1, 2025
57b3b30
chore: remove .yarnrc.yml and update package.json
macalbert Jun 1, 2025
d708d01
chore: update pack-and-install script to use npx ts-node and add tsco…
macalbert Jun 1, 2025
ea89e94
refactor: add return type annotations to functions in pack-and-instal…
macalbert Jun 1, 2025
db142a2
style: format 'include' property in tsconfig.json for consistency
macalbert Jun 1, 2025
86be2c7
docs: improve readability of usage instructions in README.md
macalbert Jun 1, 2025
c32a554
chore: update workflow names and steps for clarity and consistency
macalbert Jun 2, 2025
855b49f
chore: remove paths filter from pull_request trigger in CodeQL workflow
macalbert Jun 5, 2025
4d2ef55
refactor: change CodeQL analysis language from JavaScript to TypeScript
macalbert Jun 5, 2025
80c3ee6
fix: escape backslashes in environment variable values before writing…
macalbert Jun 5, 2025
88db9c6
fix: ensure proper escaping of backslashes, newlines, and double quot…
macalbert Jun 5, 2025
607751d
refactor: apply modular layered architecture and align tests for futu…
macalbert Jun 7, 2025
afe06b5
test: add end-to-end tests for Envilder CLI and string escaping funct…
macalbert Jun 7, 2025
b510bc2
fix: remove default profile fallback in createEnvilder function
macalbert Jun 7, 2025
a238abf
refactor: simplify SSM initialization in createEnvilder function
macalbert Jun 7, 2025
aa0615e
refactor: rename IStoreSecrets to ISecretProvider and update related …
macalbert Jun 7, 2025
ca9e082
refactor: replace createEnvilderWithAwsSsm with EnvilderBuilder for i…
macalbert Jun 7, 2025
85f4039
refactor: rename EnvilderFactory to EnvilderBuilder and update relate…
macalbert Jun 7, 2025
2a4db49
test(AwsSsmStoreSecrets): Add integration test using localstack + tes…
macalbert Jun 7, 2025
7a9aec6
chore: migrate from yarn to npm in workflows and docs
macalbert Jun 7, 2025
e5442ed
style(tests): reorder import statements for consistency
macalbert Jun 7, 2025
ec86355
refactor: update main entry point in package.json to point to Cli.js
macalbert Jun 7, 2025
b8db375
test(EnvilderBuilder): update test cases for default profile and inva…
macalbert Jun 7, 2025
f423881
test(EnvilderHandler): enhance string escaping assertions in environm…
macalbert Jun 7, 2025
f5a8ab9
refactor(tests): replace AWS SSM mock with ISecretProvider in Envilde…
macalbert Jun 7, 2025
cbf51dc
feat: implement EnvFileManager for environment variable handling and …
macalbert Jun 7, 2025
1ec3ebf
test(EnvilderBuilder): enhance error handling tests for missing provi…
macalbert Jun 7, 2025
fffb659
test(EnvilderHandler): add test for logging masked value of secret pa…
macalbert Jun 7, 2025
a54c7f9
test(Cli): add unit tests for CLI main function with mocked dependencies
macalbert Jun 7, 2025
3378e00
refactor: reorganize imports and enhance error handling in Envilder a…
macalbert Jun 7, 2025
ebd99a1
style: update import statements to include file extensions in Cli.uni…
macalbert Jun 7, 2025
2bd8d88
step to force case (1/2)
macalbert Jun 7, 2025
a5e65f9
step to force case (2/2)
macalbert Jun 7, 2025
5712d89
fix: correct case in bin path for envilder
macalbert Jun 7, 2025
3590456
chore: update local install and test run scripts for consistency
macalbert Jun 7, 2025
dc1e67b
docs: update README to clarify execution of pack-and-install script
macalbert Jun 7, 2025
49d3881
Merge branch 'main' into codex/migrate-javascript-code-to-typescript
macalbert Jun 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 6 additions & 8 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
name: CodeQL
name: 🏰 Fortress Scan (CodeQL)

on:
workflow_dispatch:

pull_request:
branches: [main]
paths:
- ".github/workflows/codeql-analysis.yml"

push:
branches: [main]
Expand All @@ -20,7 +18,7 @@ concurrency:
cancel-in-progress: true

jobs:
analyze:
codeql-fortress:
strategy:
fail-fast: false
matrix:
Expand All @@ -32,18 +30,18 @@ jobs:
runs-on: ubuntu-22.04

steps:
- name: Checkout Repository
- name: 🧱 Enter the Fortress (Checkout Repository)
uses: actions/checkout@v4
with:
lfs: true

- name: Initialize CodeQL
- name: 🏰 Initialize CodeQL (Unlock the Gate)
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}

- name: Autobuild
- name: 🏗️ Autobuild (Build the Bridge)
uses: github/codeql-action/autobuild@v3

- name: Perform CodeQL Analysis
- name: 🔎 Perform CodeQL Analysis (Find the Secret Door)
uses: github/codeql-action/analyze@v3
14 changes: 7 additions & 7 deletions .github/workflows/coverage-report.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: 🔦 code-coverage
name: 🏰 Star Castle Coverage

on:
workflow_dispatch:
Expand All @@ -25,14 +25,14 @@ permissions:
id-token: write

jobs:
build-coverage:
shine-sprite-coverage:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
if: ${{ !github.event.pull_request.draft }}
steps:
- name: Check if PR is created by Dependabot
- name: 👾 Check if PR is created by a Goomba (Dependabot)
id: dependabot-check
run: |
if [[ "${{ github.actor }}" == *dependabot* ]]; then
Expand All @@ -41,7 +41,7 @@ jobs:
echo "is_dependabot=false" >> "$GITHUB_OUTPUT"
fi

- name: 💉 Configure AWS credentials
- name: 🪙 Collect Coins (Configure AWS credentials)
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
Expand All @@ -59,13 +59,13 @@ jobs:
uses: actions/setup-node@v4
with:
node-version: "20.x"
cache: "yarn"
cache: "npm"

- name: 📦 Install dependencies
run: yarn install --frozen-lockfile
run: npm ci

- name: 🔥 Run tests and collect coverage
run: yarn test
run: npm test

- name: Setup Pages
uses: actions/configure-pages@v5
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/markdownlint.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Markdownlint
name: 🏁 Rainbow Road Lint

permissions:
contents: read
Expand Down Expand Up @@ -33,11 +33,11 @@ jobs:

steps:
- uses: actions/checkout@v4
- name: Use Node.js
- name: 🍬 Use Node.js (Eat a Candy)
uses: actions/setup-node@v4
with:
node-version: "22.x"
- name: Run Markdownlint
- name: 🌈 Run Rainbow Road Markdownlint
run: |
echo "::add-matcher::.github/workflows/markdownlint-problem-matcher.json"
npm i -g markdownlint-cli
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@ jobs:
with:
fetch-depth: 0

- name: 🔧 Setup Node.js
- name: 🛠️ Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
registry-url: 'https://registry.npmjs.org'
cache: 'yarn'
cache: 'npm'

- name: 👑 Detect version bump
id: version-check
Expand Down Expand Up @@ -59,23 +59,23 @@ jobs:

- name: 🌟 Install dependencies
if: steps.version-check.outputs.version_changed == 'true'
run: yarn install --frozen-lockfile
run: npm ci

- name: 🔥 Lint
if: steps.version-check.outputs.version_changed == 'true'
run: yarn lint
run: npm run lint

- name: 🍄 Run tests
if: steps.version-check.outputs.version_changed == 'true'
run: yarn test
run: npm test

- name: 🔨 Build package
- name: 🏗️ Build package
if: steps.version-check.outputs.version_changed == 'true'
run: yarn build
run: npm run build

- name: 🚩 Publish to npm
if: steps.version-check.outputs.version_changed == 'true'
run: yarn publish --non-interactive
run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

Expand Down
32 changes: 16 additions & 16 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: 🌱 unit-tests
name: 🍄 1-Up Test Run

on:
workflow_dispatch: {}
Expand All @@ -22,39 +22,39 @@ concurrency:
cancel-in-progress: true

jobs:
envilder-test:
powerup-test:
runs-on: ubuntu-24.04
if: ${{ !github.event.pull_request.draft }}
timeout-minutes: 30

steps:
- name: 🚀 ♂️ Checkout
- name: 🧱 Enter the Pipe (Checkout)
uses: actions/checkout@v4

- name: 🛠️ Setup Node.js with Cache
- name: 🍄 Grab a Mushroom (Setup Node.js with Cache)
uses: actions/setup-node@v4
with:
node-version: '20.x'
cache: 'yarn'
cache: 'npm'

- name: 💉 Configure AWS credentials
- name: 🪙 Collect Coins (Configure AWS credentials)
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: "eu-west-1"

- name: 📦 Install packages
run: yarn install --frozen-lockfile
- name: 📦 Open the ? Block (Install packages)
run: npm ci

- name: 🔍 Run formatting checker
run: yarn format
- name: 🌟 Shine Sprite (Run formatting checker)
run: npm run format

- name: 🔍 Run code quality checker
run: yarn lint
- name: 🏁 Flagpole (Run code quality checker)
run: npm run lint

- name: 🚧 Build
run: yarn build
- name: 🏗️ Build the Castle
run: npm run build

- name: 🚴‍♀️ Run unit tests
run: yarn test
- name: 🏆 Defeat the Boss (Run unit tests)
run: npm test
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,8 @@ DocProject/Help/html
# Click-Once directory
publish/
lib/
dit/
envilder-*.tgz

# Publish Web Output
*.[Pp]ublish.xml
Expand Down Expand Up @@ -358,7 +360,7 @@ MigrationBackup/


pnpm-lock.yaml
package-lock.json
yarn.lock
aws_credentials.env
coverage
coveragereport
Expand Down
5 changes: 1 addition & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,9 +135,6 @@ You'll need:
```bash
# Using npm
npm install -g envilder

# Using yarn
yarn global add envilder
```

## 🚀 Usage
Expand Down Expand Up @@ -265,7 +262,7 @@ Envilder eliminates common problems in development teams:
## 🧪 Running tests

```bash
yarn test
npm test
```

Check the current coverage report: [Coverage Report](https://macalbert.github.io/envilder/)
Expand Down
11 changes: 9 additions & 2 deletions biome.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,14 @@
"$schema": "https://biomejs.dev/schemas/1.8.3/schema.json",
"files": {
"include": ["./src/**", "./tests/**", "./scripts/**"],
"ignore": ["**/node_modules/**", "**/lib/**", "**/dist/**", "**/coverage/**", "**/.lock", "**/.md"]
"ignore": [
"**/node_modules/**",
"**/lib/**",
"**/dist/**",
"**/coverage/**",
"**/.lock",
"**/.md"
]
},
"organizeImports": {
"enabled": true
Expand All @@ -18,7 +25,7 @@
"formatWithErrors": false,
"indentStyle": "space",
"indentWidth": 2,
"lineWidth": 120
"lineWidth": 80
},
"javascript": {
"formatter": {
Expand Down
Loading