@@ -314,9 +314,11 @@ const enumDefs = [
314314 { name : "SignatureKind" , goPrefix : "SignatureKind" , goFile : "internal/checker/types.go" , outDir : "_packages/api/src/enums" } ,
315315 { name : "ElementFlags" , goPrefix : "ElementFlags" , goFile : "internal/checker/types.go" , outDir : "_packages/api/src/enums" } ,
316316 { name : "TypePredicateKind" , goPrefix : "TypePredicateKind" , goFile : "internal/checker/types.go" , outDir : "_packages/api/src/enums" } ,
317+ { name : "DiagnosticCategory" , goPrefix : "Category" , goFile : "internal/diagnostics/diagnostics.go" , outDir : "_packages/api/src/enums" } ,
317318 // @typescript /ast enums
318- { name : "SyntaxKind" , goPrefix : "Kind" , goFile : "internal/ast/kind .go" , outDir : "_packages/ast/src/enums" } ,
319+ { name : "SyntaxKind" , goPrefix : "Kind" , goFile : "internal/ast/kind_generated .go" , outDir : "_packages/ast/src/enums" } ,
319320 { name : "NodeFlags" , goPrefix : "NodeFlags" , goFile : "internal/ast/nodeflags.go" , outDir : "_packages/ast/src/enums" } ,
321+ { name : "OuterExpressionKinds" , goPrefix : "OEK" , goFile : "internal/ast/utilities.go" , outDir : "_packages/ast/src/enums" } ,
320322 { name : "ModifierFlags" , goPrefix : "ModifierFlags" , goFile : "internal/ast/modifierflags.go" , outDir : "_packages/ast/src/enums" } ,
321323 { name : "TokenFlags" , goPrefix : "TokenFlags" , goFile : "internal/ast/tokenflags.go" , outDir : "_packages/ast/src/enums" , constEnum : true } ,
322324] ;
@@ -435,17 +437,7 @@ function topoSortMembers(members) {
435437 * @returns {string }
436438 */
437439function renderEnumTS ( def , members ) {
438- const header = [
439- "//" ,
440- "// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" ,
441- "// !!! THIS FILE IS AUTO-GENERATED — DO NOT EDIT !!!" ,
442- "// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" ,
443- "//" ,
444- `// Source: ${ def . goFile } ` ,
445- "// Regenerate: npx hereby generate:enums" ,
446- "//" ,
447- "" ,
448- ] . join ( "\n" ) ;
440+ const header = `// Code generated by Herebyfile.mjs generate:enums from ${ def . goFile } . DO NOT EDIT.\n\n` ;
449441
450442 const constKeyword = def . constEnum ? "const " : "" ;
451443 const lines = members . map ( m => ` ${ m . name } = ${ m . value } ,` ) ;
@@ -508,6 +500,12 @@ export const generateEnums = task({
508500 run : runGenerateEnums ,
509501} ) ;
510502
503+ export const generateAST = task ( {
504+ name : "generate:ast" ,
505+ description : "Generates AST and encoder files from ast.json." ,
506+ run : ( ) => $ `node --experimental-strip-types --no-warnings ./_scripts/generate.ts` ,
507+ } ) ;
508+
511509const coverageDir = path . join ( __dirname , "coverage" ) ;
512510
513511const ensureCoverageDirExists = memoize ( ( ) => {
@@ -856,6 +854,23 @@ export const checkFormat = task({
856854 } ,
857855} ) ;
858856
857+ const scriptTsconfigs = [
858+ "./_scripts/tsconfig.json" ,
859+ "./internal/fourslash/_scripts/tsconfig.json" ,
860+ "./internal/lsp/lsproto/_generate/tsconfig.json" ,
861+ ] ;
862+
863+ export const checkScripts = task ( {
864+ name : "check:scripts" ,
865+ description : "Type-checks TypeScript scripts." ,
866+ run : async ( ) => {
867+ for ( const tsconfig of scriptTsconfigs ) {
868+ console . log ( `Type-checking ${ tsconfig } ` ) ;
869+ await $ `tsc -p ${ tsconfig } ` ;
870+ }
871+ } ,
872+ } ) ;
873+
859874/**
860875 * @param {string } localBaseline Path to the local copy of the baselines
861876 * @param {string } refBaseline Path to the reference copy of the baselines
0 commit comments