paul7266
02/29/2024, 12:32 PM@authzed/authzed-node
via server actions.
I keep on getting the following:
Module not found: Can't resolve 'fs'
Module not found: Can't resolve 'net'
Module not found: Can't resolve 'tls'
Module not found: Can't resolve 'http2'
I would have thought these already be covered by the node instance from next? Thanks
Module not found: Can't resolve 'tls'
https://nextjs.org/docs/messages/module-not-found
Import trace for requested module:
../../node_modules/.pnpm/@grpc+grpc-js@1.10.1/node_modules/@grpc/grpc-js/build/src/index.js
../../node_modules/.pnpm/@authzed+authzed-node@0.13.0/node_modules/@authzed/authzed-node/dist/src/authzedapi/authzed/api/v1/experimental_service.grpc-client.js
../../node_modules/.pnpm/@authzed+authzed-node@0.13.0/node_modules/@authzed/authzed-node/dist/src/v1.js
../../node_modules/.pnpm/@authzed+authzed-node@0.13.0/node_modules/@authzed/authzed-node/dist/src/index.js
./src/app/mutations/authzed/createSchema.ts
./src/app/authzed/page.tsx
⨯ ../../node_modules/.pnpm/@grpc+grpc-js@1.10.1/node_modules/@grpc/grpc-js/build/src/channel-credentials.js:20:0
Module not found: Can't resolve 'tls'
https://nextjs.org/docs/messages/module-not-found
vroldanbet
02/29/2024, 12:37 PMSam
02/29/2024, 1:20 PMpaul7266
02/29/2024, 1:30 PM"engines": {
"node": ">=18.17.0",
"pnpm": "8.15.1"
},
I've added to my nextjs config:
webpack(config) {
return {
// ... other webpack configurations
resolve: {
// ... other resolve configurations
fallback: {
"tls": false,
"net": false,
}
}
}
},
Now I get the following:paul7266
02/29/2024, 1:30 PMWarning: Reverting webpack devtool to 'eval-source-map'.
Changing the webpack devtool in development mode will cause severe performance regressions.
Read more: https://nextjs.org/docs/messages/improper-devtool
Error: Cannot find module 'next/dist/build/webpack/plugins/terser-webpack-plugin'
Sam
02/29/2024, 1:40 PMpaul7266
02/29/2024, 1:50 PMwebpack: (config, { nextRuntime }) => {
if (typeof nextRuntime === "undefined") {
config.resolve.fallback = {
...config.resolve.fallback,
fs: false,
net: false,
tls: false,
http2: false,
dns: false
};
}
return config;
},
Which gets past all the MODULE_NOT_FOUND issues.
But now I'm getting
> Uncaught (in promise) TypeError: The "original" argument must be of type Function
> at Object.promisify (util.js:1:38321)
> Warning: An error occurred during hydration. The server HTML was replaced with client content in #document.paul7266
02/29/2024, 1:50 PM"use client";
import { Button } from '@raikou/server';
import { createSchema } from '../mutations/authzed/createSchema';
export default function Authzed() {
const doSomething = async() => {
await createSchema();
}
return <>
<Button onClick={doSomething}>Create Schema</Button>
</>
}
paul7266
02/29/2024, 1:50 PMimport { v1 } from '@authzed/authzed-node';
export async function createSchema() {
const client = v1.NewClient('mykey');
const writeRequest = v1.WriteSchemaRequest.create({
schema: `
definition user {}
definition document {
relation writer: user
relation reader: user
permission edit = writer
permission view = reader + edit
}
`,
});
// Write a schema.
const res = await new Promise((resolve, reject) => {
client.writeSchema(writeRequest, function (err, response) {
if (err) reject(err);
resolve(response);
});
});
console.log(res);
return res;
}
Sam
02/29/2024, 3:06 PMpaul7266
02/29/2024, 3:15 PM