Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
110ea5f
feat(performance): improved parsing performance of DWG Reader and add…
jvnvr Apr 20, 2026
017c3ac
chore(build): Update package.lock
jvnvr Apr 20, 2026
fc5c2da
fix(read): reset on iteration
jvnvr Apr 20, 2026
694909c
feat(build): added github actions release setup to publish to npm
jvnvr Apr 20, 2026
4e3c2a9
bump(version) v0.0.4 and added npm publish
jvnvr Apr 20, 2026
8bd22cb
feat(build): force node 24 or greater
jvnvr Apr 20, 2026
3b713dc
feat(build): updated package-lock.json
jvnvr Apr 20, 2026
a1b1214
feat(build): upgraded to github actions v6
jvnvr Apr 20, 2026
36b5b01
feat(build): refactored github workflows
jvnvr Apr 20, 2026
78102ad
feat(build): removed tests temporarily
jvnvr Apr 21, 2026
d5f26a4
feat(build): removed ci
jvnvr Apr 21, 2026
ce2c0cb
feat(build): added tsconfig for vitest and bumped package versions
jvnvr Apr 21, 2026
d18ec4b
fix(build): release workflow, skip failed test, package.json update
jvnvr Apr 21, 2026
36d6a87
fix(build): typo
jvnvr Apr 21, 2026
8050e53
fix(build)
jvnvr Apr 21, 2026
4cb7085
bump version
jvnvr Apr 21, 2026
a4e68db
fix(build): out of heap memory during tests
jvnvr Apr 21, 2026
c973414
fix(dwgread): OOM when reading large file
jvnvr Apr 21, 2026
edf5aad
fix(read): fix read dwg layers
jvnvr Jun 4, 2026
27118c4
bump version
jvnvr Jun 4, 2026
2558415
fix(tests): fixed tests
jvnvr Jun 4, 2026
9aa3552
fix(init): initialize dictionaries and update VPort ambient color
jvnvr Jun 5, 2026
9f90bc0
fix(dwg): increase SummaryInfo section page size to prevent data corr…
jvnvr Jun 5, 2026
7dadae9
chore: update .gitignore for macos files
jvnvr Jun 5, 2026
1de1160
fix(dwg): share text-reader cursor for pre-2010 object reads
jvnvr Jun 11, 2026
1059aff
Merge pull request #1 from jvnvr/fix-read
jvnvr Jun 12, 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
45 changes: 45 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Publish to npm

on:
push:
tags:
- 'v*'
workflow_dispatch:

jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v6

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '24'
registry-url: 'https://registry.npmjs.org'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Validate version matches tag
run: node scripts/validate-version.js
env:
GITHUB_REF_NAME: ${{ github.ref_name }}

- name: Build
run: npm run build

- name: Publish to npm
run: npm publish --provenance --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Publish Success
if: success()
run: |
echo "✅ Successfully published @jvnvr/acad-ts@$(node -p "require('./package.json').version") to npm"
echo "📦 View package: https://www.npmjs.com/package/@jvnvr/acad-ts"
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:
workflow_dispatch:
inputs:
version:
description: 'Version to release (e.g., 0.0.8, 1.0.0)'
required: true
type: string

jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write

steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '24'
cache: 'npm'
registry-url: 'https://registry.npmjs.org'

- name: Validate version format
run: |
if ! [[ "${{ inputs.version }}" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.]+)?$ ]]; then
echo "Error: Invalid version format. Use semver format (e.g., 0.0.8 or 1.0.0-beta.1)"
exit 1
fi

- name: Install dependencies
run: npm ci

- name: Type-check tests
run: npm run typecheck:test

- name: Run tests
run: npm test

- name: Update package.json version
run: |
npm version ${{ inputs.version }} --no-git-tag-version
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"

- name: Build package
run: npm run build && npm run bundle

- name: Publish to npm
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Commit version bump
run: |
git add package.json package-lock.json
git commit -m "chore: bump version to ${{ inputs.version }}"

- name: Create and push tag
run: |
git tag -a "v${{ inputs.version }}" -m "Release v${{ inputs.version }}"
git push origin HEAD:master
git push origin "v${{ inputs.version }}"

- name: Generate changelog
id: changelog
run: |
PREVIOUS_TAG=$(git tag --sort=-v:refname | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+' | head -n 2 | tail -n 1)
if [ -z "$PREVIOUS_TAG" ]; then
PREVIOUS_TAG=$(git rev-list --max-parents=0 HEAD)
fi

echo "## Changes" > CHANGELOG.md
echo "" >> CHANGELOG.md
git log --pretty=format:"- %s (%h)" ${PREVIOUS_TAG}..HEAD >> CHANGELOG.md

{
echo "changelog<<EOF"
cat CHANGELOG.md
echo "EOF"
} >> "$GITHUB_OUTPUT"

- name: Create GitHub Release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: v${{ inputs.version }}
release_name: Release v${{ inputs.version }}
body: ${{ steps.changelog.outputs.changelog }}
draft: false
prerelease: false
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -361,3 +361,6 @@ MigrationBackup/
/samples/local
/samples/out
/output

# macos
.DS_Store
Loading