microsoft / microsoft/TypeScript
Document how to use tsconfig-related APIs in the wiki
Nessuno ha ancora preso questa issue.
- Lingua principale
- Go
- Stelle
- 111k
- Fork
- 14.3k
- Merge medio
- 1g 19h
- PR unite (30g)
- 117
Descrizione
🔎 Search Terms
"createProgram" "compiler" "compiler api" "js files createProgram" "js compiler api" "js files compiler" "programmatic compiler js"
🕗 Version & Regression Information
Give my project:
my-project/
├─ src/
│ ├─ index.js
├─ tsconfig.json
The following code:
import ts from 'typescript';
let tsConfigFile = ts.findConfigFile(
process.cwd(),
ts.sys.fileExists,
"tsconfig.json"
);
const { config } = ts.readConfigFile(tsConfigFile, ts.sys.readFile);
const program = ts.createProgram(['src/index.js'], config);
program.getSourceFiles().forEach((sf) => {
console.log(1, sf.fileName);
});
Where tsconfig.json looks like:
{
"compilerOptions": {
"strict": true,
"outDir": "./dist-types",
"target": "ESNext",
"allowSyntheticDefaultImports": true,
"moduleResolution": "NodeNext",
"module": "NodeNext",
"lib": ["ESNext", "DOM"],
"declaration": true,
"emitDeclarationOnly": true,
"allowJs": true,
"checkJs": true,
"skipLibCheck": true,
"verbatimModuleSyntax": true
},
"include": [
"src/index.js"
],
"exclude": ["node_modules"],
}
Outputs:
1 /Users/au87xu/cem-typescript-issue/node_modules/typescript/lib/lib.d.ts
1 /Users/au87xu/cem-typescript-issue/node_modules/typescript/lib/lib.es5.d.ts
1 /Users/au87xu/cem-typescript-issue/node_modules/typescript/lib/lib.dom.d.ts
1 /Users/au87xu/cem-typescript-issue/node_modules/typescript/lib/lib.webworker.importscripts.d.ts
1 /Users/au87xu/cem-typescript-issue/node_modules/typescript/lib/lib.scripthost.d.ts
1 /Users/au87xu/cem-typescript-issue/node_modules/typescript/lib/lib.decorators.d.ts
1 /Users/au87xu/cem-typescript-issue/node_modules/typescript/lib/lib.decorators.legacy.d.ts
but src/index.js is missing from the source files. I feel like this did work in the past, or at least should work on regular js files as well.
⏯ Playground Link
n/a
💻 Code
// Your code here
🙁 Actual behavior
ts.createProgram does not include src/index.js
🙂 Expected behavior
ts.createProgram does include src/index.js
Additional information about the issue
No response
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Parti dall'esempio di createProgram dell'issue e dalle API relative a tsconfig a cui si fa riferimento, incluse findConfigFile e readConfigFile. Documenta nella wiki come queste API debbano essere usate con i file JavaScript, incluso il comportamento osservato dei file sorgente; il lavoro è completo quando l'uso pertinente e il comportamento previsto sono chiari per i lettori.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript, typescript
- Ambito
- documentation
- Tipo di issue
- Documentazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100