elit 3.0.2 → 3.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -1412,7 +1412,7 @@ var require_package = __commonJS({
1412
1412
  "package.json"(exports2, module2) {
1413
1413
  module2.exports = {
1414
1414
  name: "elit",
1415
- version: "3.0.2",
1415
+ version: "3.0.3",
1416
1416
  description: "Optimized lightweight library for creating DOM elements with reactive state",
1417
1417
  main: "dist/index.js",
1418
1418
  module: "dist/index.mjs",
@@ -3028,22 +3028,23 @@ var sendError = (res, code, msg) => {
3028
3028
  var send404 = (res, msg = "Not Found") => sendError(res, 404, msg);
3029
3029
  var send403 = (res, msg = "Forbidden") => sendError(res, 403, msg);
3030
3030
  var send500 = (res, msg = "Internal Server Error") => sendError(res, 500, msg);
3031
- var createElitImportMap = (basePath = "", mode = "dev") => {
3031
+ var createElitImportMap = async (rootDir, basePath = "", mode = "dev") => {
3032
3032
  const srcPath = mode === "dev" ? basePath ? `${basePath}/node_modules/elit/src` : "/node_modules/elit/src" : basePath ? `${basePath}/node_modules/elit/dist` : "/node_modules/elit/dist";
3033
3033
  const fileExt = mode === "dev" ? ".ts" : ".mjs";
3034
- return `<script type="importmap">{
3035
- "imports": {
3036
- "elit": "${srcPath}/index${fileExt}",
3037
- "elit/": "${srcPath}/",
3038
- "elit/dom": "${srcPath}/dom${fileExt}",
3039
- "elit/state": "${srcPath}/state${fileExt}",
3040
- "elit/style": "${srcPath}/style${fileExt}",
3041
- "elit/el": "${srcPath}/el${fileExt}",
3042
- "elit/router": "${srcPath}/router${fileExt}",
3043
- "elit/hmr": "${srcPath}/hmr${fileExt}",
3044
- "elit/types": "${srcPath}/types${fileExt}"
3045
- }
3046
- }</script>`;
3034
+ const elitImports = {
3035
+ "elit": `${srcPath}/index${fileExt}`,
3036
+ "elit/": `${srcPath}/`,
3037
+ "elit/dom": `${srcPath}/dom${fileExt}`,
3038
+ "elit/state": `${srcPath}/state${fileExt}`,
3039
+ "elit/style": `${srcPath}/style${fileExt}`,
3040
+ "elit/el": `${srcPath}/el${fileExt}`,
3041
+ "elit/router": `${srcPath}/router${fileExt}`,
3042
+ "elit/hmr": `${srcPath}/hmr${fileExt}`,
3043
+ "elit/types": `${srcPath}/types${fileExt}`
3044
+ };
3045
+ const externalImports = await generateExternalImportMaps(rootDir, basePath);
3046
+ const allImports = { ...externalImports, ...elitImports };
3047
+ return `<script type="importmap">${JSON.stringify({ imports: allImports }, null, 2)}</script>`;
3047
3048
  };
3048
3049
  var createHMRScript = (port, wsPath) => `<script>(function(){let ws;let retries=0;let maxRetries=5;function connect(){ws=new WebSocket('ws://'+window.location.hostname+':${port}${wsPath}');ws.onopen=()=>{console.log('[Elit HMR] Connected');retries=0};ws.onmessage=(e)=>{const d=JSON.parse(e.data);if(d.type==='update'){console.log('[Elit HMR] File updated:',d.path);window.location.reload()}else if(d.type==='reload'){console.log('[Elit HMR] Reloading...');window.location.reload()}else if(d.type==='error')console.error('[Elit HMR] Error:',d.error)};ws.onclose=()=>{if(retries<maxRetries){retries++;setTimeout(connect,1000*retries)}else if(retries===maxRetries){console.log('[Elit HMR] Connection closed. Start dev server to reconnect.')}};ws.onerror=()=>{ws.close()}}connect()})();</script>`;
3049
3050
  var rewriteRelativePaths = (html, basePath) => {
@@ -3071,6 +3072,220 @@ async function findSpecialDir(startDir, targetDir) {
3071
3072
  }
3072
3073
  return null;
3073
3074
  }
3075
+ var importMapCache = /* @__PURE__ */ new Map();
3076
+ async function generateExternalImportMaps(rootDir, basePath = "") {
3077
+ const cacheKey = `${rootDir}:${basePath}`;
3078
+ if (importMapCache.has(cacheKey)) {
3079
+ return importMapCache.get(cacheKey);
3080
+ }
3081
+ const importMap = {};
3082
+ const nodeModulesPath = await findNodeModules(rootDir);
3083
+ if (!nodeModulesPath) {
3084
+ importMapCache.set(cacheKey, importMap);
3085
+ return importMap;
3086
+ }
3087
+ try {
3088
+ const { readdir: readdir2 } = await Promise.resolve().then(() => (init_fs(), fs_exports));
3089
+ const packages = await readdir2(nodeModulesPath);
3090
+ for (const pkgEntry of packages) {
3091
+ const pkg = typeof pkgEntry === "string" ? pkgEntry : pkgEntry.name;
3092
+ if (pkg.startsWith(".")) continue;
3093
+ if (pkg.startsWith("@")) {
3094
+ try {
3095
+ const scopedPackages = await readdir2(join(nodeModulesPath, pkg));
3096
+ for (const scopedEntry of scopedPackages) {
3097
+ const scopedPkg = typeof scopedEntry === "string" ? scopedEntry : scopedEntry.name;
3098
+ const fullPkgName = `${pkg}/${scopedPkg}`;
3099
+ await processPackage(nodeModulesPath, fullPkgName, importMap, basePath);
3100
+ }
3101
+ } catch {
3102
+ }
3103
+ } else {
3104
+ await processPackage(nodeModulesPath, pkg, importMap, basePath);
3105
+ }
3106
+ }
3107
+ } catch (error) {
3108
+ console.error("[Import Maps] Error scanning node_modules:", error);
3109
+ }
3110
+ importMapCache.set(cacheKey, importMap);
3111
+ return importMap;
3112
+ }
3113
+ async function findNodeModules(startDir) {
3114
+ const foundDir = await findSpecialDir(startDir, "node_modules");
3115
+ return foundDir ? join(foundDir, "node_modules") : null;
3116
+ }
3117
+ function isBrowserCompatible(pkgName, pkgJson) {
3118
+ const buildTools = [
3119
+ "typescript",
3120
+ "esbuild",
3121
+ "@esbuild/",
3122
+ "tsx",
3123
+ "tsup",
3124
+ "rollup",
3125
+ "vite",
3126
+ "webpack",
3127
+ "parcel",
3128
+ "terser",
3129
+ "uglify",
3130
+ "babel",
3131
+ "@babel/",
3132
+ "postcss",
3133
+ "autoprefixer",
3134
+ "cssnano",
3135
+ "sass",
3136
+ "less",
3137
+ "stylus"
3138
+ ];
3139
+ const nodeOnly = [
3140
+ "node-",
3141
+ "@node-",
3142
+ "fsevents",
3143
+ "chokidar",
3144
+ "express",
3145
+ "koa",
3146
+ "fastify",
3147
+ "nest",
3148
+ "commander",
3149
+ "yargs",
3150
+ "inquirer",
3151
+ "chalk",
3152
+ "ora",
3153
+ "nodemon",
3154
+ "pm2",
3155
+ "dotenv"
3156
+ ];
3157
+ const testingTools = [
3158
+ "jest",
3159
+ "vitest",
3160
+ "mocha",
3161
+ "chai",
3162
+ "jasmine",
3163
+ "@jest/",
3164
+ "@testing-library/",
3165
+ "@vitest/",
3166
+ "playwright",
3167
+ "puppeteer",
3168
+ "cypress"
3169
+ ];
3170
+ const linters = [
3171
+ "eslint",
3172
+ "@eslint/",
3173
+ "prettier",
3174
+ "tslint",
3175
+ "stylelint",
3176
+ "commitlint"
3177
+ ];
3178
+ const typeDefinitions = [
3179
+ "@types/",
3180
+ "@typescript-eslint/"
3181
+ ];
3182
+ const utilities = [
3183
+ "get-tsconfig",
3184
+ "resolve-pkg-maps",
3185
+ "pkg-types",
3186
+ "fast-glob",
3187
+ "globby",
3188
+ "micromatch",
3189
+ "execa",
3190
+ "cross-spawn",
3191
+ "shelljs"
3192
+ ];
3193
+ const skipPatterns = [
3194
+ ...buildTools,
3195
+ ...nodeOnly,
3196
+ ...testingTools,
3197
+ ...linters,
3198
+ ...typeDefinitions,
3199
+ ...utilities
3200
+ ];
3201
+ if (skipPatterns.some((pattern) => pkgName.startsWith(pattern))) {
3202
+ return false;
3203
+ }
3204
+ if (pkgName === "lodash") {
3205
+ return false;
3206
+ }
3207
+ if (pkgJson.browser || pkgJson.module) {
3208
+ return true;
3209
+ }
3210
+ if (pkgJson.exports) {
3211
+ const exportsStr = JSON.stringify(pkgJson.exports);
3212
+ if (exportsStr.includes('"import"') || exportsStr.includes('"browser"')) {
3213
+ return true;
3214
+ }
3215
+ }
3216
+ if (pkgJson.type === "commonjs" && !pkgJson.module && !pkgJson.browser) {
3217
+ return false;
3218
+ }
3219
+ return !!(pkgJson.exports || pkgJson.type === "module" || pkgJson.module);
3220
+ }
3221
+ async function processPackage(nodeModulesPath, pkgName, importMap, basePath) {
3222
+ const pkgPath = join(nodeModulesPath, pkgName);
3223
+ const pkgJsonPath = join(pkgPath, "package.json");
3224
+ try {
3225
+ const pkgJsonContent = await readFile(pkgJsonPath);
3226
+ const pkgJson = JSON.parse(pkgJsonContent.toString());
3227
+ if (!isBrowserCompatible(pkgName, pkgJson)) {
3228
+ return;
3229
+ }
3230
+ const baseUrl = basePath ? `${basePath}/node_modules/${pkgName}` : `/node_modules/${pkgName}`;
3231
+ if (pkgJson.exports) {
3232
+ processExportsField(pkgName, pkgJson.exports, baseUrl, importMap);
3233
+ } else {
3234
+ const entryPoint = pkgJson.browser || pkgJson.module || pkgJson.main || "index.js";
3235
+ importMap[pkgName] = `${baseUrl}/${entryPoint}`;
3236
+ importMap[`${pkgName}/`] = `${baseUrl}/`;
3237
+ }
3238
+ } catch {
3239
+ }
3240
+ }
3241
+ function processExportsField(pkgName, exports2, baseUrl, importMap) {
3242
+ if (typeof exports2 === "string") {
3243
+ importMap[pkgName] = `${baseUrl}/${exports2}`;
3244
+ importMap[`${pkgName}/`] = `${baseUrl}/`;
3245
+ return;
3246
+ }
3247
+ if (typeof exports2 === "object" && exports2 !== null) {
3248
+ if ("." in exports2) {
3249
+ const dotExport = exports2["."];
3250
+ const resolved = resolveExport(dotExport);
3251
+ if (resolved) {
3252
+ importMap[pkgName] = `${baseUrl}/${resolved}`;
3253
+ }
3254
+ } else if ("import" in exports2) {
3255
+ const resolved = resolveExport(exports2);
3256
+ if (resolved) {
3257
+ importMap[pkgName] = `${baseUrl}/${resolved}`;
3258
+ }
3259
+ }
3260
+ for (const [key, value] of Object.entries(exports2)) {
3261
+ if (key === "." || key === "import" || key === "require" || key === "types" || key === "default") {
3262
+ continue;
3263
+ }
3264
+ const resolved = resolveExport(value);
3265
+ if (resolved) {
3266
+ const cleanKey = key.startsWith("./") ? key.slice(2) : key;
3267
+ const importName = cleanKey ? `${pkgName}/${cleanKey}` : pkgName;
3268
+ importMap[importName] = `${baseUrl}/${resolved}`;
3269
+ }
3270
+ }
3271
+ importMap[`${pkgName}/`] = `${baseUrl}/`;
3272
+ }
3273
+ }
3274
+ function resolveExport(exportValue) {
3275
+ if (typeof exportValue === "string") {
3276
+ return exportValue.startsWith("./") ? exportValue.slice(2) : exportValue;
3277
+ }
3278
+ if (typeof exportValue === "object" && exportValue !== null) {
3279
+ const resolved = exportValue.import || exportValue.browser || exportValue.default || exportValue.require;
3280
+ if (typeof resolved === "object" && resolved !== null) {
3281
+ return resolveExport(resolved);
3282
+ }
3283
+ if (typeof resolved === "string") {
3284
+ return resolved.startsWith("./") ? resolved.slice(2) : resolved;
3285
+ }
3286
+ }
3287
+ return null;
3288
+ }
3074
3289
  function rewritePath(path, pathRewrite) {
3075
3290
  if (!pathRewrite) return path;
3076
3291
  for (const [from, to] of Object.entries(pathRewrite)) {
@@ -3319,7 +3534,7 @@ function createDevServer(options) {
3319
3534
  }
3320
3535
  let filePath;
3321
3536
  if (url === "/" && matchedClient.ssr && !matchedClient.index) {
3322
- return serveSSR(res, matchedClient);
3537
+ return await serveSSR(res, matchedClient);
3323
3538
  } else {
3324
3539
  filePath = url === "/" ? matchedClient.index || "/index.html" : url;
3325
3540
  }
@@ -3401,7 +3616,7 @@ function createDevServer(options) {
3401
3616
  if (!resolvedPath) {
3402
3617
  if (!res.headersSent) {
3403
3618
  if (filePath === "/index.html" && matchedClient.ssr) {
3404
- return serveSSR(res, matchedClient);
3619
+ return await serveSSR(res, matchedClient);
3405
3620
  }
3406
3621
  if (config.logging) console.log(`[404] ${filePath}`);
3407
3622
  return send404(res, "404 Not Found");
@@ -3425,7 +3640,7 @@ function createDevServer(options) {
3425
3640
  } catch {
3426
3641
  if (config.logging) console.log(`[DEBUG] No index file found in directory`);
3427
3642
  if (matchedClient.ssr) {
3428
- return serveSSR(res, matchedClient);
3643
+ return await serveSSR(res, matchedClient);
3429
3644
  }
3430
3645
  return send404(res, "404 Not Found");
3431
3646
  }
@@ -3445,12 +3660,12 @@ function createDevServer(options) {
3445
3660
  return send403(res, "403 Forbidden");
3446
3661
  }
3447
3662
  await stat(indexPath);
3448
- return serveFile(indexPath, res, matchedClient);
3663
+ return serveFile(indexPath, res, matchedClient, isDistRequest || isNodeModulesRequest);
3449
3664
  } catch {
3450
3665
  return send404(res, "404 Not Found");
3451
3666
  }
3452
3667
  }
3453
- await serveFile(fullPath, res, matchedClient);
3668
+ await serveFile(fullPath, res, matchedClient, isDistRequest || isNodeModulesRequest);
3454
3669
  } catch (error) {
3455
3670
  if (!res.headersSent) {
3456
3671
  if (config.logging) console.log(`[404] ${filePath}`);
@@ -3458,16 +3673,12 @@ function createDevServer(options) {
3458
3673
  }
3459
3674
  }
3460
3675
  });
3461
- async function serveFile(filePath, res, client) {
3676
+ async function serveFile(filePath, res, client, isNodeModulesOrDist = false) {
3462
3677
  try {
3463
3678
  const rootDir = await realpath(resolve(client.root));
3464
3679
  const unresolvedPath = resolve(filePath);
3465
- const isNodeModules = filePath.includes("/node_modules/") || filePath.includes("\\node_modules\\");
3466
- const isDist = filePath.includes("/dist/") || filePath.includes("\\dist\\");
3467
- const projectRoot = await realpath(resolve(client.root, ".."));
3468
- const isInProjectRoot = unresolvedPath.startsWith(projectRoot + sep) || unresolvedPath === projectRoot;
3469
- if (!unresolvedPath.startsWith(rootDir + sep) && unresolvedPath !== rootDir && !isInProjectRoot) {
3470
- if (!isNodeModules && !isDist) {
3680
+ if (!isNodeModulesOrDist) {
3681
+ if (!unresolvedPath.startsWith(rootDir + sep) && unresolvedPath !== rootDir) {
3471
3682
  if (config.logging) console.log(`[403] Attempted to serve file outside allowed directories: ${filePath}`);
3472
3683
  return send403(res, "403 Forbidden");
3473
3684
  }
@@ -3475,9 +3686,14 @@ function createDevServer(options) {
3475
3686
  let resolvedPath;
3476
3687
  try {
3477
3688
  resolvedPath = await realpath(unresolvedPath);
3689
+ if (isNodeModulesOrDist && resolvedPath) {
3690
+ if (config.logging && !resolvedPath.startsWith(rootDir + sep)) {
3691
+ console.log(`[DEBUG] Serving symlinked file: ${resolvedPath}`);
3692
+ }
3693
+ }
3478
3694
  } catch {
3479
3695
  if (filePath.endsWith("index.html") && client.ssr) {
3480
- return serveSSR(res, client);
3696
+ return await serveSSR(res, client);
3481
3697
  }
3482
3698
  return send404(res, "404 Not Found");
3483
3699
  }
@@ -3581,7 +3797,7 @@ ${error}`);
3581
3797
  }
3582
3798
  }
3583
3799
  }
3584
- const elitImportMap = createElitImportMap(basePath, client.mode);
3800
+ const elitImportMap = await createElitImportMap(client.root, basePath, client.mode);
3585
3801
  const headInjection = ssrStyles ? `${ssrStyles}
3586
3802
  ${elitImportMap}` : elitImportMap;
3587
3803
  html = html.includes("</head>") ? html.replace("</head>", `${headInjection}</head>`) : html;
@@ -3611,7 +3827,7 @@ ${elitImportMap}` : elitImportMap;
3611
3827
  send500(res, "500 Internal Server Error");
3612
3828
  }
3613
3829
  }
3614
- function serveSSR(res, client) {
3830
+ async function serveSSR(res, client) {
3615
3831
  try {
3616
3832
  if (!client.ssr) {
3617
3833
  return send500(res, "SSR function not configured");
@@ -3633,7 +3849,7 @@ ${elitImportMap}` : elitImportMap;
3633
3849
  const basePath = normalizeBasePath(client.basePath);
3634
3850
  html = rewriteRelativePaths(html, basePath);
3635
3851
  const hmrScript = createHMRScript(config.port, basePath);
3636
- const elitImportMap = createElitImportMap(basePath, client.mode);
3852
+ const elitImportMap = await createElitImportMap(client.root, basePath, client.mode);
3637
3853
  html = html.includes("</head>") ? html.replace("</head>", `${elitImportMap}</head>`) : html;
3638
3854
  html = html.includes("</body>") ? html.replace("</body>", `${hmrScript}</body>`) : html + hmrScript;
3639
3855
  res.writeHead(200, { "Content-Type": "text/html", "Cache-Control": "no-cache, no-store, must-revalidate" });
package/dist/server.d.ts CHANGED
@@ -39,6 +39,10 @@ export declare const json: (res: ServerResponse, data: any, status?: number) =>
39
39
  export declare const text: (res: ServerResponse, data: string, status?: number) => ServerResponse;
40
40
  export declare const html: (res: ServerResponse, data: string, status?: number) => ServerResponse;
41
41
  export declare const status: (res: ServerResponse, code: number, message?: string) => ServerResponse;
42
+ /**
43
+ * Clear import map cache (useful when packages are added/removed)
44
+ */
45
+ export declare function clearImportMapCache(): void;
42
46
  export declare function cors(options?: {
43
47
  origin?: string | string[];
44
48
  methods?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}