Fix ES module imports to eliminate runtime require() calls

- Changed node-cron import from namespace import to default import
- Added GitHub workflow for automatic npm publishing on version changes
- Ensured all build output uses pure ES module imports without CommonJS remnants

This fixes the runtime error: "ReferenceError: require is not defined in ES module scope"

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-08-31 17:58:46 +02:00
parent 7affbd26c4
commit 8ed647587b
2 changed files with 75 additions and 1 deletions

74
.github/workflows/publish.yml vendored Normal file
View File

@@ -0,0 +1,74 @@
name: Publish to NPM
on:
push:
branches: [main]
workflow_dispatch:
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
registry-url: 'https://registry.npmjs.org'
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 10
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run tests
run: pnpm test:int
- name: Build
run: pnpm build
- name: Check if version changed
id: version-check
run: |
# Get current version from package.json
CURRENT_VERSION=$(node -p "require('./package.json').version")
# Get previous commit's version
git show HEAD~1:package.json > prev-package.json 2>/dev/null || echo '{"version":"0.0.0"}' > prev-package.json
PREVIOUS_VERSION=$(node -p "require('./prev-package.json').version")
echo "current=$CURRENT_VERSION" >> $GITHUB_OUTPUT
echo "previous=$PREVIOUS_VERSION" >> $GITHUB_OUTPUT
if [ "$CURRENT_VERSION" != "$PREVIOUS_VERSION" ]; then
echo "changed=true" >> $GITHUB_OUTPUT
echo "Version changed from $PREVIOUS_VERSION to $CURRENT_VERSION"
else
echo "changed=false" >> $GITHUB_OUTPUT
echo "Version unchanged: $CURRENT_VERSION"
fi
- name: Publish to NPM
if: steps.version-check.outputs.changed == 'true'
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Create GitHub Release
if: steps.version-check.outputs.changed == 'true'
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: v${{ steps.version-check.outputs.current }}
release_name: Release v${{ steps.version-check.outputs.current }}
draft: false
prerelease: false

View File

@@ -1,6 +1,6 @@
import type {Config, Payload, TaskConfig} from 'payload' import type {Config, Payload, TaskConfig} from 'payload'
import * as cron from 'node-cron' import cron from 'node-cron'
import {type Workflow, WorkflowExecutor} from '../core/workflow-executor.js' import {type Workflow, WorkflowExecutor} from '../core/workflow-executor.js'
import {getConfigLogger} from './logger.js' import {getConfigLogger} from './logger.js'