Skip to content

Commit

Permalink
Add message that we only support TS >= 4.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
IvanGoncharov committed Oct 18, 2021
1 parent ada5ee0 commit 55caf10
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 2 deletions.
15 changes: 14 additions & 1 deletion package.json
Expand Up @@ -6,7 +6,20 @@
"private": true,
"main": "index",
"module": "index.mjs",
"types": "index.d.ts",
"types": "NotSupportedTSVersion.d.ts",
"typesVersions": {
">=4.1.0": {
"*": [
"index.d.ts"
],
"*/*": [
"*/index.d.ts"
],
"*/*/*": [
"*/*"
]
}
},
"sideEffects": false,
"homepage": "https://github.com/graphql/graphql-js",
"bugs": {
Expand Down
16 changes: 15 additions & 1 deletion resources/build-npm.js
Expand Up @@ -18,6 +18,8 @@ if (require.main === module) {
fs.rmSync('./npmDist', { recursive: true, force: true });
fs.mkdirSync('./npmDist');

const packageJSON = buildPackageJSON();

const srcFiles = readdirRecursive('./src', { ignoreDir: /^__.*__$/ });
for (const filepath of srcFiles) {
const srcPath = path.join('./src', filepath);
Expand Down Expand Up @@ -48,11 +50,23 @@ if (require.main === module) {
'Fail to generate `*.d.ts` files, please run `npm run check`',
);

assert(packageJSON.types, 'Missing "types".');
const supportedTSVersions = Object.keys(packageJSON.typesVersions);
assert(
supportedTSVersions.length === 1,
'Property "typesVersions" should have exactly one key.',
);
// TODO: revisit once TS implements https://github.com/microsoft/TypeScript/issues/44795
fs.writeFileSync(
path.join('./npmDist', packageJSON.types),
// Provoke syntax error to show this message
`"Package 'graphql' support only TS versions that are ${supportedTSVersions[0]}".`,
);

fs.copyFileSync('./LICENSE', './npmDist/LICENSE');
fs.copyFileSync('./README.md', './npmDist/README.md');

// Should be done as the last step so only valid packages can be published
const packageJSON = buildPackageJSON();
writeGeneratedFile('./npmDist/package.json', JSON.stringify(packageJSON));

showDirStats('./npmDist');
Expand Down

0 comments on commit 55caf10

Please sign in to comment.