Skip to content

Commit 385839f

Browse files
authored
fix: generate both cjs and esm builds for swr plugin (#892)
1 parent 23ae167 commit 385839f

File tree

9 files changed

+54
-14
lines changed

9 files changed

+54
-14
lines changed

packages/plugins/swr/package.json

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
},
1111
"scripts": {
1212
"clean": "rimraf dist",
13-
"build": "pnpm lint --max-warnings=0 && pnpm clean && tsc && copyfiles ./package.json ./README.md ./LICENSE dist && pnpm pack dist --pack-destination '../../../../.build'",
14-
"watch": "tsc --watch",
13+
"build": "pnpm lint --max-warnings=0 && pnpm clean && tsc && tsup-node --config ./tsup.config.ts && copyfiles ./package.json ./README.md ./LICENSE dist && pnpm pack dist --pack-destination '../../../../.build'",
14+
"watch": "concurrently \"tsc --watch\" \"tsup-node --config ./tsup.config.ts --watch\"",
1515
"lint": "eslint src --ext ts",
1616
"test": "ZENSTACK_TEST=1 jest",
1717
"prepublishOnly": "pnpm build"
@@ -23,6 +23,20 @@
2323
"keywords": [],
2424
"author": "ZenStack Team",
2525
"license": "MIT",
26+
"exports": {
27+
".": {
28+
"default": "./index.js"
29+
},
30+
"./package.json": {
31+
"default": "./package.json"
32+
},
33+
"./runtime": {
34+
"types": "./runtime/index.d.ts",
35+
"import": "./runtime/index.mjs",
36+
"require": "./runtime/index.js",
37+
"default": "./runtime/index.js"
38+
}
39+
},
2640
"dependencies": {
2741
"@prisma/generator-helper": "^5.0.0",
2842
"@zenstackhq/runtime": "workspace:*",

packages/plugins/swr/tsconfig.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@
55
"outDir": "dist",
66
"jsx": "react"
77
},
8-
"include": ["src/**/*.ts"]
8+
"include": ["src/**/*.ts"],
9+
"exclude": ["src/runtime"]
910
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { defineConfig } from 'tsup';
2+
3+
export default defineConfig({
4+
entry: ['src/runtime/index.ts'],
5+
outDir: 'dist/runtime',
6+
splitting: false,
7+
sourcemap: true,
8+
clean: true,
9+
dts: true,
10+
format: ['cjs', 'esm'],
11+
});

packages/server/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
"author": "",
2727
"license": "MIT",
2828
"dependencies": {
29-
"@zenstackhq/openapi": "workspace:*",
3029
"@zenstackhq/runtime": "workspace:*",
3130
"change-case": "^4.1.2",
3231
"lower-case-first": "^2.0.2",

pnpm-lock.yaml

Lines changed: 0 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/integration/tests/frameworks/nextjs/generation.test.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,16 @@ describe('SWR Hooks Generation Tests', () => {
1414
process.chdir(origDir);
1515
});
1616

17+
// deps
18+
const ver = require('../../../../../package.json').version;
19+
const depPkgs = [
20+
`${path.join(__dirname, '../../../../../.build/zenstackhq-language-' + ver + '.tgz')}`,
21+
`${path.join(__dirname, '../../../../../.build/zenstackhq-sdk-' + ver + '.tgz')}`,
22+
`${path.join(__dirname, '../../../../../.build/zenstackhq-runtime-' + ver + '.tgz')}`,
23+
`${path.join(__dirname, '../../../../../.build/zenstackhq-swr-' + ver + '.tgz')}`,
24+
];
25+
const deps = depPkgs.join(' ');
26+
1727
it('sqlite', async () => {
1828
const testDir = path.join(__dirname, './test-run/sqlite');
1929
if (fs.existsSync(testDir)) {
@@ -25,6 +35,7 @@ describe('SWR Hooks Generation Tests', () => {
2535
process.chdir(testDir);
2636
const nodePath = path.join(testDir, 'node_modules');
2737
run('npm install');
38+
run('npm install ' + deps);
2839
run('npx zenstack generate --schema ./sqlite.zmodel', { NODE_PATH: nodePath });
2940
run('npm run build', { NODE_PATH: nodePath });
3041
});
@@ -40,6 +51,7 @@ describe('SWR Hooks Generation Tests', () => {
4051
process.chdir(testDir);
4152
const nodePath = path.join(testDir, 'node_modules');
4253
run('npm install');
54+
run('npm install ' + deps);
4355
run('npx zenstack generate --schema ./postgres.zmodel', { NODE_PATH: nodePath });
4456
run('npm run build', { NODE_PATH: nodePath });
4557
});

tests/integration/tests/frameworks/nextjs/test-project/package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@
1313
"@types/node": "18.11.18",
1414
"@types/react": "18.0.27",
1515
"@types/react-dom": "18.0.10",
16-
"@zenstackhq/runtime": "../../../../../../../packages/runtime/dist",
17-
"@zenstackhq/swr": "../../../../../../../packages/plugins/swr/dist",
1816
"next": "13.1.4",
1917
"react": "18.2.0",
2018
"react-dom": "18.2.0",

tests/integration/tests/frameworks/trpc/generation.test.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,16 @@ describe('tRPC Routers Generation Tests', () => {
1414
process.chdir(origDir);
1515
});
1616

17+
// deps
18+
const ver = require('../../../../../package.json').version;
19+
const depPkgs = [
20+
`${path.join(__dirname, '../../../../../.build/zenstackhq-language-' + ver + '.tgz')}`,
21+
`${path.join(__dirname, '../../../../../.build/zenstackhq-sdk-' + ver + '.tgz')}`,
22+
`${path.join(__dirname, '../../../../../.build/zenstackhq-runtime-' + ver + '.tgz')}`,
23+
`${path.join(__dirname, '../../../../../.build/zenstackhq-trpc-' + ver + '.tgz')}`,
24+
];
25+
const deps = depPkgs.join(' ');
26+
1727
it('basic', async () => {
1828
const testDir = path.join(__dirname, './test-run/basic');
1929
if (fs.existsSync(testDir)) {
@@ -24,6 +34,7 @@ describe('tRPC Routers Generation Tests', () => {
2434

2535
process.chdir(testDir);
2636
run('npm install');
37+
run('npm install ' + deps);
2738
run('npx zenstack generate --no-dependency-check --schema ./todo.zmodel', { NODE_PATH: 'node_modules' });
2839
run('npm run build', { NODE_PATH: 'node_modules' });
2940
});

tests/integration/tests/frameworks/trpc/test-project/package.json

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,9 @@
2323
"react-dom": "18.2.0",
2424
"superjson": "^1.12.2",
2525
"typescript": "4.9.4",
26-
"zod": "^3.22.4",
27-
"@zenstackhq/runtime": "../../../../../../../packages/runtime/dist"
26+
"zod": "^3.22.4"
2827
},
2928
"devDependencies": {
30-
"prisma": "^4.8.0",
31-
"zenstack": "../../../../../../../packages/schema/dist",
32-
"@zenstackhq/trpc": "../../../../../../../packages/plugins/trpc/dist"
29+
"prisma": "^4.8.0"
3330
}
3431
}

0 commit comments

Comments
 (0)