Fix package publishing pipeline

This commit is contained in:
Danila Poyarkov 2026-03-30 17:21:20 +03:00
parent 911bed3ede
commit 36bc879421
5 changed files with 35 additions and 22 deletions

View file

@ -177,6 +177,25 @@ jobs:
fi
done
- name: Pack packages for publish
run: |
mkdir -p .npm-packages
pack_if_new() {
local dir=$1
local name=$(node -p "require('./$dir/package.json').name")
local version=$(node -p "require('./$dir/package.json').version")
if npm view "${name}@${version}" version 2>/dev/null; then
echo "${name}@${version} already published, skipping pack"
else
(cd "$dir" && npm pack --pack-destination ../../.npm-packages)
fi
}
pack_if_new packages/core
pack_if_new packages/cli
pack_if_new packages/mcp
pack_if_new packages/vue
ls -la .npm-packages
- name: Publish packages to npm
run: |
publish_if_new() {
@ -186,7 +205,9 @@ jobs:
if npm view "${name}@${version}" version 2>/dev/null; then
echo "${name}@${version} already published, skipping"
else
npm publish "./$dir" --access public --provenance --ignore-scripts
local tarball
tarball=$(cd .npm-packages && ls open-pencil-$(basename "$dir")-${version}.tgz)
npm publish "./.npm-packages/${tarball}" --access public --provenance
fi
}
publish_if_new packages/core

View file

@ -3,12 +3,11 @@
"version": "0.11.0",
"license": "MIT",
"type": "module",
"main": "./src/server.ts",
"main": "./dist/server.js",
"bin": {
"openpencil-mcp": "./dist/index.js"
},
"files": [
"src",
"dist"
],
"scripts": {

View file

@ -5,18 +5,18 @@
"type": "module",
"exports": {
".": {
"types": "./src/index.ts",
"bun": "./src/index.ts",
"default": "./src/index.ts"
"types": "./dist/index.d.ts",
"import": "./dist/index.js",
"default": "./dist/index.js"
}
},
"main": "./src/index.ts",
"types": "./src/index.ts",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"sideEffects": false,
"files": ["src", "dist"],
"files": ["dist", "README.md"],
"scripts": {
"build": "bunx tsdown --config ../vue/tsdown.config.ts",
"prepublishOnly": "bun run build"
"build": "bunx tsdown --config tsdown.config.ts",
"prepack": "bun run build"
},
"repository": {
"type": "git",
@ -25,16 +25,7 @@
},
"publishConfig": {
"access": "public",
"provenance": true,
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.js",
"default": "./dist/index.js"
}
},
"main": "./dist/index.js",
"types": "./dist/index.d.ts"
"provenance": true
},
"peerDependencies": {
"vue": "^3.4.0",

View file

@ -15,7 +15,7 @@ export default defineConfig({
sourcemap: true,
hash: false,
clean: true,
outDir: './packages/vue/dist',
outDir: './dist',
treeshake: {
moduleSideEffects: false
},

View file

@ -17,7 +17,9 @@
"noFallthroughCasesInSwitch": true,
"paths": {
"@/*": ["./src/*"],
"@open-pencil/vue": ["./packages/vue/src/index.ts"],
"@open-pencil/vue/*": ["./packages/vue/src/*"],
"@open-pencil/core": ["./packages/core/src/index.ts"],
"@open-pencil/core/*": ["./packages/core/src/*"]
}
},