diff --git a/client/stylelint.config.js b/client/stylelint.config.js index 0faae82..b618b85 100644 --- a/client/stylelint.config.js +++ b/client/stylelint.config.js @@ -1,3 +1,4 @@ +/** @type {import('stylelint').Config} */ module.exports = { extends: ['stylelint-config-standard', 'stylelint-config-recess-order'], // add your custom config here diff --git a/eslint.config.ts b/eslint.config.ts index 915e196..bd82d96 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -43,6 +43,7 @@ export default tseslint.config( files: ['**/*.tsx'], plugins: { react: reactPlugin, + // eslint-disable-next-line @typescript-eslint/no-require-imports 'react-hooks': fixupPluginRules(require('eslint-plugin-react-hooks')), }, settings: { @@ -65,10 +66,6 @@ export default tseslint.config( files: ['server/api/**/controller.ts', 'server/api/**/hooks.ts'], rules: { '@typescript-eslint/explicit-function-return-type': ['off'] }, }, - { - files: ['**/*.js', 'eslint.config.ts'], - rules: { '@typescript-eslint/no-require-imports': ['off'] }, - }, { files: ['server/tests/**/*.ts'], rules: { '@typescript-eslint/no-non-null-assertion': 'off', 'max-lines': 'off' }, diff --git a/server/package.json b/server/package.json index 216149b..6be52ac 100644 --- a/server/package.json +++ b/server/package.json @@ -4,12 +4,12 @@ "scripts": { "predev": "run-s generate migrate:deploy", "dev": "run-p dev:*", - "dev:build": "node ./scripts/build.dev.js", + "dev:build": "node -r esbuild-register ./scripts/build.dev.ts", "dev:server": "touch index.js && node-dev --enable-source-maps --respawn index.js", "dev:frourio": "frourio --watch", "dev:prisma": "prisma generate --watch", "prebuild": "run-s generate migrate:deploy", - "build": "node ./scripts/build.prod.js", + "build": "node -r esbuild-register ./scripts/build.prod.ts", "lint": "prisma format", "generate": "run-s generate:prisma generate:frourio", "generate:frourio": "frourio", diff --git a/server/scripts/build.dev.js b/server/scripts/build.dev.ts similarity index 55% rename from server/scripts/build.dev.js rename to server/scripts/build.dev.ts index faf6ee3..0d3e163 100644 --- a/server/scripts/build.dev.js +++ b/server/scripts/build.dev.ts @@ -1,7 +1,7 @@ -const { context } = require('esbuild'); -const config = require('./config.common'); +import { context } from 'esbuild'; +import { esbuildConfig } from './config.common'; context({ - ...config, + ...esbuildConfig, define: { 'process.env.NODE_ENV': `"development"`, 'import.meta.vitest': 'false' }, }).then((ctx) => ctx.watch()); diff --git a/server/scripts/build.prod.js b/server/scripts/build.prod.ts similarity index 58% rename from server/scripts/build.prod.js rename to server/scripts/build.prod.ts index 402da2a..cf8cb1e 100644 --- a/server/scripts/build.prod.js +++ b/server/scripts/build.prod.ts @@ -1,8 +1,8 @@ -const { build } = require('esbuild'); -const config = require('./config.common'); +import { build } from 'esbuild'; +import { esbuildConfig } from './config.common'; build({ - ...config, + ...esbuildConfig, minify: true, define: { 'process.env.NODE_ENV': `"production"`, 'import.meta.vitest': 'false' }, }).catch(() => process.exit(1)); diff --git a/server/scripts/config.common.js b/server/scripts/config.common.ts similarity index 57% rename from server/scripts/config.common.js rename to server/scripts/config.common.ts index f7a6c1e..bebbc9f 100644 --- a/server/scripts/config.common.js +++ b/server/scripts/config.common.ts @@ -1,7 +1,8 @@ -const { nodeExternalsPlugin } = require('esbuild-node-externals'); -const path = require('path'); +import type { BuildOptions } from 'esbuild'; +import { nodeExternalsPlugin } from 'esbuild-node-externals'; +import path from 'path'; -module.exports = { +export const esbuildConfig: BuildOptions = { entryPoints: [path.resolve(__dirname, '../index.ts')], outdir: path.resolve(__dirname, '../'), platform: 'node', diff --git a/server/vite.config.ts b/server/vite.config.ts index da7848a..1c9a5e0 100644 --- a/server/vite.config.ts +++ b/server/vite.config.ts @@ -1,6 +1,6 @@ import dotenv from 'dotenv'; import tsconfigPaths from 'vite-tsconfig-paths'; -import { defineConfig } from 'vitest/config'; +import { defaultExclude, defineConfig } from 'vitest/config'; import { S3_BUCKET } from './service/envValues'; dotenv.config(); @@ -14,6 +14,7 @@ export default defineConfig({ }, setupFiles: ['tests/setup.ts'], includeSource: ['**/*.ts'], + exclude: [...defaultExclude, 'scripts/*.ts'], // include: ['**/index.test.ts'], poolOptions: { forks: { singleFork: true } }, hookTimeout: 10000,