Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
ca77df3
feat!: replace deprecated Dictionary with SecretStore and ConfigStore
claude Nov 24, 2025
a34e771
Merge remote-tracking branch 'origin/main' into replace-dictionary-wi…
trieloff Nov 24, 2025
eaa03fb
fix: resolve linting errors
claude Nov 24, 2025
abfb453
fix: use fetch() instead of non-existent _fastly.request() in linkRes…
claude Nov 24, 2025
d839332
feat: use separate SecretStores for action and package parameters
claude Nov 24, 2025
9fc2f1a
feat!: remove gateway fallback mechanism
claude Nov 24, 2025
1b26615
feat!: remove obsolete parameter management from FastlyGateway
claude Nov 24, 2025
028e543
feat: update @adobe/fastly-native-promises to 3.1.0
Nov 26, 2025
cc27a8f
refactor: replace home-grown patches with new fastly-native-promises …
Nov 26, 2025
18193ac
refactor: remove unnecessary wrapper functions in ComputeAtEdgeDeployer
Nov 26, 2025
ebf2400
fix: add no-op updatePackage method to FastlyGateway
Nov 26, 2025
e3babbd
fix: handle duplicate resource link errors gracefully
Nov 26, 2025
ef62ee2
fix: regenerate package-lock.json for fastly-native-promises 3.1.0
Nov 26, 2025
e31ff95
Merge branch 'main' into replace-dictionary-with-secretstore-configstore
Nov 26, 2025
b8175a5
fix: resolve eslint warnings for console statements
Nov 26, 2025
f5644c0
fix: improve error handling in fastly-adapter env proxy
Nov 26, 2025
dd13d00
feat: consolidate integration tests and add logging functionality
Nov 26, 2025
e1c642e
fix: replace unreliable httpbin.org with reliable www.aem.live endpoint
Nov 26, 2025
c156823
feat: populate context.func.name in Cloudflare adapter
Nov 26, 2025
0a75ad3
fix: never accept 503 responses in integration tests
Nov 26, 2025
f591c6b
fix: improve coverage reporting in CI to include all tests
Nov 26, 2025
ec9ea44
feat: add explicit credential validation for integration tests
Nov 26, 2025
51b8b3b
fix: remove hardcoded credentials and fix CI environment variable han…
Nov 26, 2025
4d06bf1
refactor: remove redundant edge-integration script
Nov 26, 2025
fd8da3c
cleanup: remove unused logging-example fixture and references
Nov 26, 2025
bc777bc
refactor: simplify CI workflow and remove unnecessary documentation
Nov 27, 2025
9debee7
refactor: move platform detection to edge-index.js and simplify adapters
claude Nov 27, 2025
5ba10fe
feat: extract Fastly runtime helpers into separate mockable module
claude Nov 27, 2025
0e31f27
feat: add fastly:* wildcard to webpack externals
claude Nov 27, 2025
7c338f1
test: add esmock for proper Fastly adapter unit tests
claude Nov 27, 2025
3b99cbe
fix: use @adobe/fetch CacheOverride and reliable URLs in fixture
claude Nov 27, 2025
2e83554
test: add Integration keyword to platform test names
claude Nov 27, 2025
d903e4d
refactor: combine Cloudflare and Fastly deployments into single CLI call
claude Nov 27, 2025
90dfa42
fix: add publicPath to webpack config for Fastly WASM runtime
claude Nov 27, 2025
488ef19
fix: handle secret store race conditions and normalize names
claude Nov 27, 2025
c7a769a
fix: eliminate code splitting to support Fastly runtime
claude Nov 27, 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
10 changes: 10 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Environment variables for local development
# Copy this file to .env and fill in your actual credentials

# Fastly API token for Compute@Edge deployments
# Get this from: https://manage.fastly.com/account/personal/tokens
HLX_FASTLY_AUTH=your_fastly_api_token_here

# Cloudflare API token for Workers deployments
# Get this from: https://dash.cloudflare.com/profile/api-tokens
CLOUDFLARE_AUTH=your_cloudflare_api_token_here
19 changes: 13 additions & 6 deletions .github/workflows/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,17 +24,24 @@ jobs:
- run: npm ci
- run: npm install @adobe/helix-deploy
- run: npm run lint
- run: npm test
- uses: codecov/codecov-action@v5
with:
flags: unittests
token: ${{ secrets.CODECOV_TOKEN }}

- run: npm run integration-ci
# Run unit tests with coverage
- name: Run unit tests
run: npm test

# Run integration tests with coverage
- name: Run integration tests
run: npm run integration-ci
env:
HLX_FASTLY_AUTH: ${{ secrets.HLX_FASTLY_AUTH }}
CLOUDFLARE_AUTH: ${{ secrets.CLOUDFLARE_AUTH }}

# Upload combined coverage after all tests complete
- uses: codecov/codecov-action@v5
with:
flags: unittests,integration
token: ${{ secrets.CODECOV_TOKEN }}

- name: Semantic Release (Dry Run)
run: npm run semantic-release-dry
env:
Expand Down
126 changes: 0 additions & 126 deletions TEST_COVERAGE.md

This file was deleted.

1 change: 1 addition & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ export default defineConfig([
globalIgnores([
'.vscode/*',
'coverage/*',
'test/tmp/*',
]),
{
languageOptions: {
Expand Down
57 changes: 34 additions & 23 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 4 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
"main": "src/index.js",
"type": "module",
"scripts": {
"test": "c8 --exclude 'test/fixtures/**' mocha -i -g Integration",
"integration-ci": "c8 --exclude 'test/fixtures/**' mocha -g Integration",
"test": "c8 --exclude 'test/fixtures/**' --exclude 'src/template/fastly-runtime.js' mocha -i -g Integration",
"integration-ci": "c8 --exclude 'test/fixtures/**' --exclude 'src/template/fastly-runtime.js' mocha -g Integration",
"lint": "eslint .",
"semantic-release": "semantic-release",
"semantic-release-dry": "semantic-release --dry-run --branches $CI_BRANCH",
Expand Down Expand Up @@ -41,6 +41,7 @@
"c8": "10.1.3",
"dotenv": "17.2.3",
"eslint": "9.4.0",
"esmock": "2.7.3",
"fs-extra": "11.3.2",
"husky": "9.1.7",
"lint-staged": "16.2.6",
Expand All @@ -59,7 +60,7 @@
"@adobe/helix-deploy-plugin-webpack": "^1.0.2"
},
"dependencies": {
"@adobe/fastly-native-promises": "3.0.19",
"@adobe/fastly-native-promises": "3.1.0",
"@fastly/js-compute": "3.35.2",
"chalk-template": "1.1.2",
"constants-browserify": "1.0.0",
Expand Down
5 changes: 3 additions & 2 deletions src/CloudflareDeployer.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,14 @@ export default class CloudflareDeployer extends BaseDeployer {
get fullFunctionName() {
return `${this.cfg.packageName}--${this.cfg.name}`
.replace(/\./g, '_')
.replace('@', '_');
.replace('@', '_')
.toLowerCase();
}

async deploy() {
const body = fs.readFileSync(this.cfg.edgeBundle);
const settings = await this.getSettings();
const { id } = await this.createKVNamespace(`${this.cfg.packageName}--secrets`);
const { id } = await this.createKVNamespace(`${this.cfg.packageName}--secrets`.toLowerCase());

const metadata = {
body_part: 'script',
Expand Down
Loading
Loading