1+ // import { createRequire } from 'module'
2+ // const require = createRequire(import.meta.url)
13import express from 'express'
24import session from 'express-session'
35import handlebars from 'express-handlebars'
46import { v4 as uuid } from 'uuid'
57import cors from 'cors'
68import vhost from 'vhost'
7- import aclCheck from '@solid/acl-check'
89import path from 'path'
9- import { createRequire } from 'module'
10+ import aclCheck from '@solid/acl-check'
11+ import fs from 'fs'
1012import { fileURLToPath } from 'url'
1113import { dirname } from 'path'
1214import acceptEventsModule from 'express-accept-events'
@@ -18,29 +20,28 @@ import prepModule from 'express-prep'
1820const __filename = fileURLToPath ( import . meta. url )
1921const __dirname = dirname ( __filename )
2022
21- // Create require for accessing CommonJS modules and package.json
22- const require = createRequire ( import . meta. url )
23- const { version } = require ( '../package.json' )
23+ // Read package.json synchronously to avoid using require() for JSON
24+ const { version } = JSON . parse ( fs . readFileSync ( path . join ( __dirname , '../package.json' ) , 'utf8' ) )
2425
2526// Complex internal modules - keep as CommonJS for now except where ESM available
26- const LDP = require ( './ldp.js' )
27+ import LDP from './ldp.mjs'
2728import LdpMiddleware from './ldp-middleware.mjs'
28- const corsProxy = require ( './handlers/cors-proxy.js' )
29- const authProxy = require ( './handlers/auth-proxy.js' )
30- const SolidHost = require ( './models/solid-host.js' )
31- const AccountManager = require ( './models/account-manager.js' )
32- const EmailService = require ( './services/email-service.js' )
33- const TokenService = require ( './services/token-service.js' )
34- const capabilityDiscovery = require ( './capability-discovery.js' )
35- const paymentPointerDiscovery = require ( './payment-pointer-discovery.js' )
36- const API = require ( './api/index.js' )
37- const errorPages = require ( './handlers/error-pages.js' )
38- const config = require ( './server-config.js' )
29+ import corsProxy from './handlers/cors-proxy.mjs'
30+ import authProxy from './handlers/auth-proxy.mjs'
31+ import SolidHost from './models/solid-host.mjs'
32+ import AccountManager from './models/account-manager.mjs'
33+ import EmailService from './services/email-service.mjs'
34+ import TokenService from './services/token-service.mjs'
35+ import capabilityDiscovery from './capability-discovery.mjs'
36+ import paymentPointerDiscovery from './payment-pointer-discovery.mjs'
37+ import * as API from './api/index.mjs'
38+ import errorPages from './handlers/error-pages.mjs'
39+ import * as config from './server-config.mjs'
3940import defaults from '../config/defaults.mjs'
40- const options = require ( './handlers/options.js' )
41+ import options from './handlers/options.mjs'
4142import { handlers as debug } from './debug.mjs'
4243import { routeResolvedFile } from './utils.mjs'
43- const ResourceMapper = require ( './resource-mapper.js' )
44+ import ResourceMapper from './resource-mapper.mjs'
4445
4546// Extract default exports from ESM modules
4647const acceptEvents = acceptEventsModule . default
@@ -94,7 +95,7 @@ function createApp (argv = {}) {
9495
9596 // Serve the public 'common' directory (for shared CSS files, etc)
9697 app . use ( '/common' , express . static ( path . join ( __dirname , '../common' ) ) )
97- app . use ( '/' , express . static ( path . dirname ( require . resolve ( 'mashlib/dist/databrowser.html' ) ) , { index : false } ) )
98+ app . use ( '/' , express . static ( path . dirname ( import . meta . resolve ( 'mashlib/dist/databrowser.html' ) ) , { index : false } ) )
9899 routeResolvedFile ( app , '/common/js/' , 'solid-auth-client/dist-lib/solid-auth-client.bundle.js' )
99100 routeResolvedFile ( app , '/common/js/' , 'solid-auth-client/dist-lib/solid-auth-client.bundle.js.map' )
100101 app . use ( '/.well-known' , express . static ( path . join ( __dirname , '../common/well-known' ) ) )
0 commit comments