diff --git a/package.json b/package.json index 073df43..e5de441 100644 --- a/package.json +++ b/package.json @@ -2,14 +2,15 @@ "name": "vite-react-typescript-starter", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "concurrently \"npm:dev:frontend\" \"npm:dev:backend\"", "dev:frontend": "vite", - "dev:backend": "ts-node server.ts", + "dev:backend": "node --loader ts-node/esm server.mts", "build": "npm run build:frontend && npm run build:backend", "build:frontend": "vite build", - "build:backend": "tsc --project tsconfig.server.json", - "start": "node dist-server/server.js", + "build:backend": "tsc --project tsconfig.server.json && echo '{\"type\": \"module\"}' > dist-server/package.json", + "start": "node dist-server/server.mjs", "lint": "eslint .", "preview": "vite preview" }, @@ -52,4 +53,4 @@ "typescript-eslint": "^8.3.0", "vite": "^5.4.2" } -} +} \ No newline at end of file diff --git a/server.ts b/server.mts similarity index 98% rename from server.ts rename to server.mts index 6d24a8c..cf2a88b 100644 --- a/server.ts +++ b/server.mts @@ -1,5 +1,5 @@ -const express = require('express'); -const { GoogleGenAI } = require('@google/genai'); +import express from 'express'; +import { GoogleGenAI } from '@google/genai'; import type { Request, Response } from 'express'; const app = express(); diff --git a/tsconfig.server.json b/tsconfig.server.json index 05706e6..be3a788 100644 --- a/tsconfig.server.json +++ b/tsconfig.server.json @@ -1,13 +1,13 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "module": "CommonJS", - "moduleResolution": "node", + "module": "NodeNext", + "moduleResolution": "NodeNext", "outDir": "dist-server", "noEmit": false, "isolatedModules": false, "resolveJsonModule": true }, - "include": ["server.ts"], + "include": ["server.mts"], "exclude": ["src", "node_modules"] } \ No newline at end of file