Skip to content

Commit ba1b14e

Browse files
committed
Fix exports is not defined error by using specific glob pattern for pages directory
1 parent c9b6db8 commit ba1b14e

File tree

3 files changed

+38
-39
lines changed

3 files changed

+38
-39
lines changed

server-actions-for-next-pages/CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# server-actions-for-next-pages
22

3+
## 1.5.11
4+
5+
### Patch Changes
6+
7+
- Fix "exports is not defined" error by using specific glob pattern instead of broad `**/*.{ts,tsx,js,jsx}`
8+
- Use glob pattern `{./src/pages,./pages/}/**/*.{ts,tsx,js,jsx}` to target only pages directory
9+
- Avoid transforming node_modules files which was causing CommonJS errors
10+
311
## 1.5.10
412

513
### Patch Changes

server-actions-for-next-pages/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "server-actions-for-next-pages",
3-
"version": "1.5.10",
3+
"version": "1.5.11",
44
"description": "Use Next.js server actions in your pages directory",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",

server-actions-for-next-pages/src/index.ts

Lines changed: 29 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -101,47 +101,38 @@ export function plugins({
101101
}
102102

103103
function applyTurbopackOptions(nextConfig: NextConfig): void {
104-
// Configure Turbopack to apply Babel transformation to TypeScript/JavaScript files
105-
// Docs: https://nextjs.org/docs/app/api-reference/next-config-js/turbopack
106-
104+
(nextConfig as any).turbopack ??= {};
105+
(nextConfig as any).turbopack.rules ??= {};
106+
107+
const rules = (nextConfig as any).turbopack.rules;
108+
107109
const pagesDir = findPagesDir(process.cwd());
110+
108111
const basePath = (nextConfig.basePath as string) || '/';
109-
const loaderPath = require.resolve('../dist/turbopackLoader');
110-
111-
const loaderConfig = {
112-
browser: {
113-
as: '*.tsx',
114-
loaders: [
115-
{
116-
loader: loaderPath,
117-
options: {
118-
isServer: false,
119-
pagesDir,
120-
isAppDir: false,
121-
basePath,
122-
},
123-
},
124-
],
125-
},
126-
default: {
127-
as: '*.tsx',
128-
loaders: [
129-
{
130-
loader: loaderPath,
131-
options: {
132-
isServer: true,
133-
pagesDir,
134-
isAppDir: false,
135-
basePath,
136-
},
137-
},
138-
],
139-
},
112+
113+
const glob = '{./src/pages,./pages/}/**/*.{ts,tsx,js,jsx}';
114+
rules[glob] ??= {};
115+
const options: RpcPluginOptions = {
116+
isServer: false,
117+
pagesDir,
118+
isAppDir: false,
119+
basePath,
140120
};
141-
142-
(nextConfig as any).turbopack ??= {};
143-
(nextConfig as any).turbopack.rules ??= {};
144-
(nextConfig as any).turbopack.rules['**/*.{ts,tsx,js,jsx}'] = loaderConfig;
121+
const globbed: any = rules[glob];
122+
globbed.browser ??= {};
123+
globbed.browser.as = '*.tsx';
124+
globbed.browser.loaders ??= [];
125+
globbed.browser.loaders.push({
126+
loader: require.resolve('../dist/turbopackLoader'),
127+
options: { ...options, isServer: false },
128+
});
129+
globbed.default ??= {};
130+
globbed.default.as = '*.tsx';
131+
globbed.default.loaders ??= [];
132+
globbed.default.loaders.push({
133+
loader: require.resolve('../dist/turbopackLoader'),
134+
options: { ...options, isServer: true },
135+
});
145136
}
146137

147138
// taken from https://github.com/vercel/next.js/blob/v12.1.5/packages/next/lib/find-pages-dir.ts

0 commit comments

Comments
 (0)