This commit is contained in:
Nathan Bierema 2025-06-16 19:27:24 -04:00
parent cc9a7b1606
commit 554bb03c4b
3 changed files with 29 additions and 10 deletions

View File

@ -42,12 +42,13 @@
}, },
"dependencies": { "dependencies": {
"@apollo/server": "^4.12.1", "@apollo/server": "^4.12.1",
"@as-integrations/express5": "^1.1.0",
"@emotion/react": "^11.14.0", "@emotion/react": "^11.14.0",
"@emotion/styled": "^11.14.0", "@emotion/styled": "^11.14.0",
"@redux-devtools/app": "workspace:^", "@redux-devtools/app": "workspace:^",
"@reduxjs/toolkit": "^2.8.2", "@reduxjs/toolkit": "^2.8.2",
"@types/react": "^19.1.6", "@types/react": "^19.1.6",
"body-parser": "^1.20.3", "body-parser": "^2.2.0",
"chalk": "^5.4.1", "chalk": "^5.4.1",
"cors": "^2.8.5", "cors": "^2.8.5",
"cross-spawn": "^7.0.6", "cross-spawn": "^7.0.6",

View File

@ -62,13 +62,14 @@ function routes(
'/graphql', '/graphql',
cors<cors.CorsRequest>(), cors<cors.CorsRequest>(),
bodyParser.json(), bodyParser.json(),
// @ts-expect-error https://github.com/apollo-server-integrations/apollo-server-integration-express5/issues/9
expressMiddleware(server, { expressMiddleware(server, {
context: () => Promise.resolve({ store }), context: () => Promise.resolve({ store }),
}), }),
); );
}) })
.catch((error) => { .catch((error) => {
console.error(error); // eslint-disable-line no-console console.error(error);
}); });
serveUmdModule('react'); serveUmdModule('react');
@ -76,10 +77,9 @@ function routes(
serveUmdModule('@redux-devtools/app'); serveUmdModule('@redux-devtools/app');
app.get('/port.js', function (req, res) { app.get('/port.js', function (req, res) {
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
res.send(`reduxDevToolsPort = ${options.port}`); res.send(`reduxDevToolsPort = ${options.port}`);
}); });
app.get('*', function (req, res) { app.get('/{*splat}', function (req, res) {
res.sendFile( res.sendFile(
path.join( path.join(
path.dirname(fileURLToPath(import.meta.url)), path.dirname(fileURLToPath(import.meta.url)),
@ -93,7 +93,10 @@ function routes(
app.use(bodyParser.urlencoded({ limit: limit, extended: false })); app.use(bodyParser.urlencoded({ limit: limit, extended: false }));
app.post('/', function (req, res) { app.post('/', function (req, res) {
if (!req.body) return res.status(404).end(); if (!req.body) {
res.status(404).end();
return;
}
switch (req.body.op) { switch (req.body.op) {
case 'get': case 'get':
store store
@ -102,7 +105,7 @@ function routes(
res.send(r || {}); res.send(r || {});
}) })
.catch(function (error) { .catch(function (error) {
console.error(error); // eslint-disable-line no-console console.error(error);
res.sendStatus(500); res.sendStatus(500);
}); });
break; break;
@ -113,7 +116,7 @@ function routes(
res.send(r); res.send(r);
}) })
.catch(function (error) { .catch(function (error) {
console.error(error); // eslint-disable-line no-console console.error(error);
res.sendStatus(500); res.sendStatus(500);
}); });
break; break;
@ -131,7 +134,7 @@ function routes(
}); });
}) })
.catch(function (error) { .catch(function (error) {
console.error(error); // eslint-disable-line no-console console.error(error);
res.status(500).send({}); res.status(500).send({});
}); });
} }

View File

@ -980,6 +980,9 @@ importers:
'@apollo/server': '@apollo/server':
specifier: ^4.12.1 specifier: ^4.12.1
version: 4.12.1(encoding@0.1.13)(graphql@16.11.0) version: 4.12.1(encoding@0.1.13)(graphql@16.11.0)
'@as-integrations/express5':
specifier: ^1.1.0
version: 1.1.0(@apollo/server@4.12.1(encoding@0.1.13)(graphql@16.11.0))(express@5.1.0)
'@emotion/react': '@emotion/react':
specifier: ^11.14.0 specifier: ^11.14.0
version: 11.14.0(@types/react@19.1.6)(react@19.1.0) version: 11.14.0(@types/react@19.1.6)(react@19.1.0)
@ -996,8 +999,8 @@ importers:
specifier: ^19.1.6 specifier: ^19.1.6
version: 19.1.6 version: 19.1.6
body-parser: body-parser:
specifier: ^1.20.3 specifier: ^2.2.0
version: 1.20.3 version: 2.2.0
chalk: chalk:
specifier: ^5.4.1 specifier: ^5.4.1
version: 5.4.1 version: 5.4.1
@ -2814,6 +2817,13 @@ packages:
react: '>=18.0.0' react: '>=18.0.0'
react-dom: '>=18.0.0' react-dom: '>=18.0.0'
'@as-integrations/express5@1.1.0':
resolution: {integrity: sha512-rlZU5Rlk4Sm2NDq2bs8BzveelEq39WBUvt4QVj9mVvPet1DuggLFR6nMVdDO6mb07gDLlWCWd+XTHclAEli9PQ==}
engines: {node: '>=20'}
peerDependencies:
'@apollo/server': ^4.0.0
express: ^5.0.0
'@babel/cli@7.27.2': '@babel/cli@7.27.2':
resolution: {integrity: sha512-cfd7DnGlhH6OIyuPSSj3vcfIdnbXukhAyKY8NaZrFadC7pXyL9mOL5WgjcptiEJLi5k3j8aYvLIVCzezrWTaiA==} resolution: {integrity: sha512-cfd7DnGlhH6OIyuPSSj3vcfIdnbXukhAyKY8NaZrFadC7pXyL9mOL5WgjcptiEJLi5k3j8aYvLIVCzezrWTaiA==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
@ -10317,6 +10327,11 @@ snapshots:
react: 19.1.0 react: 19.1.0
react-dom: 19.1.0(react@19.1.0) react-dom: 19.1.0(react@19.1.0)
'@as-integrations/express5@1.1.0(@apollo/server@4.12.1(encoding@0.1.13)(graphql@16.11.0))(express@5.1.0)':
dependencies:
'@apollo/server': 4.12.1(encoding@0.1.13)(graphql@16.11.0)
express: 5.1.0
'@babel/cli@7.27.2(@babel/core@7.27.1)': '@babel/cli@7.27.2(@babel/core@7.27.1)':
dependencies: dependencies:
'@babel/core': 7.27.1 '@babel/core': 7.27.1