Aller au contenu

JavaScript et TypeScript avec Elide

Exécutez JavaScript et TypeScript avec Elide sans compilation préalable ni tsconfig.json : CommonJS et modules ES, paquets npm, tests node:test et serveurs.

Sur cette page

Elide exécute JavaScript et TypeScript directement, avec CommonJS, les modules ES et une partie des API Node et Web.

TypeScript s’exécute tel quel

Pas de compilation préalable ni de tsconfig.json : elide app.ts exécute le fichier.

elide run app.js
elide run app.ts
elide app.ts
elide run -s 'console.log(1 + 1)'

Extensions : .js, .mjs, .cjs, .jsx, .ts, .mts, .cts, .tsx. JSX et TSX sont transformés ; installez le runtime qu’ils importent, par exemple react/jsx-runtime. Elide ne fournit ni framework d’interface ni DOM.

Paquets npm

Déclarez les dépendances dans package.json. elide install seul ignore npm ; passez donc --ecosystems=npm :

{
  "type": "module",
  "dependencies": { "zod": "3.24.1" }
}
// app.ts
import { z } from "zod";

const User = z.object({ name: z.string() });
console.log(`Hello, ${User.parse({ name: "Ada" }).name}!`);
elide install --ecosystems=npm
elide run app.ts
0:12 / 0:12

Les paquets vont dans node_modules. Si le projet a aussi des dépendances Maven, utilisez --ecosystems=maven,npm ou --workspace. Fichiers de verrouillage et options : Installateur npm.

Tests

elide test trouve *.test.ts, *.spec.js, les fichiers sous test/ et d’autres motifs similaires. Écrivez les tests avec node:test :

// math.test.ts
import test from "node:test";
import assert from "node:assert";

test("adds", () => {
  assert.equal(1 + 1, 2);
});
elide test

Serveurs

elide serve --no-tui ./dist # static files on 127.0.0.1:8080
elide dev --no-tui ./src    # port 3000; pages reload on change

Avec un script, serve et dev l’exécutent ; un module qui exporte un gestionnaire fetch est servi directement. Voir Serveur de développement.

Exemples

Pour aller plus loin

Modules Node et Web implémentés : Vue d’ensemble de l’API. Pilotes SQLite, PostgreSQL et MySQL : Bases de données. Résultats mesurés : Matrice de compatibilité. Traces, métriques et journaux via @opentelemetry/api, sans SDK : OpenTelemetry en JavaScript.

Cette page vous a-t-elle aidé ?