Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
9b19bef
Merge tag 'v0.2.0' into develop
addon-owner Aug 14, 2025
503b4b8
Update dependencies, refactor remote config, and introduce hooks
RostyslavNihrutsa Oct 16, 2025
c4d9c05
feat: update dependencies, refactor remote config, and introduce hooks
RostyslavNihrutsa Oct 16, 2025
4ce4981
Merge remote-tracking branch 'origin/develop' into develop
RostyslavNihrutsa Oct 16, 2025
ea309ca
feat: add manifest support for remote config host permissions
RostyslavNihrutsa Oct 16, 2025
dd5908c
chore: merge pull request #2 from RostyslavNihrutsa/develop
addon-owner Oct 16, 2025
f9cdc01
fix: replace Promise.allSettled with sequential calls in RemoteConfig…
RostyslavNihrutsa Oct 16, 2025
1f7cb20
chore: merge pull request #3 from RostyslavNihrutsa/develop
addon-owner Oct 16, 2025
505b56e
refactor: organize imports and improve type usage
Oct 16, 2025
e463231
perf(config): replace Prettier with Biome for standardization
Oct 16, 2025
f0592d0
feat: enhance TypeScript and build configuration
Oct 16, 2025
456efdb
feat(husky): add Husky hooks for pre-commit, commit-msg, and pre-push
Oct 16, 2025
d62a783
ci: add GitHub Actions workflows for CI and release automation
Oct 16, 2025
0f00fbb
ci(fix): update build step to run `build:types` instead of `build`
Oct 16, 2025
37d6b8a
ci(fix): update Node.js versions in CI and release workflows
Oct 16, 2025
a20c073
docs: update badges, usage instructions, and add license and security…
Oct 16, 2025
b2825e1
refactor(types): simplify `import` for type-only modules
Oct 16, 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
5 changes: 5 additions & 0 deletions .commitlintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"extends": [
"@commitlint/config-conventional"
]
}
6 changes: 6 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Enforce LF for all text files
* text=auto eol=lf

# Keep Windows command scripts with CRLF line endings
*.bat text eol=crlf
*.cmd text eol=crlf
83 changes: 83 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: CI

on:
push:
branches:
- develop
- 'feature/**'
pull_request:
branches:
- develop
- 'feature/**'
workflow_call:
inputs:
full:
description: 'Run full OS x Node matrix'
required: false
type: boolean
default: false

jobs:
compute-matrix:
name: Compute matrix
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set.outputs.matrix }}
name_suffix: ${{ steps.set.outputs.name_suffix }}
steps:
- id: set
run: |
if [[ "${{ inputs.full }}" == "true" ]]; then
echo 'matrix={"os":["ubuntu-latest","windows-latest"],"node":[22,24]}' >> $GITHUB_OUTPUT
echo 'name_suffix=(full matrix)' >> $GITHUB_OUTPUT
else
echo 'matrix={"os":["ubuntu-latest"],"node":[22]}' >> $GITHUB_OUTPUT
echo 'name_suffix=' >> $GITHUB_OUTPUT
fi

build-and-test:
name: Build, Lint, Test ${{ needs.compute-matrix.outputs.name_suffix }}
needs: compute-matrix
runs-on: ${{ matrix.os }}
permissions:
contents: read
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.compute-matrix.outputs.matrix) }}
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Configure git EOL (Windows)
if: runner.os == 'Windows'
run: |
git config core.autocrlf false
git config core.eol lf

- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: npm

- name: Install dependencies
run: npm ci

- name: Lint
run: npm run lint

- name: Typecheck
run: npm run typecheck

- name: Test
run: npm run test:ci

- name: Build
run: npm run build:types

- name: Upload coverage artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: coverage-${{ matrix.os }}-node${{ matrix.node }}
path: coverage
97 changes: 97 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
name: Release

on:
push:
branches:
- main
workflow_dispatch:
inputs:
version:
description: 'Exact version to release (e.g. 1.2.3). Leave empty to auto-bump.'
required: false
type: string
preid:
description: 'Pre-release identifier (e.g. beta, rc). Optional'
required: false
type: string
npm_tag:
description: 'npm dist-tag (e.g. latest, beta)'
required: false
default: 'latest'
type: string

permissions:
contents: write
id-token: write

jobs:
ci:
name: CI
uses: ./.github/workflows/ci.yml
with:
full: true

release:
name: Release & Publish
runs-on: ubuntu-latest
needs: ci
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true

- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: 'npm'
registry-url: 'https://registry.npmjs.org'
always-auth: true

- name: Install dependencies
run: npm ci

- name: Configure Git user
run: |
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"

- name: Run release-it
env:
DEBUG: release-it:*,@release-it/*
HUSKY: 0
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
VERSION_ARG=""
if [ -n "${{ inputs.version }}" ]; then
VERSION_ARG="${{ inputs.version }}"
fi

PREID_ARG=""
if [ -n "${{ inputs.preid }}" ]; then
PREID_ARG="--preRelease=${{ inputs.preid }}"
fi

if [ -n "${{ inputs.npm_tag }}" ]; then
NPM_TAG="${{ inputs.npm_tag }}"
else
NPM_TAG="latest"
fi
NPM_TAG_ARG="--npm.tag=${NPM_TAG}"

npm run release -- --ci $PREID_ARG $NPM_TAG_ARG $VERSION_ARG

- name: Sync main → develop
uses: devmasx/merge-branch@v1.4.0
with:
type: now
from_branch: main
target_branch: develop
github_token: ${{ secrets.GITHUB_TOKEN }}
env:
HUSKY: 0

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,12 @@ lerna-debug.log*

node_modules
dist
dist-types
addon
.adnbn
dist-ssr
*.local
coverage

# Editor directories and files
.vscode/*
Expand Down
5 changes: 5 additions & 0 deletions .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env sh

# Husky commit-msg hook: validate commit message with commitlint

npx --no -- commitlint --edit "$1"
7 changes: 7 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/usr/bin/env sh

# Husky pre-commit hook: format and run related tests on staged files

npm run lint:fix:aggressive || exit 1;
npm run test || exit 1;
npm run format || exit 1;
7 changes: 7 additions & 0 deletions .husky/pre-push
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/usr/bin/env sh

# Husky pre-push hook: typecheck, run full tests, and build

npm run typecheck || exit 1
npm run test:ci || exit 1
npm run build:types || exit 1
2 changes: 2 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Addon Stack <191148085+addon-stack@users.noreply.github.com> <addonbonedev@gmail.com>
Addon Stack <addon-stack@users.noreply.github.com> <addonbonedev@gmail.com>
3 changes: 0 additions & 3 deletions .prettierignore

This file was deleted.

21 changes: 0 additions & 21 deletions .prettierrc

This file was deleted.

Loading