fix: imports ESM avec extensions .js — NodeNext compatible Render — 117/117 tests
This commit is contained in:
parent
dd2dfaa662
commit
f08be960b0
13 changed files with 44 additions and 43 deletions
|
|
@ -1,7 +1,8 @@
|
|||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(npm run:*)"
|
||||
"Bash(npm run:*)",
|
||||
"Bash(SUPABASE_URL=https://dummy.supabase.co SUPABASE_SERVICE_ROLE_KEY=dummy node -e \"import\\('./dist/index.js'\\).then\\(\\(\\) => { console.log\\('IMPORT_OK'\\); process.exit\\(0\\); }\\).catch\\(e => { console.error\\('IMPORT_FAIL:', e.message\\); process.exit\\(1\\); }\\)\")"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { supabase } from '../lib/supabase'
|
||||
import { correctEE as deepseekCorrectEE, correctEO as deepseekCorrectEO } from '../lib/deepseek'
|
||||
import type { EERapport, EORapport } from '../lib/deepseek'
|
||||
import type { AuthProfile } from '../middleware/auth'
|
||||
import { supabase } from '../lib/supabase.js'
|
||||
import { correctEE as deepseekCorrectEE, correctEO as deepseekCorrectEO } from '../lib/deepseek.js'
|
||||
import type { EERapport, EORapport } from '../lib/deepseek.js'
|
||||
import type { AuthProfile } from '../middleware/auth.js'
|
||||
|
||||
type CorrectionError = {
|
||||
error: true
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { supabase } from '../lib/supabase'
|
||||
import { canUserSimulate, getPlanPermissions } from '../lib/access'
|
||||
import type { Plan } from '../lib/access'
|
||||
import type { AuthProfile } from '../middleware/auth'
|
||||
import { supabase } from '../lib/supabase.js'
|
||||
import { canUserSimulate, getPlanPermissions } from '../lib/access.js'
|
||||
import type { Plan } from '../lib/access.js'
|
||||
import type { AuthProfile } from '../middleware/auth.js'
|
||||
|
||||
export type Tache = 'EE_T1' | 'EE_T2' | 'EE_T3' | 'EO_T1' | 'EO_T3' | 'EO_T2_LIVE'
|
||||
export type Mode = 'entrainement' | 'examen'
|
||||
|
|
|
|||
10
src/index.ts
10
src/index.ts
|
|
@ -1,11 +1,11 @@
|
|||
import 'dotenv/config'
|
||||
import { Hono } from 'hono'
|
||||
import { serve } from '@hono/node-server'
|
||||
import authRoutes from './routes/auth'
|
||||
import plansRoutes from './routes/plans'
|
||||
import simulationsRoutes from './routes/simulations'
|
||||
import correctionsRoutes from './routes/corrections'
|
||||
import stripeRoutes from './routes/stripe'
|
||||
import authRoutes from './routes/auth.js'
|
||||
import plansRoutes from './routes/plans.js'
|
||||
import simulationsRoutes from './routes/simulations.js'
|
||||
import correctionsRoutes from './routes/corrections.js'
|
||||
import stripeRoutes from './routes/stripe.js'
|
||||
|
||||
const app = new Hono()
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { supabase } from './supabase'
|
||||
import { PLANS } from './access'
|
||||
import type { Plan } from './access'
|
||||
import { supabase } from './supabase.js'
|
||||
import { PLANS } from './access.js'
|
||||
import type { Plan } from './access.js'
|
||||
|
||||
export async function updateUserPlan(
|
||||
userId: string,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type { Context, Next } from 'hono'
|
||||
import { supabase } from '../lib/supabase'
|
||||
import { supabase } from '../lib/supabase.js'
|
||||
|
||||
export type AuthUser = {
|
||||
id: string
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import type { Context, Next } from 'hono'
|
||||
import { checkFeatureAccess, getPlanPermissions } from '../lib/access'
|
||||
import type { Feature, Plan } from '../lib/access'
|
||||
import type { AppVariables } from './auth'
|
||||
import { checkFeatureAccess, getPlanPermissions } from '../lib/access.js'
|
||||
import type { Feature, Plan } from '../lib/access.js'
|
||||
import type { AppVariables } from './auth.js'
|
||||
|
||||
/**
|
||||
* Vérifie que le profil de l'utilisateur (posé par authMiddleware)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { Hono } from 'hono'
|
||||
import { authMiddleware } from '../middleware/auth'
|
||||
import type { AppVariables } from '../middleware/auth'
|
||||
import { authMiddleware } from '../middleware/auth.js'
|
||||
import type { AppVariables } from '../middleware/auth.js'
|
||||
|
||||
const auth = new Hono<{ Variables: AppVariables }>()
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { Hono } from 'hono'
|
||||
import { authMiddleware } from '../middleware/auth'
|
||||
import type { AppVariables } from '../middleware/auth'
|
||||
import * as correctionController from '../controllers/correctionController'
|
||||
import { authMiddleware } from '../middleware/auth.js'
|
||||
import type { AppVariables } from '../middleware/auth.js'
|
||||
import * as correctionController from '../controllers/correctionController.js'
|
||||
|
||||
const VALID_TACHES_EE = ['EE_T1', 'EE_T2', 'EE_T3']
|
||||
const VALID_TACHES_EO = ['EO_T1', 'EO_T3']
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { Hono } from 'hono'
|
||||
import Stripe from 'stripe'
|
||||
import { authMiddleware } from '../middleware/auth'
|
||||
import type { AppVariables } from '../middleware/auth'
|
||||
import { getPlanPermissions, PLANS } from '../lib/access'
|
||||
import { authMiddleware } from '../middleware/auth.js'
|
||||
import type { AppVariables } from '../middleware/auth.js'
|
||||
import { getPlanPermissions, PLANS } from '../lib/access.js'
|
||||
|
||||
const plans = new Hono<{ Variables: AppVariables }>()
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
import { Hono } from 'hono'
|
||||
import { authMiddleware } from '../middleware/auth'
|
||||
import type { AppVariables } from '../middleware/auth'
|
||||
import { getPlanPermissions } from '../lib/access'
|
||||
import type { Plan } from '../lib/access'
|
||||
import * as simulationController from '../controllers/simulationController'
|
||||
import type { Tache, Mode } from '../controllers/simulationController'
|
||||
import { authMiddleware } from '../middleware/auth.js'
|
||||
import type { AppVariables } from '../middleware/auth.js'
|
||||
import { getPlanPermissions } from '../lib/access.js'
|
||||
import type { Plan } from '../lib/access.js'
|
||||
import * as simulationController from '../controllers/simulationController.js'
|
||||
import type { Tache, Mode } from '../controllers/simulationController.js'
|
||||
|
||||
const VALID_TACHES: Tache[] = ['EE_T1', 'EE_T2', 'EE_T3', 'EO_T1', 'EO_T3', 'EO_T2_LIVE']
|
||||
const VALID_MODES: Mode[] = ['entrainement', 'examen']
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
import { Hono } from 'hono'
|
||||
import type Stripe from 'stripe'
|
||||
import { authMiddleware } from '../middleware/auth'
|
||||
import type { AppVariables } from '../middleware/auth'
|
||||
import { createCheckoutSession, verifyStripeWebhook } from '../lib/stripe'
|
||||
import { authMiddleware } from '../middleware/auth.js'
|
||||
import type { AppVariables } from '../middleware/auth.js'
|
||||
import { createCheckoutSession, verifyStripeWebhook } from '../lib/stripe.js'
|
||||
import {
|
||||
updateUserPlan,
|
||||
updateUserStripeInfo,
|
||||
findUserBySubscriptionId,
|
||||
} from '../lib/planController'
|
||||
import type { Plan } from '../lib/access'
|
||||
import { PLANS } from '../lib/access'
|
||||
} from '../lib/planController.js'
|
||||
import type { Plan } from '../lib/access.js'
|
||||
import { PLANS } from '../lib/access.js'
|
||||
|
||||
const stripeRoutes = new Hono<{ Variables: AppVariables }>()
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2022",
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "Bundler",
|
||||
"module": "NodeNext",
|
||||
"moduleResolution": "NodeNext",
|
||||
"lib": ["ES2022"],
|
||||
"outDir": "./dist",
|
||||
"rootDir": "./src",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue