@lume/cli
Version:
A CLI for managing JavaScript/TypeScript packages.
69 lines (60 loc) • 2.42 kB
JSON
{
"compilerOptions": {
"allowJs": true,
"checkJs": false,
// The allowSyntheticDefaultImports option needs to be set to true for
// TypeScript code to be compatible with Node.js ES Modules, which
// expect ES Modules to `import` the `module.exports` of a CommonJS
// module as the `default` import. F.e. This means CommonJS modules must
// be imported as `import foo from 'commonjs-module'` instead of `import
// * as foo from 'commonjs-module'`.
"allowSyntheticDefaultImports": true,
"esModuleInterop": false,
// This is often a source of problems. Assume that if a project built
// fine, then its declaration output is fine and we don't need to type
// check it. Sometimes declaration output causes type errors, which is a
// major pain.
"skipLibCheck": true,
"lib": ["esnext", "dom"],
"target": "es2022",
"module": "esnext",
"moduleResolution": "node",
// Prevent possible issues in Windows (https://github.com/prettier/prettier/issues/7825#issuecomment-602171740)
// It may seem counterintuitive that we don't set CRLF. That's because
// all tools we use, even in Windows, work with LF (VS Code, Prettier,
// etc), so this keeps things consistent.
"newLine": "lf",
// Code strictness
"strict": true,
"verbatimModuleSyntax": true,
"isolatedModules": true,
"noFallthroughCasesInSwitch": true,
"noImplicitReturns": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"forceConsistentCasingInFileNames": true,
"noImplicitOverride": true,
"noUncheckedIndexedAccess": true,
// Language feature options
"useDefineForClassFields": true,
"preserveConstEnums": true,
// JSX is preserved so that we can handle JSX with babel-preset-solid
// (for use with @lume/element).
"jsx": "preserve",
// Default to supporting Solid JSX by default. This is the default the Lume project uses right now.
"jsxImportSource": "solid-js",
"pretty": true,
"declaration": true,
"declarationMap": true,
"noEmitOnError": false,
"sourceMap": true,
"removeComments": false, // If true, then useful documentation will not appear in end-user IDEs.
"paths": {"*": ["*"]},
"rootDir": "../../../../src",
"baseUrl": "../../../../",
"outDir": "../../../../dist",
"typeRoots": ["../../../../node_modules/@types", "../../../../node_modules/@lume/cli/node_modules/@types"]
},
"compileOnSave": false,
"include": ["../../../../src/**/*"]
}