Skip to content

Commit 35098e5

Browse files
committed
build: robust packaging & example testing
1 parent b0aa467 commit 35098e5

File tree

8 files changed

+242
-45
lines changed

8 files changed

+242
-45
lines changed

.github/workflows/packaging-check.yml

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -46,26 +46,21 @@ jobs:
4646
- name: SvelteKit Sync
4747
run: pnpm exec svelte-kit sync
4848

49-
- name: Svelte Package
50-
run: npm run package-unsafe
49+
- name: Package the lib
50+
run: npm run package
5151

52-
- name: Pack the package
53-
run: npm pack
52+
- name: Setup example test
53+
run: npm run example-build:setup
5454

55-
- name: Install Example
56-
run: node ../scripts/example/pnpm-install-project-in-example-unsafe.js
57-
working-directory: ./example
55+
- name: Build example
56+
run: npm run example-build:build
5857

59-
- name: Build Example
60-
run: npm run build
61-
working-directory: ./example
62-
63-
- name: Simple Test
64-
run: node ./scripts/example/verify-example-build.js
58+
- name: Simple test
59+
run: npm run example-build:test
6560

6661
# Upload test results
6762
- name: Upload example build
6863
uses: actions/upload-artifact@v3
6964
with:
7065
name: example-build
71-
path: example/demo
66+
path: example-temp/demo

.github/workflows/release-please.yml

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,31 +45,27 @@ jobs:
4545
run: pnpm exec svelte-kit sync
4646

4747
- name: Svelte Package
48-
run: npm run package-unsafe
48+
run: npm run package
4949

5050
- name: Release Please
5151
uses: google-github-actions/release-please-action@v3
5252
id: release
5353
with:
5454
release-type: node
5555

56-
- name: Pack the package
57-
if: ${{ steps.release.outputs.release_created }}
58-
run: npm pack
59-
6056
- name: Upload the packed package
6157
uses: actions/upload-release-asset@v1
6258
if: ${{ steps.release.outputs.release_created }}
6359
env:
6460
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6561
with:
6662
upload_url: ${{ steps.release.outputs.upload_url }}
67-
asset_path: svelte-splitpanes-${{ steps.release.outputs.version }}.tgz
63+
asset_path: package/svelte-splitpanes-${{ steps.release.outputs.version }}.tgz
6864
asset_name: svelte-splitpanes-${{ steps.release.outputs.version }}.tgz
6965
asset_content_type: application/gzip
7066

7167
- name: NPM Publish
7268
if: ${{ steps.release.outputs.release_created }}
7369
env:
7470
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
75-
run: npm config set _authToken=$NPM_TOKEN && npm publish
71+
run: cd package && npm config set _authToken=$NPM_TOKEN && npm publish

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ node_modules
33
/build
44
/.svelte-kit
55
/package
6-
/dist
76
/docs
7+
/example-temp
88
/test-results
99
.env
1010
.env.*

package.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"name": "svelte-splitpanes",
3+
"private": true,
34
"version": "0.7.13",
45
"description": "A full featured resizable pane layout splitter, ported from vue-splitpanes",
56
"author": {
@@ -28,12 +29,16 @@
2829
"scripts": {
2930
"dev": "cross-env DEV=1 vite dev --port 3000",
3031
"build": "vite build && node ./scripts/create-minified-size-badges.js",
31-
"package": "svelte-package",
32-
"package-unsafe": "npm run package && node scripts/package-clean-unsafe.js",
32+
"package": "npm run package:build && npm run package:pack",
33+
"package:build": "rimraf -g ./package/* && svelte-package -o ./package/dist && copyfiles ./README.md ./LICENSE ./package/ && node scripts/package-clean-copy.js",
34+
"package:pack": "cd package && npm pack",
3335
"preview": "vite preview --port 3000",
3436
"prepare": "husky install",
3537
"static-serv": "serve -l 3000 --no-clipboard docs",
3638
"test": "playwright test",
39+
"example-build:setup": "rimraf -g \"./example-temp/!(node_modules)*\" && copyfiles -u 1 \"./example/!(node_modules)*/**/*\" \"./example/!(node_modules)*\" ./example-temp && node ./scripts/example/pnpm-install-project-in-example-temp.js",
40+
"example-build:build": "cd example-temp && svelte-kit sync && npm run build",
41+
"example-build:test": "node ./scripts/example/verify-example-build.js",
3742
"check": "svelte-check --tsconfig ./tsconfig.json",
3843
"check:watch": "svelte-check --tsconfig ./tsconfig.json --watch",
3944
"lint": "npm run lint-format && npm run lint-es",

0 commit comments

Comments
 (0)