Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
492e479
fix: scoped to @znemz/cfn-include to publish 2.0.0
nmccready Nov 6, 2024
eed7ac5
fix: dependency bump CVE serve
nmccready Nov 6, 2024
f0b8710
chore: ci master test
nmccready Nov 6, 2024
95dd1a0
fix(handleIncludeBody): loopTemplate pass on option doEval
nmccready Nov 14, 2024
23ea725
chore(release): 2.0.1
nmccready Nov 14, 2024
a76f524
chore: dependency bumps
nmccready Jan 21, 2025
a2bd7e7
Merge pull request #2 from nmccready/deps_update
nmccready Jan 21, 2025
bb2598e
chore: remove engines from package.json for dependabot
nmccready Jan 21, 2025
8da873b
chore(release): 2.0.2
nmccready Jan 21, 2025
8e6208d
feat: env file support CFN_INCLUDE_(DO_ENV|DO_EVAL)
nmccready Jan 21, 2025
9121cab
chore(release): 2.1.0
Jan 21, 2025
958929a
fix: fail Fn::Eval, Fn::IfEval if opts.doEval is falsy
nmccready Feb 26, 2025
3aa43a8
Merge pull request #11 from nmccready/fix/fail_on_fn_evals_if_not_ena…
nmccready Feb 26, 2025
bdc917b
chore(release): 2.1.1
Feb 26, 2025
ffc2e94
chore(deps-dev): bump sort-package-json from 2.10.1 to 3.2.1
dependabot[bot] May 8, 2025
80e8ea0
chore(deps-dev): bump eslint-config-prettier from 9.1.0 to 10.1.5
dependabot[bot] May 9, 2025
76697b3
Merge pull request #27 from nmccready/dependabot/npm_and_yarn/sort-pa…
nmccready May 12, 2025
a8c9b11
Merge pull request #28 from nmccready/dependabot/npm_and_yarn/eslint-…
nmccready May 12, 2025
783d969
chore(release): 2.1.2
May 12, 2025
272f57c
fix: dependencies eslint
nmccready Sep 1, 2025
d31bf27
Merge pull request #42 from nmccready/fix/dependencies_eslint
nmccready Sep 1, 2025
c70b72a
chore(release): 2.1.3
Sep 1, 2025
91bf850
fix(deps): bump the all group across 1 directory with 10 updates
dependabot[bot] Sep 25, 2025
f70ad71
Merge pull request #45 from nmccready/dependabot/npm_and_yarn/all-cba…
nmccready Nov 6, 2025
aaa0957
chore(release): 2.1.4
Nov 6, 2025
2f4da15
fix(deps): bump the all group across 1 directory with 5 updates
dependabot[bot] Nov 17, 2025
1f1176d
fix: esm support on yargs
nmccready Nov 18, 2025
4f0d1ab
Merge pull request #47 from nmccready/dependabot/npm_and_yarn/all-1b4…
nmccready Nov 18, 2025
e5662e7
chore(release): 2.1.5
Nov 18, 2025
98393d1
fix: safeDump to dump
nmccready Nov 21, 2025
87c2338
chore(release): 2.1.6
Nov 21, 2025
4d2266e
fix(deps): bump the all group across 1 directory with 2 updates
dependabot[bot] Nov 27, 2025
dbb0970
Merge pull request #49 from nmccready/dependabot/npm_and_yarn/all-93e…
nmccready Dec 12, 2025
f44eae0
chore(release): 2.1.7
Dec 12, 2025
bef7a21
chore: npm publish OIDC
nmccready Dec 24, 2025
f45f3c8
chore(release): 2.1.8
Dec 24, 2025
d7a9fad
fix(deps): bump the all group across 1 directory with 10 updates
dependabot[bot] Jan 15, 2026
6084340
chore: engines and bump lockfile
nmccready Jan 17, 2026
45a1cbc
feat: Fn::SubNow
nmccready Jan 17, 2026
9609aa3
chore: disable auto-merge
nmccready Jan 17, 2026
81e6867
feat: Fn::RefNow
nmccready Jan 17, 2026
644bf9d
Merge pull request #56 from brickhouse-tech/dependabot/npm_and_yarn/a…
nmccready Jan 17, 2026
5d7931a
chore(release): 2.1.9
Jan 17, 2026
f45ef98
fix(deps): bump lodash from 4.17.21 to 4.17.23
dependabot[bot] Jan 22, 2026
1fb53b7
Merge pull request #57 from brickhouse-tech/dependabot/npm_and_yarn/l…
nmccready Jan 22, 2026
ad79819
chore(release): 2.1.10
Jan 22, 2026
cfd4740
feat: refNowIgnoreMissing and refNowIgnores for cli for passthrough
nmccready Jan 22, 2026
f16aa8a
Merge pull request #58 from brickhouse-tech/feat/refNowIgnore
nmccready Jan 22, 2026
941aac3
chore(release): 2.1.11
Jan 22, 2026
2a01d82
feat: RefNow LogicalId support
nmccready Jan 22, 2026
8086d48
Merge pull request #59 from brickhouse-tech/feat/refNow/logicalids
nmccready Jan 22, 2026
6c78fff
chore(release): 2.1.12
Jan 22, 2026
f42119e
fix: Fn::RefNow bug fixes
nmccready Jan 22, 2026
b08f54b
Merge pull request #60 from brickhouse-tech/fix/bugs_RefNow
nmccready Jan 22, 2026
de9f926
chore(release): 2.1.13
Jan 22, 2026
06669aa
fix(deps): bump @znemz/cft-utils from 0.1.30 to 0.1.31 in the all group
dependabot[bot] Jan 26, 2026
4568d83
Merge pull request #61 from brickhouse-tech/dependabot/npm_and_yarn/a…
nmccready Jan 27, 2026
94b1ab6
chore(release): 2.1.14
Jan 27, 2026
f0c5bd2
fix(deps): bump the all group with 3 updates
dependabot[bot] Jan 28, 2026
b5aeb8d
Merge pull request #62 from brickhouse-tech/dependabot/npm_and_yarn/a…
nmccready Jan 30, 2026
f36b565
chore(release): 2.1.15
Jan 30, 2026
ca5c7cc
chore: cve fast-xml-parse 5.3.4 override
nmccready Jan 30, 2026
cee8b0e
Merge pull request #63 from brickhouse-tech/fix/cve_fast
nmccready Jan 30, 2026
582a6de
chore(release): 2.1.16
Jan 30, 2026
c10adc7
fix(deps): bump the all group with 2 updates
dependabot[bot] Feb 3, 2026
92f242e
fix(deps): bump @isaacs/brace-expansion from 5.0.0 to 5.0.1
dependabot[bot] Feb 3, 2026
5454456
Merge pull request #65 from brickhouse-tech/dependabot/npm_and_yarn/i…
nmccready Feb 4, 2026
44b7085
chore(release): 2.1.17
Feb 4, 2026
00f5665
Merge pull request #64 from brickhouse-tech/dependabot/npm_and_yarn/a…
nmccready Feb 4, 2026
954986a
chore(release): 2.1.18
Feb 4, 2026
38a7090
docs: add Phase 4 CDK Integration Analysis
nmccready Feb 8, 2026
7bb7670
feat(benchmarks): add Phase 1 performance analysis and benchmark suite
nmccready Feb 8, 2026
3758d4d
docs: add Phase 3 TypeScript Analysis
nmccready Feb 8, 2026
4c3ddc1
docs: clarify scope vs body cloning optimization strategy
nmccready Feb 8, 2026
8257735
fix: lint errors in benchmark-runner.js (trailing commas)
nmccready Feb 8, 2026
6409511
perf: replace globSync with async glob
nmccready Feb 8, 2026
0724a23
perf: add file content cache for Fn::Include
nmccready Feb 8, 2026
0ad6df6
perf: replace simple lodash calls with native alternatives
nmccready Feb 8, 2026
34f2e93
perf: add regex pre-compilation cache in replaceEnv
nmccready Feb 8, 2026
407edba
perf: use Object.create() for O(1) scope creation in Fn::Map
nmccready Feb 8, 2026
a327e79
perf: implement Object.create() scope chain (Problem A fix)
nmccready Feb 8, 2026
fa289ea
Merge pull request #67 from brickhouse-tech/docs/phase1-performance-b…
nmccready Feb 8, 2026
1da7fef
chore(release): 2.1.19
Feb 8, 2026
def9fd2
test: add regression test suite for Phase 1 optimizations
nmccready-tars Feb 8, 2026
d41b8ac
chore: merge master and resolve conflicts (benchmarks/results.json, f…
nmccready-tars Feb 8, 2026
23afa76
fix: add trailing commas for lint compliance
nmccready-tars Feb 8, 2026
8bd6e94
refactor: address PR review feedback
nmccready-tars Feb 8, 2026
465ac93
refactor: remove scope chain optimization for now
nmccready-tars Feb 8, 2026
19832b8
perf: update benchmark results with Phase 1 optimizations
nmccready-tars Feb 8, 2026
be4ccd0
Merge pull request #68 from brickhouse-tech/feat/phase1-optimizations
nmccready Feb 8, 2026
0af3e6e
chore(release): 2.1.20
Feb 8, 2026
22aae96
perf: use Object.create() for O(1) scope creation in Fn::Map
nmccready-tars Feb 8, 2026
5c02001
Merge pull request #70 from brickhouse-tech/feat/lazy-scope-chain
nmccready Feb 8, 2026
24b405f
chore(release): 2.1.21
Feb 8, 2026
9ae7a59
refactor: remove bluebird and path-parse dependencies
nmccready-tars Feb 8, 2026
5a7f277
Merge pull request #71 from brickhouse-tech/feat/phase2-dependency-cl…
nmccready Feb 8, 2026
0d4cf6b
chore(release): 2.1.22
Feb 8, 2026
0ceb431
feat: convert to ES Modules (ESM)
nmccready-tars Feb 8, 2026
d77608a
fix: rename config files to .cjs for ESM compatibility
nmccready-tars Feb 8, 2026
ba70ddb
fix: convert benchmark runner to ESM
nmccready-tars Feb 8, 2026
6a2cfeb
Merge pull request #72 from brickhouse-tech/feat/phase2-esm
nmccready Feb 8, 2026
fa995a7
chore(release): 2.1.23
Feb 8, 2026
4b576b7
feat!: add TypeScript source with build pipeline (Phase 3a)
nmccready-tars Feb 8, 2026
068ef50
Merge pull request #73 from brickhouse-tech/feat/phase3a-typescript
nmccready Feb 8, 2026
ac3a097
chore(release): 2.1.24
Feb 8, 2026
3d0bf89
chore(release): 3.0.0
nmccready-tars Feb 8, 2026
09f848c
fix(ci): detect breaking changes in merge commits
nmccready-tars Feb 8, 2026
98d663c
Merge pull request #74 from brickhouse-tech/fix/release-3.0.0
nmccready Feb 8, 2026
90cd0d8
chore(release): 4.0.0
Feb 8, 2026
56989d3
fix(deps): bump the all group across 1 directory with 7 updates
dependabot[bot] Feb 10, 2026
cdac7f7
Merge pull request #77 from brickhouse-tech/dependabot/npm_and_yarn/a…
nmccready Feb 12, 2026
c73d435
chore(release): 4.0.1
Feb 12, 2026
47ccd3d
feat: migrate tests from Mocha to Vitest + TypeScript (Phase 3b)
nmccready-tars Feb 9, 2026
5b24cdd
Merge pull request #75 from brickhouse-tech/feat/phase3b-vitest-types…
nmccready Feb 14, 2026
25557fb
chore(release): 4.1.0
Feb 14, 2026
96cf8e2
chore: remove legacy JS source files, test runners, and bin/cli.js
Feb 14, 2026
47b33ea
Merge pull request #85 from brickhouse-tech/chore/phase3-cleanup
nmccready Feb 14, 2026
343cc78
chore(release): 4.1.1
Feb 14, 2026
ddd66b6
fix(deps): bump the all group across 1 directory with 7 updates
dependabot[bot] Feb 14, 2026
3d6a39a
fix(deps): add globals and @eslint/js for eslint 10
Feb 14, 2026
c7e76e2
Merge pull request #79 from brickhouse-tech/dependabot/npm_and_yarn/a…
nmccready Feb 14, 2026
8ee470e
chore(release): 4.1.2
Feb 14, 2026
0f35645
docs: fix stale bin/cli.js references to use cfn-include command
Feb 14, 2026
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
5 changes: 0 additions & 5 deletions .eslintignore

This file was deleted.

41 changes: 0 additions & 41 deletions .eslintrc.js

This file was deleted.

2 changes: 1 addition & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
github: monken
github: nmccready
12 changes: 11 additions & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,14 @@ updates:
- package-ecosystem: "npm"
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
interval: "daily"
cooldown:
default-days: 7
groups:
all:
patterns:
- "*"
commit-message: # force conventional commits standard
prefix: fix
prefix-development: chore
include: scope
13 changes: 13 additions & 0 deletions .github/workflows/auto-merge-dependabot.yml_disable
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Auto-merge Dependabot
on: pull_request

jobs:
automerge:
runs-on: ubuntu-latest
if: github.actor == 'dependabot[bot]'
steps:
- uses: peter-evans/enable-pull-request-automerge@v8
with:
token: ${{ secrets.GH_TOKEN || github.token }}
pull-request-number: ${{ github.event.pull_request.number }}
merge-method: squash
52 changes: 26 additions & 26 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
# TODO: ENABLE / UNCOMMENT WHEN NPM_TOKEN IS SET in secrets REPO
# name: publish
name: publish

# on:
# push:
# tags:
# - "v*"
on:
push:
tags:
- "v*"

# jobs:
# tests:
# uses: ./.github/workflows/tests.yml
# publish-npm:
# needs: [tests]
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - name: Use Node.js ${{ matrix.node-version }}
# uses: actions/setup-node@v3
# with:
# node-version: '20.x'
# registry-url: 'https://registry.npmjs.org'
# - name: Publish to npm
# run: |
# npm install
# npm publish --access public
# env:
# NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
# #kick
jobs:
tests:
uses: ./.github/workflows/tests.yml
publish-npm:
needs: [tests]
runs-on: ubuntu-latest
permissions:
id-token: write # Required for OIDC
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v6
with:
node-version: '20.x'
registry-url: 'https://registry.npmjs.org'
- name: Publish to npm
run: | # npm 11.15.1 for OIDC support
npm install -g npm@11
npm ci
npm install
npm publish --access public
95 changes: 58 additions & 37 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,38 +1,59 @@
# TODO: ENABLE / UNCOMMENT WHEN NPM_TOKEN IS SET in secrets REPO
# name: release

# on:
# push:
# branches: ["master"]
# tags-ignore: ['**']

# jobs:
# tests:
# uses: ./.github/workflows/tests.yml
# tag-release:
# runs-on: ubuntu-latest
# needs: [tests]
# steps:
# - uses: actions/checkout@v4
# with: # important, must be defined on checkout to kick publish (defining in setup/node doesn't work)
# token: ${{ secrets.GH_TOKEN }}
# - name: Use Node.js ${{ matrix.node-version }}
# uses: actions/setup-node@v3
# with:
# node-version: '20.x'
# # cache: "npm" # needs lockfile if enabled

# - name: tag release
# run: |
# # ignore if commit message is chore(release): ...
# if [[ $(git log -1 --pretty=%B) =~ ^chore\(release\):.* ]]; then
# echo "Commit message starts with 'chore(release):', skipping release"
# exit 0
# fi
# git config --local user.email "creadbot@github.com"
# git config --local user.name "creadbot_github"
# set -v
# npm install
# npx commit-and-tag-version
# git push
# git push --tags
name: release

on:
push:
branches: ["master"]
tags-ignore: ['**']

jobs:
tests:
uses: ./.github/workflows/tests.yml
tag-release:
runs-on: ubuntu-latest
needs: [tests]
steps:
- uses: actions/checkout@v4
with:
# important, must be defined on checkout to kick publish
token: ${{ secrets.GH_TOKEN }}
# Full history needed for conventional-changelog to detect breaking changes
fetch-depth: 0

- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: '20.x'

- name: tag release
run: |
# ignore if commit message is chore(release): ...
if [[ $(git log -1 --pretty=%B) =~ ^chore\(release\):.* ]]; then
echo "Commit message starts with 'chore(release):', skipping release"
exit 0
fi

git config --local user.email "creadbot@github.com"
git config --local user.name "creadbot_github"

npm install

# Check for breaking changes in commits since last tag
# Look for feat!:, fix!:, or BREAKING CHANGE in commit messages
LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
if [ -n "$LAST_TAG" ]; then
RANGE="$LAST_TAG..HEAD"
else
RANGE="HEAD"
fi

# Check all commits (not just first-parent) for breaking changes
if git log $RANGE --format="%B" | grep -qE "(^[a-z]+!:|BREAKING CHANGE:)"; then
echo "Breaking change detected, forcing major version bump"
npx commit-and-tag-version --release-as major
else
npx commit-and-tag-version
fi

git push
git push --tags
4 changes: 3 additions & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,16 @@ name: tests

on:
workflow_call:
push:
branches: ["master"]
pull_request:
branches: ["master"]

jobs:
test:
strategy:
matrix:
node-version: ['18.x', '20.x', '22.x']
node-version: ['20.x', '22.x', '24.x']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@ tmp
temp

yarn.lock
package-lock.json
# package-lock.json # OIDC
dist/
13 changes: 13 additions & 0 deletions .versionrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"types": [
{"type": "feat", "section": "Features"},
{"type": "fix", "section": "Bug Fixes"},
{"type": "perf", "section": "Performance"},
{"type": "refactor", "section": "Refactor"},
{"type": "test", "section": "Tests"},
{"type": "docs", "section": "Documentation"},
{"type": "chore", "hidden": true}
],
"commitUrlFormat": "https://github.com/brickhouse-tech/cfn-include/commit/{{hash}}",
"compareUrlFormat": "https://github.com/brickhouse-tech/cfn-include/compare/{{previousTag}}...{{currentTag}}"
}
Loading