Skip to content

Commit b24ec5d

Browse files
committed
build: customize package process
1 parent 5a2c528 commit b24ec5d

File tree

4 files changed

+49
-14
lines changed

4 files changed

+49
-14
lines changed

.github/workflows/release.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,6 @@ jobs:
2424
# https://docs.npmjs.com/generating-provenance-statements
2525
run: |
2626
npm install --force
27+
npm run package
28+
cd package
2729
npm publish --provenance --access public

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@
44
/test-results/
55
/playwright-report/
66
/playwright/.cache/
7+
/package

package.json

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,27 @@
55
"description": "Detect if an element is in the viewport using the Intersection Observer API",
66
"author": "Eric Liu (https://github.com/metonym)",
77
"type": "module",
8-
"svelte": "./src/index.js",
9-
"main": "./src/index.js",
10-
"types": "./src/index.d.ts",
8+
"svelte": "./index.js",
9+
"main": "./index.js",
10+
"types": "./index.d.ts",
1111
"exports": {
1212
".": {
13-
"types": "./types/index.d.ts",
14-
"svelte": "./src/index.js"
13+
"types": "./index.d.ts",
14+
"svelte": "./index.js"
1515
},
16-
"./src/*.svelte": {
17-
"types": "./src/*.svelte.d.ts",
18-
"import": "./src/*.svelte"
16+
"./*.svelte": {
17+
"types": "./*.svelte.d.ts",
18+
"import": "./*.svelte"
1919
},
20-
"./src/*": {
21-
"types": "./src/*.d.ts",
22-
"import": "./src/*.js"
20+
"./*": {
21+
"types": "./*.d.ts",
22+
"import": "./*.js"
2323
}
2424
},
2525
"scripts": {
2626
"dev": "rollup -cw",
2727
"build": "rollup -c",
28+
"package": "node scripts/npm-package",
2829
"test:types": "svelte-check --workspace tests",
2930
"test:e2e": "playwright test",
3031
"format": "prettier --write '.'"
@@ -54,9 +55,6 @@
5455
"lazy-loading",
5556
"conditional"
5657
],
57-
"files": [
58-
"src"
59-
],
6058
"prettier": {
6159
"plugins": [
6260
"prettier-plugin-svelte"

scripts/npm-package.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// @ts-check
2+
3+
import fs from "node:fs";
4+
import fsp from "node:fs/promises";
5+
6+
(async () => {
7+
console.time("package");
8+
9+
if (fs.existsSync("./package")) {
10+
await fsp.rm("./package", { recursive: true });
11+
}
12+
13+
await fsp.mkdir("./package");
14+
15+
await fsp.cp("./src", "./package", { recursive: true });
16+
await fsp.copyFile("./package.json", "./package/package.json");
17+
await fsp.copyFile("./README.md", "./package/README.md");
18+
await fsp.copyFile("./LICENSE", "./package/LICENSE");
19+
20+
const pkgJson = JSON.parse(
21+
fs.readFileSync("./package/package.json", "utf-8"),
22+
);
23+
24+
delete pkgJson.scripts;
25+
delete pkgJson.devDependencies;
26+
delete pkgJson.prettier;
27+
28+
await fsp.writeFile(
29+
"./package/package.json",
30+
JSON.stringify(pkgJson, null, 2),
31+
);
32+
33+
console.timeEnd("package");
34+
})();

0 commit comments

Comments
 (0)