Jeg forsøger at bruge ESM med TypeScript og Webpack i et NX-monorepo. Efter noget konfiguration er jeg i stand til at transpile til ESM med tsc. Til dette måtte jeg tilføje en ".js" til de relative imports.
import { AppModule } from './app/app.module.js';Nu hvor jeg prøver at bruge webpack, ser det ikke ud til, at det registrerer, at det er en ESM. Her er den fejl, jeg får:
ERROR in ./apps/nxnest/src/main.ts 9:0-48 Module not found: Error: Can't re Læs mere →så jeg har en applikation, som er afhængig af et bibliotek, som vi har offentliggjort på NPM. Når man importerer dette bibliotek i en nyoprettet NextJs-applikation, kaster det følgende.
error - /Users/apple/testing-build/node_modules/foobar/dist/some-library.es.js:1 import t, { useState as M } from "react"; ^^^^^^ SyntaxError: Cannot use import statement outside a module at Object.compileFunction (node:vm:360:18) at wrapSafe (node:internal/modules/cjs/loader:1 Læs mere →Typescript testfiler fungerer perfekt ved brug af ts-jest transform (Windows 11, jest 29.4.2, node 18.13.0), hvis jeg ikke importerer filer fra min applikation.
Men hvis jeg importerer en fil fra min applikation (ESM js-fil kompileret fra TypeScript-kilde), fejler det med fejlen: ReferenceError: exports is not defined på importlinjen:
import {Configuration} from "../server/ServerConfiguration.js"; describe("ServerConfiguration" Læs mere →dette er et eksempel med ren nestjs, der fungerer fint https://github.com/robertIsaac/nest-esm
dette er et eksempel med nestjs med nx, der ikke virker https://github.com/robertIsaac/nx-nest-esm
Jeg har allerede åbnet en sag i nx https://github.com/nrwl/nx/issues/19618, det er en måned siden uden at de har rettet det og siger, at der er behov for flere uger og gav en løsning, der stadig ikke virker
hvordan man formerer
Jeg har et stort NX-baseret monorepo, et halvt dusin apps, frontend, backend, snesevis af biblioteker. Det er alt sammen stadig sat op til at arbejde med commonjs-modultyper, hvilket er det, som NX-generatorerne altid har produceret, og stadig gør.
Men flere og flere biblioteker udgiver "kun ESM"-versioner, som slet ikke fungerer for dette monorepo.
Jeg har lige fuldført nx migrate latest, er på NX 17, Typescript 5.2, Angular 17, men commonjs ser bare ud til at blive, hvor det er.
Læs mere →
Jeg bruger ReactJS og Typescript med Vite og vil hente adressen fra mnemonic. Jeg har lavet en funktion til dette, generateAddressFromMnomic, som tager en mnemonic-streng som parameter, men når jeg sender ecc, som er importeret fra tiny-secp256k1 og bruges i BIP32Factory, får jeg vite-fejlen "ESM integration proposal for Wasm" understøttes ikke i øjeblikket i vite react og typescript, som vist på billedet nedenfor. Det sker, når jeg bruger const bip32=BIP32Factory(ecc). Jeg har også forsøgt a
Læs mere →
Jeg har prøvet at få et projekt oprettet via Electron Forge til at fungere med ESM.
På dette tidspunkt er ESM stort set et must, da de nødvendige biblioteker kun eksporterer til ESM, og brugen af ældre biblioteker ikke er accepteret. Jeg vil også gerne undgå hacks, forks og mærkelige imports (f.eks. import-sync) for at få dem til at fungere i CommonJS.
Så den nuv
Læs mere →Jeg kan køre mine ESM .spec-filer med Jest. Mit spørgsmål handler om at indlæse selve jest.config.ts-filen (i stedet for .spec.ts-filer) som ESM i stedet for CommonJS.
Filen jest.config.ts importerer en ESM-module såsom strip-json-comments (versioner > 4.0 understøtter kun ESM).
jest.config.ts:
import strip from 'strip-json-comments' export default function config(){ // call the esm Læs mere →import { Injectable, OnModuleInit } from '@nestjs/common'; @Injectable() export class PotatoService implements OnModuleInit { constructor() {} async onModuleInit(): Promise<void> { const chalk = (await import('chalk')).default; console.log(chalk.blue('potato service init')); } }
Jeg prøver at bruge import(), men får en fejl
node:internal/process/promises:289 triggerUncaughtException(err, true /* fromPromise */); Læs mere →Selvom dette problem virker meget enkelt at løse, og med nogle opslag, der nævner et lignende problem, fulgte jeg alt muligt, før jeg kom her for at spørge. Dette problem fortsætter stadig.
Jeg har et TS-monorepo med nogle pakker, hvoraf en er @repo/db-client. Jeg importerer den i min node fastify-backend, hvor jeg har nogle tests. For enkelhedens skyld og for at vise, hvad problemet er, lad os sige, at dette er min
Læs mere →