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

runtime-configurations.mddocs/

0

# Runtime Configurations

1

2

TypeScript configurations for alternative JavaScript runtimes and testing frameworks. Each configuration provides optimized settings for specific runtime environments beyond traditional Node.js.

3

4

## Capabilities

5

6

### Bun Runtime Configuration

7

8

TypeScript configuration optimized for Bun, the fast all-in-one JavaScript runtime.

9

10

```typescript { .api }

11

interface BunConfiguration {

12

/** Runtime target */

13

runtime: "Bun";

14

15

/** Package name */

16

package: "@tsconfig/bun";

17

18

/** Configuration */

19

config: {

20

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

21

display: "Bun";

22

_version: "1.0.7";

23

compilerOptions: {

24

lib: ["ES2022"];

25

target: "ES2022";

26

module: "ES2022";

27

moduleDetection: "force";

28

jsx: "react-jsx";

29

allowImportingTsExtensions: true;

30

moduleResolution: "bundler";

31

allowArbitraryExtensions: true;

32

verbatimModuleSyntax: true;

33

noEmit: true;

34

strict: true;

35

skipLibCheck: true;

36

noFallthroughCasesInSwitch: true;

37

noUnusedLocals: false;

38

noUnusedParameters: false;

39

exactOptionalPropertyTypes: true;

40

noImplicitReturns: true;

41

noImplicitOverride: true;

42

noPropertyAccessFromIndexSignature: true;

43

noUncheckedIndexedAccess: true;

44

allowUnusedLabels: false;

45

allowUnreachableCode: false;

46

types: ["bun-types"];

47

};

48

};

49

}

50

```

51

52

**Installation:**

53

```bash

54

npm install --save-dev @tsconfig/bun

55

```

56

57

**Usage:**

58

```json

59

{

60

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

61

}

62

```

63

64

### Deno Runtime Configuration

65

66

TypeScript configuration for Deno, the secure runtime for JavaScript and TypeScript.

67

68

```typescript { .api }

69

interface DenoConfiguration {

70

/** Runtime target */

71

runtime: "Deno";

72

73

/** Package name */

74

package: "@tsconfig/deno";

75

76

/** Configuration */

77

config: {

78

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

79

display: "Deno";

80

_version: "1.0.3";

81

compilerOptions: {

82

allowJs: true;

83

esModuleInterop: true;

84

experimentalDecorators: true;

85

inlineSourceMap: true;

86

isolatedModules: true;

87

jsx: "react";

88

lib: ["deno.window"];

89

module: "esnext";

90

moduleDetection: "force";

91

strict: true;

92

target: "esnext";

93

useDefineForClassFields: true;

94

};

95

};

96

}

97

```

98

99

**Installation:**

100

```bash

101

npm install --save-dev @tsconfig/deno

102

```

103

104

**Usage:**

105

```json

106

{

107

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

108

}

109

```

110

111

### QJSEngine Configuration

112

113

TypeScript configuration for QJSEngine, a JavaScript engine based on QuickJS.

114

115

```typescript { .api }

116

interface QJSEngineConfiguration {

117

/** Runtime target */

118

runtime: "QJSEngine";

119

120

/** Package name */

121

package: "@tsconfig/qjsengine";

122

123

/** Configuration */

124

config: {

125

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

126

display: "QJSEngine";

127

_version: "1.0.0";

128

compilerOptions: {

129

target: "ES2020";

130

module: "ES2020";

131

lib: ["ES2020"];

132

moduleResolution: "node";

133

esModuleInterop: true;

134

allowSyntheticDefaultImports: true;

135

strict: true;

136

skipLibCheck: true;

137

forceConsistentCasingInFileNames: true;

138

resolveJsonModule: true;

139

isolatedModules: true;

140

noEmit: true;

141

};

142

};

143

}

144

```

145

146

**Installation:**

147

```bash

148

npm install --save-dev @tsconfig/qjsengine

149

```

150

151

**Usage:**

152

```json

153

{

154

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

155

}

156

```

157

158

### Testing Framework Configuration

159

160

#### Cypress

161

162

TypeScript configuration for Cypress end-to-end testing framework.

163

164

```typescript { .api }

165

interface CypressConfiguration {

166

/** Testing framework */

167

framework: "Cypress";

168

169

/** Package name */

170

package: "@tsconfig/cypress";

171

172

/** Configuration */

173

config: {

174

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

175

display: "Cypress";

176

_version: "1.0.1";

177

compilerOptions: {

178

target: "es5";

179

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

180

types: ["cypress"];

181

};

182

};

183

}

184

```

185

186

**Installation:**

187

```bash

188

npm install --save-dev @tsconfig/cypress

189

```

190

191

**Usage:**

192

```json

193

{

194

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

195

}

196

```

197

198

## Runtime Comparison

199

200

Different runtimes have varying capabilities and optimization requirements:

201

202

```typescript { .api }

203

interface RuntimeComparison {

204

/** Bun - Fast all-in-one runtime */

205

bun: {

206

strengths: ["Fast startup", "Built-in bundler", "Native TypeScript"];

207

target: "ES2022";

208

moduleSystem: "ES2022";

209

specialFeatures: ["allowImportingTsExtensions", "verbatimModuleSyntax"];

210

};

211

212

/** Deno - Secure runtime */

213

deno: {

214

strengths: ["Security model", "Built-in utilities", "ES modules"];

215

target: "esnext";

216

moduleSystem: "esnext";

217

specialFeatures: ["deno.window lib", "experimentalDecorators"];

218

};

219

220

/** QJSEngine - Lightweight engine */

221

qjsengine: {

222

strengths: ["Small footprint", "Fast execution", "Embeddable"];

223

target: "ES2020";

224

moduleSystem: "ES2020";

225

specialFeatures: ["Minimal configuration", "Node resolution"];

226

};

227

228

/** Cypress - Testing framework */

229

cypress: {

230

strengths: ["E2E testing", "Browser automation", "Time travel"];

231

target: "es5";

232

moduleSystem: "Browser compatible";

233

specialFeatures: ["cypress types", "DOM lib support"];

234

};

235

}

236

```

237

238

## Usage Patterns

239

240

### Bun Development

241

242

Optimized for Bun's fast runtime and built-in features:

243

244

```json

245

{

246

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

247

"compilerOptions": {

248

"outDir": "./dist",

249

"rootDir": "./src"

250

},

251

"include": ["src/**/*"],

252

"exclude": ["node_modules"]

253

}

254

```

255

256

### Deno Applications

257

258

Configured for Deno's secure-by-default approach:

259

260

```json

261

{

262

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

263

"compilerOptions": {

264

"allowJs": true,

265

"checkJs": true

266

},

267

"include": ["src/**/*.ts", "src/**/*.tsx"]

268

}

269

```

270

271

### QJSEngine Embedded Applications

272

273

Lightweight configuration for embedded scenarios:

274

275

```json

276

{

277

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

278

"compilerOptions": {

279

"strict": true,

280

"noUnusedLocals": true,

281

"noUnusedParameters": true

282

}

283

}

284

```

285

286

### Cypress Testing Setup

287

288

Specific configuration for test files:

289

290

```json

291

{

292

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

293

"include": [

294

"cypress/**/*.ts",

295

"cypress.config.ts"

296

],

297

"compilerOptions": {

298

"types": ["cypress", "@testing-library/cypress"]

299

}

300

}

301

```

302

303

### Multi-Runtime Support

304

305

For projects supporting multiple runtimes:

306

307

```json

308

{

309

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

310

"compilerOptions": {

311

"module": "esnext",

312

"moduleResolution": "bundler"

313

},

314

"ts-node": {

315

"esm": true

316

}

317

}

318

```

319

320

## Runtime-Specific Features

321

322

Each runtime provides unique TypeScript integration features:

323

324

```typescript { .api }

325

interface RuntimeFeatures {

326

/** Bun-specific features */

327

bunFeatures: {

328

/** Native TypeScript execution */

329

nativeTypeScript: true;

330

331

/** Built-in bundling */

332

bundling: true;

333

334

/** JSX support */

335

jsxSupport: "react-jsx";

336

337

/** Module extensions */

338

tsExtensions: true;

339

};

340

341

/** Deno-specific features */

342

denoFeatures: {

343

/** Built-in TypeScript compiler */

344

builtInCompiler: true;

345

346

/** Standard library typing */

347

standardLibrary: "deno.window";

348

349

/** Import maps support */

350

importMaps: true;

351

352

/** Permission system */

353

permissions: true;

354

};

355

356

/** QJSEngine-specific features */

357

qjsFeatures: {

358

/** Lightweight runtime */

359

lightweight: true;

360

361

/** Fast startup */

362

fastStartup: true;

363

364

/** Embeddable */

365

embeddable: true;

366

367

/** ES2020 compliance */

368

es2020: true;

369

};

370

371

/** Cypress-specific features */

372

cypressFeatures: {

373

/** Browser environment */

374

browserEnvironment: true;

375

376

/** Test utilities */

377

testUtilities: true;

378

379

/** DOM access */

380

domAccess: true;

381

382

/** Time travel debugging */

383

timeTravel: true;

384

};

385

}

386

```