or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

framework-configurations.mdgeneral-configurations.mdindex.mdnode-configurations.mdruntime-configurations.md
tile.json

framework-configurations.mddocs/

0

# Framework Configurations

1

2

TypeScript configurations optimized for popular JavaScript frameworks and build tools. Each framework configuration provides tailored compiler options, library support, and build-specific settings.

3

4

## Capabilities

5

6

### Next.js Configuration

7

8

TypeScript configuration optimized for Next.js applications with server-side rendering and modern React features.

9

10

```typescript { .api }

11

interface NextJSConfiguration {

12

/** Framework target */

13

framework: "Next.js";

14

15

/** Package name */

16

package: "@tsconfig/next";

17

18

/** Configuration */

19

config: {

20

$schema: "https://json.schemastore.org/tsconfig";

21

display: "Next.js";

22

_version: "2.0.0";

23

compilerOptions: {

24

lib: ["dom", "dom.iterable", "esnext"];

25

allowJs: true;

26

skipLibCheck: true;

27

strict: true;

28

noEmit: true;

29

esModuleInterop: true;

30

module: "esnext";

31

moduleResolution: "bundler";

32

resolveJsonModule: true;

33

isolatedModules: true;

34

jsx: "preserve";

35

incremental: true;

36

plugins: [{ name: "next" }];

37

};

38

include: ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"];

39

exclude: ["node_modules"];

40

};

41

}

42

```

43

44

**Installation:**

45

```bash

46

npm install --save-dev @tsconfig/next

47

```

48

49

**Usage:**

50

```json

51

{

52

"extends": "@tsconfig/next/tsconfig.json"

53

}

54

```

55

56

### React Configurations

57

58

#### Create React App

59

60

Configuration for Create React App projects with React development optimizations.

61

62

```typescript { .api }

63

interface CreateReactAppConfiguration {

64

/** Framework target */

65

framework: "Create React App";

66

67

/** Package name */

68

package: "@tsconfig/create-react-app";

69

70

/** Configuration */

71

config: {

72

$schema: "https://json.schemastore.org/tsconfig";

73

display: "Create React App";

74

_version: "2.0.1";

75

compilerOptions: {

76

target: "es5";

77

lib: ["dom", "dom.iterable", "es6"];

78

allowJs: true;

79

skipLibCheck: true;

80

esModuleInterop: true;

81

allowSyntheticDefaultImports: true;

82

strict: true;

83

forceConsistentCasingInFileNames: true;

84

module: "esnext";

85

moduleResolution: "node";

86

resolveJsonModule: true;

87

isolatedModules: true;

88

noEmit: true;

89

jsx: "react-jsx";

90

};

91

};

92

}

93

```

94

95

#### React Native

96

97

Configuration for React Native applications with mobile development considerations.

98

99

```typescript { .api }

100

interface ReactNativeConfiguration {

101

/** Framework target */

102

framework: "React Native";

103

104

/** Package name */

105

package: "@tsconfig/react-native";

106

107

/** Configuration */

108

config: {

109

$schema: "https://json.schemastore.org/tsconfig";

110

display: "React Native";

111

_version: "3.0.2";

112

compilerOptions: {

113

target: "esnext";

114

module: "commonjs";

115

types: ["react-native", "jest"];

116

lib: [

117

"es2019",

118

"es2020.bigint",

119

"es2020.date",

120

"es2020.number",

121

"es2020.promise",

122

"es2020.string",

123

"es2020.symbol.wellknown",

124

"es2021.promise",

125

"es2021.string",

126

"es2021.weakref",

127

"es2022.array",

128

"es2022.object",

129

"es2022.string"

130

];

131

allowJs: true;

132

jsx: "react-native";

133

noEmit: true;

134

isolatedModules: true;

135

strict: true;

136

moduleResolution: "node";

137

resolveJsonModule: true;

138

allowSyntheticDefaultImports: true;

139

esModuleInterop: true;

140

skipLibCheck: true;

141

};

142

};

143

}

144

```

145

146

#### Vite React

147

148

Configuration for Vite + React projects with modern build tooling.

149

150

```typescript { .api }

151

interface ViteReactConfiguration {

152

/** Framework target */

153

framework: "Vite + React";

154

155

/** Package name */

156

package: "@tsconfig/vite-react";

157

158

/** Configuration */

159

config: {

160

$schema: "https://json.schemastore.org/tsconfig";

161

display: "Vite React";

162

_version: "2.0.1";

163

compilerOptions: {

164

target: "ES2020";

165

useDefineForClassFields: true;

166

lib: ["ES2020", "DOM", "DOM.Iterable"];

167

module: "ESNext";

168

skipLibCheck: true;

169

moduleResolution: "bundler";

170

allowImportingTsExtensions: true;

171

resolveJsonModule: true;

172

isolatedModules: true;

173

noEmit: true;

174

jsx: "react-jsx";

175

strict: true;

176

noUnusedLocals: true;

177

noUnusedParameters: true;

178

noFallthroughCasesInSwitch: true;

179

};

180

};

181

}

182

```

183

184

### Framework-Specific Configurations

185

186

#### Svelte

187

188

Configuration for Svelte applications with component compilation support.

189

190

```typescript { .api }

191

interface SvelteConfiguration {

192

/** Framework target */

193

framework: "Svelte";

194

195

/** Package name */

196

package: "@tsconfig/svelte";

197

198

/** Configuration highlights */

199

config: {

200

display: "Svelte";

201

compilerOptions: {

202

target: "es2020";

203

module: "es2020";

204

moduleResolution: "node";

205

importsNotUsedAsValues: "error";

206

isolatedModules: true;

207

resolveJsonModule: true;

208

sourceMap: true;

209

esModuleInterop: true;

210

skipLibCheck: true;

211

forceConsistentCasingInFileNames: true;

212

};

213

};

214

}

215

```

216

217

#### Remix

218

219

Configuration for Remix full-stack applications.

220

221

```typescript { .api }

222

interface RemixConfiguration {

223

/** Framework target */

224

framework: "Remix";

225

226

/** Package name */

227

package: "@tsconfig/remix";

228

229

/** Configuration highlights */

230

config: {

231

display: "Remix";

232

compilerOptions: {

233

lib: ["DOM", "DOM.Iterable", "ES2022"];

234

isolatedModules: true;

235

esModuleInterop: true;

236

jsx: "react-jsx";

237

moduleResolution: "node";

238

resolveJsonModule: true;

239

target: "ES2022";

240

strict: true;

241

allowJs: true;

242

skipLibCheck: true;

243

forceConsistentCasingInFileNames: true;

244

};

245

};

246

}

247

```

248

249

#### Nuxt.js

250

251

Configuration for Nuxt.js Vue applications.

252

253

```typescript { .api }

254

interface NuxtConfiguration {

255

/** Framework target */

256

framework: "Nuxt.js";

257

258

/** Package name */

259

package: "@tsconfig/nuxt";

260

261

/** Configuration highlights */

262

config: {

263

display: "Nuxt";

264

compilerOptions: {

265

target: "ES2018";

266

module: "ESNext";

267

moduleResolution: "Node";

268

lib: ["ESNext", "ESNext.AsyncIterable", "DOM"];

269

esModuleInterop: true;

270

allowJs: true;

271

sourceMap: true;

272

strict: true;

273

noEmit: true;

274

experimentalDecorators: true;

275

baseUrl: ".";

276

paths: {

277

"~/*": ["./*"];

278

"@/*": ["./*"];

279

};

280

types: ["@nuxt/types"];

281

};

282

};

283

}

284

```

285

286

### Specialized Framework Configurations

287

288

#### Ember.js

289

290

Configuration for Ember.js applications with extensive framework integration.

291

292

```typescript { .api }

293

interface EmberConfiguration {

294

/** Framework target */

295

framework: "Ember.js";

296

297

/** Package name */

298

package: "@tsconfig/ember";

299

300

/** Configuration features */

301

features: {

302

experimentalDecorators: true;

303

emberTyping: true;

304

extensivePathMapping: true;

305

};

306

}

307

```

308

309

#### Taro Mini-Program

310

311

Configuration for Taro cross-platform mini-program development.

312

313

```typescript { .api }

314

interface TaroConfiguration {

315

/** Framework target */

316

framework: "Taro";

317

318

/** Package name */

319

package: "@tsconfig/taro";

320

321

/** Configuration highlights */

322

config: {

323

display: "Taro";

324

compilerOptions: {

325

target: "es2017";

326

lib: ["es2018", "dom"];

327

allowJs: true;

328

skipLibCheck: true;

329

esModuleInterop: true;

330

allowSyntheticDefaultImports: true;

331

strict: true;

332

module: "esnext";

333

moduleResolution: "node";

334

resolveJsonModule: true;

335

isolatedModules: true;

336

noEmit: true;

337

jsx: "preserve";

338

};

339

};

340

}

341

```

342

343

#### Docusaurus v2

344

345

Configuration for Docusaurus v2 documentation sites.

346

347

```typescript { .api }

348

interface DocusaurusConfiguration {

349

/** Framework target */

350

framework: "Docusaurus v2";

351

352

/** Package name */

353

package: "@tsconfig/docusaurus";

354

355

/** Configuration highlights */

356

config: {

357

display: "Docusaurus v2";

358

compilerOptions: {

359

target: "es2017";

360

lib: ["dom", "dom.iterable", "esnext"];

361

allowJs: true;

362

skipLibCheck: true;

363

esModuleInterop: true;

364

allowSyntheticDefaultImports: true;

365

strict: true;

366

module: "esnext";

367

moduleResolution: "node";

368

resolveJsonModule: true;

369

isolatedModules: true;

370

noEmit: true;

371

jsx: "react-jsx";

372

};

373

};

374

}

375

```

376

377

## Usage Patterns

378

379

### Modern React Development

380

381

```json

382

{

383

"extends": "@tsconfig/vite-react/tsconfig.json",

384

"compilerOptions": {

385

"baseUrl": "src",

386

"paths": {

387

"@/*": ["*"]

388

}

389

}

390

}

391

```

392

393

### Full-Stack Applications

394

395

```json

396

{

397

"extends": "@tsconfig/remix/tsconfig.json",

398

"compilerOptions": {

399

"types": ["@remix-run/node", "vite/client"]

400

}

401

}

402

```

403

404

### Mobile Development

405

406

```json

407

{

408

"extends": "@tsconfig/react-native/tsconfig.json",

409

"compilerOptions": {

410

"types": ["react-native", "jest", "@types/react-native"]

411

}

412

}

413

```

414

415

### Static Site Generation

416

417

```json

418

{

419

"extends": "@tsconfig/next/tsconfig.json",

420

"compilerOptions": {

421

"plugins": [

422

{ "name": "next" },

423

{ "name": "typescript-plugin-css-modules" }

424

]

425

}

426

}

427

```