Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
46 changes: 8 additions & 38 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,54 +25,24 @@ jobs:
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9

- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV

- name: Setup pnpm cache
uses: actions/cache@v4
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
cache: 'npm'

- name: Install dependencies
run: pnpm install --frozen-lockfile
run: npm ci
Copy link

Copilot AI Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CI workflow installs dependencies with npm ci, but the repository ignores package-lock.json in .gitignore, so no lockfile will be committed and npm ci will fail. Either switch this step to npm install or stop ignoring package-lock.json and commit a lockfile so npm ci has the required input.

Suggested change
run: npm ci
run: npm install

Copilot uses AI. Check for mistakes.

- name: Type check
run: pnpm run type-check

- name: Build all packages
run: pnpm run build

- name: Run basic example
run: pnpm run example:basic

- name: Run e-commerce example
run: pnpm run example:ecommerce

- name: Run blog example
run: pnpm run example:blog
run: npm run type-check

- name: Run CRM example
run: pnpm run example:crm
- name: Build
run: npm run build

- name: Run comprehensive CRM example
run: pnpm run example:crm-comprehensive
- name: Run example
run: npm run example

- name: Archive build artifacts
if: matrix.node-version == '20.x'
uses: actions/upload-artifact@v4
with:
name: dist
path: |
packages/*/dist
path: dist/
retention-days: 7
49 changes: 18 additions & 31 deletions .github/workflows/code-quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,35 +19,21 @@ jobs:
uses: actions/setup-node@v4
with:
node-version: '20.x'

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9

- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV

- name: Setup pnpm cache
uses: actions/cache@v4
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
cache: 'npm'

- name: Install dependencies
run: pnpm install --frozen-lockfile
run: npm ci
Copy link

Copilot AI Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This workflow uses npm ci to install dependencies, but .gitignore excludes package-lock.json, so the lockfile will not exist in CI and npm ci will fail. Consider using npm install here or removing package-lock.json from .gitignore and committing a lockfile.

Suggested change
run: npm ci
run: npm install

Copilot uses AI. Check for mistakes.

- name: Type check
run: npm run type-check

- name: Type check all packages
run: pnpm run type-check
- name: Build
run: npm run build

- name: Check for TypeScript errors
run: |
echo "Checking for TypeScript compilation errors..."
pnpm run build 2>&1 | tee build.log
npm run build 2>&1 | tee build.log
if grep -i "error TS" build.log; then
echo "TypeScript errors found!"
exit 1
Expand All @@ -57,15 +43,16 @@ jobs:
- name: Check package structure
run: |
echo "Verifying package structure..."
test -f packages/core/package.json || exit 1
test -f packages/examples/package.json || exit 1
test -d packages/core/src || exit 1
test -d packages/examples/src || exit 1
test -f package.json || exit 1
test -f tsconfig.json || exit 1
test -d src || exit 1
test -f src/objectstack.config.ts || exit 1
test -d src/objects || exit 1
test -d src/views || exit 1
echo "Package structure verified."

- name: Verify examples can run
- name: Verify example can run
run: |
echo "Testing if examples can execute..."
pnpm run build
pnpm run example:basic
echo "Examples verified successfully."
echo "Testing if example can execute..."
npm run example
echo "Example verified successfully."
28 changes: 5 additions & 23 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,38 +23,20 @@ jobs:
uses: actions/setup-node@v4
with:
node-version: '20.x'

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9

- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV

- name: Setup pnpm cache
uses: actions/cache@v4
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
cache: 'npm'

- name: Install dependencies
run: pnpm install --frozen-lockfile
run: npm ci
Copy link

Copilot AI Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

npm ci requires a committed package-lock.json, but the repo currently ignores package-lock.json in .gitignore, so releases will fail at this step. Align this with the dependency strategy by either using npm install or tracking a lockfile in the repo.

Suggested change
run: npm ci
run: npm install

Copilot uses AI. Check for mistakes.

- name: Build all packages
run: pnpm run build
- name: Build
run: npm run build

- name: Create Release
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
files: |
packages/*/package.json
package.json
README.md
CRM_DOCUMENTATION.md
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
29 changes: 9 additions & 20 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,48 +1,37 @@
# Dependencies
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
pnpm-lock.yaml
package-lock.json
yarn.lock

# Build outputs
dist/
build/
*.tsbuildinfo

# TypeScript build artifacts in root (if any)
/*.js
/*.js.map
/*.d.ts
/*.d.ts.map

# Environment files
.env
.env.local
.env.*.local

# IDE
.vscode/
# Editor directories and files
.vscode/*
!.vscode/extensions.json
!.vscode/settings.json
.idea/
*.swp
*.swo
*~

# OS
.DS_Store
Thumbs.db

# Logs
logs/
*.log
npm-debug.log*
pnpm-debug.log*

# Test coverage
# Testing
coverage/
.nyc_output/

# Temporary files
tmp/
temp/
*.tmp
.temp/
Loading
Loading