feat(package): added npm package to run sim studio (#376)

* added npm pkg for sim studio

* added cache scope for new pkg

* added optional port config, default to 3000

* remove accidental package lock

* updated package version

* added keywords

* acknowledged PR comments
This commit is contained in:
Waleed Latif
2025-05-18 21:16:13 -07:00
committed by GitHub
parent 18ce26616e
commit f2894e645e
7 changed files with 568 additions and 65 deletions
+58
View File
@@ -0,0 +1,58 @@
name: Publish CLI Package
on:
push:
branches: [main]
paths:
- 'packages/simstudio/**'
jobs:
publish-npm:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Setup Node.js for npm publishing
uses: actions/setup-node@v4
with:
node-version: '18'
registry-url: 'https://registry.npmjs.org/'
- name: Install dependencies
working-directory: packages/simstudio
run: bun install
- name: Build package
working-directory: packages/simstudio
run: bun run build
- name: Get package version
id: package_version
working-directory: packages/simstudio
run: echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT
- name: Check if version already exists
id: version_check
run: |
if npm view simstudio@${{ steps.package_version.outputs.version }} version &> /dev/null; then
echo "exists=true" >> $GITHUB_OUTPUT
else
echo "exists=false" >> $GITHUB_OUTPUT
fi
- name: Publish to npm
if: steps.version_check.outputs.exists == 'false'
working-directory: packages/simstudio
run: npm publish --access=public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Log skipped publish
if: steps.version_check.outputs.exists == 'true'
run: echo "Skipped publishing because version ${{ steps.package_version.outputs.version }} already exists on npm"