node.js - Jest löser inte ESM lokala importeringar

Jag har ett Typescript-projekt med två filer, a.ts och b.ts. Jag importerar den sistnämnda i a.ts så här

import * from "./b.js"

Detta fungerar bra. Typescript förstår. Men när jag kör Jest (med ts-jest) får jag

Cannot find module './b.js' fro

Läs mer →

typescript - esModuleInterop: true, ändå TSLint felar med: "kan endast importeras som standard med flaggan 'esModuleInterop'"

Jag är inte säker på varför jag får titelfelet på båda standardimporterna nedan:

// ./src/classes/FirestoreConnection.ts import admin, {firestore} from "firebase-admin"; import firebase from "firebase"; // TS1259: Module '"/home/owner/PhpstormPr

Läs mer →

reactjs - Varför är min modul ett tomt {} när jag kör Jest och importerar en ESM-modul?

Jag importerar standardimporten från ett node_module-paket som exporterar en ESM-modul. Jag har konfigurerat min Jest/Babel så att det slutade klaga på SyntaxError: Unexpected token import, men nu när modulen importeras framgångsrikt visar det sig att modulen är ett tomt objekt. Behöver jag på något sätt transformera min kod? (P.S. Det kanske går utan att säga, men importen fungerar bra i min app.) (P.P.S. Jag använder Create React App och TypeScript, ifall det spelar någon roll.

Läs mer →

node.js - Hur får man @babel/register att transpile ESM-importer?

Jag använder följande för att transpilera TypeScript-filer vid körning.

import babelRegister from "@babel/register" babelRegister({ presets: [ "@babel/preset-env", "@babel/preset-react", "@babel/preset-typescript", ], extensions: [".tsx"], cache: false, })

Allt fungerade bra tills jag försökte migrera kodbasen från CommonJS till ESM.

Enligt Sindre Sorhus måste man ersätta require

Läs mer →

node.js - Importera ett CommonJS-modul i ett Typescript-projekt som exporterar ESModules

Jag skapar ett NodeJs-bibliotek i Typescript och jag planerar att det ska stödja Node@14+. Så jag bestämde mig för att basera detta projekt som ett ESModule istället för CommonJs. Nu finns det några bibliotek som krävs som är CommonJs och jag installerar deras @types. Importerna i min typescript-fil ser ut så här:

import { Command } from 'commander'; import inquirer from 'inquirer'; import { resolve } from 'path'; import { render } from 'mustache'; import { copySyn

Läs mer →

typescript - Utesluter --always-strict från 'tsconfig.json' i en ESM-modul

ESM & "use strict"


Sedan lanseringen av följande tsconfig.json-flaggor...

  • $ tsc --module "Node16"
  • $ tsc --moduleResolution "Node16"

...Jag har bara skrivit ES6-standardiserade JavaScript-moduler, i "TypeScript". Min uppfattning är

Läs mer →

node.js - Importera moduler från projektets rot (Node 18 + TS + ESM)

Jag försöker importera ett modul från mitt Node-projekts rot istället för att använda relativ sökväg. Jag använder Node 18, ESM, Typescript och kör det med ts-node-esm.

Kod :

// import { number } from './check.js' // works import { number } from 'check.js' // does not work console.log(number)

Fel :

~/Code/ts-esm (main)*$ yarn dev yarn run v1.22.19 ts-node-esm src/start.ts /home/rjurado/Code/ts-esm/

Läs mer →

javascript - Finns det någon fördel med att byta till ESM om jag redan använder TypeScript i min Node.js-tjänst

Mitt nuvarande användningsfall är att jag använder node-fetch i min tjänst och den senaste versionen av node-fetch (3.x) är en ren ESM-modul vilket innebär att jag kommer att vara fast vid v2.x och inte kommer att kunna uppdatera den.

Mina alternativ är antingen att konvertera min tjänst till ESM från CJS eller byta till någon annan HTTP-klient som axios. Båda alternativen kräver mycket arbete och jag försöker se vilket alternativ som är mest meningsfullt.

Läs mer →

Migrera webpack react-typescript-projekt till ESM-moduler

Jag har ett Typescript-projekt baserat på nodejs, React och bundlat med Webpack5 kodbasen har servermoduler(.ts), klientmoduler(.ts,.tsx) och gemensamma moduler(.ts) Har inte haft några problem att bygga hittills Jag började migrera kodbasen till esm-moduler tillämpade korrigeringar på package.json och tsconfig.json för att stödja och generera esm ändrade alla filnamn från *.ts till *.mts, och lämnade *.ts

Läs mer →

javascript - Hur man fixar require() av ES-modul /dir/node_modules/@angular/core/fesm2015/core.mjs som inte stöds

På VsCode inkluderade jag Quokka.js-tillägget. Jag försökte köra det på en TypeScript-fil och fick följande fel:

require() of ES Module /project/node_modules/@angular/core/fesm2015/core.mjs not supported.  Instead change the require of /project/node_modules/@angular/core/fesm2015/core.mjs to a dynamic import() which is available in all CommonJS modules.  ​​​​​at ​​​​​​​​Object.<anonymous>​​​ ​libs/features/orders/src/lib/components/order-list.component.ts:1

Läs mer →