-
Notifications
You must be signed in to change notification settings - Fork 367
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
typescript issues #474
Labels
Comments
How are you importing Helmet? Could you show me a code snippet that can reproduce this problem? |
import { City, Country, State } from 'country-state-city';
import helmet from 'helmet';
import polka from 'polka';
import bearerToken from 'polka-bearer-token';
const app = polka();
const port = process.env.PORT || 3000;
app
.use((req, res, next) => {
res.setHeader('Content-Type', 'application/json');
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, OPTIONS');
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
next();
})
.use(
helmet({
crossOriginResourcePolicy: false,
})
)
.use(bearerToken())
.use((req, res, next) => {
const token = (req as typeof req & { token: string }).token.replace('Bearer ', '');
if (token !== process.env.TOKEN) {
res.statusCode = 401;
res.end(JSON.stringify({ message: 'Unauthorized', status: 401 }));
}
next();
})
.get('/countries', (req, res) => {
res.end(JSON.stringify(Country.getAllCountries()));
})
.get('/countries/:id', (req, res) => {
res.end(JSON.stringify(Country.getCountryByCode(req.params.id)));
})
.get('/states', (req, res) => {
res.end(JSON.stringify(State.getStatesOfCountry(req.query.country as string)));
})
.get('/states/:id', (req, res) => {
res.end(JSON.stringify(State.getStateByCode(req.params.id)));
})
.get('/cities', (req, res) => {
res.end(JSON.stringify(City.getCitiesOfState(req.query.country as string, req.query.state as string)));
})
.get('*', (req, res) => {
res.statusCode = 404;
res.end(JSON.stringify({ message: 'Not Found', status: 404 }));
});
app.listen(port, () => {
console.log(`Started on ${port}`);
}); |
I couldn't reproduce this in a reduced sample app. Here's what I have:
{
"private": true,
"scripts": {
"typecheck": "tsc --noEmit"
},
"dependencies": {
"helmet": "^7.1.0"
},
"devDependencies": {
"typescript": "^5.6.2"
}
}
{
"include": ["app.ts"],
"compilerOptions": {
"target": "ES2020",
"module": "Node16",
"moduleResolution": "Node16",
"types": [],
"resolveJsonModule": true,
"allowJs": true,
"sourceMap": true,
"importHelpers": true,
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"noImplicitAny": false,
"skipLibCheck": true
}
}
import helmet from "helmet";
console.log(
helmet({
crossOriginResourcePolicy: false,
}),
); What versions are you using? Are any of your dependencies outdated? What about your version of Node.js? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
sorry to say this has come up again
tsconfig
result
The text was updated successfully, but these errors were encountered: