@hirarijs/loader-ts 1.0.1 → 1.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/index.cjs CHANGED
@@ -213379,11 +213379,17 @@ var import_esbuild = require("esbuild");
213379
213379
  var import_loader = require("@hirarijs/loader");
213380
213380
  var import_path = __toESM(require("path"), 1);
213381
213381
  var import_typescript = __toESM(require_typescript(), 1);
213382
- function createTsResolve(filename, debug = false) {
213383
- const configPath = import_typescript.default.findConfigFile(import_path.default.dirname(filename), import_typescript.default.sys.fileExists, "tsconfig.json");
213382
+ var cachedResolve = null;
213383
+ function createTsResolve(debug = false) {
213384
+ if (cachedResolve) return cachedResolve;
213385
+ const configPath = import_typescript.default.findConfigFile(process.cwd(), import_typescript.default.sys.fileExists, "tsconfig.json");
213384
213386
  if (!configPath) return null;
213385
213387
  const configFile = import_typescript.default.readConfigFile(configPath, import_typescript.default.sys.readFile);
213386
- const config = import_typescript.default.parseJsonConfigFileContent(configFile.config, import_typescript.default.sys, import_path.default.dirname(configPath));
213388
+ const config = import_typescript.default.parseJsonConfigFileContent(
213389
+ configFile.config,
213390
+ import_typescript.default.sys,
213391
+ import_path.default.dirname(configPath)
213392
+ );
213387
213393
  const options = config.options;
213388
213394
  const host = {
213389
213395
  fileExists: import_typescript.default.sys.fileExists,
@@ -213393,19 +213399,20 @@ function createTsResolve(filename, debug = false) {
213393
213399
  getCurrentDirectory: import_typescript.default.sys.getCurrentDirectory,
213394
213400
  getDirectories: import_typescript.default.sys.getDirectories
213395
213401
  };
213396
- return (specifier, importer) => {
213402
+ cachedResolve = (specifier, importer) => {
213397
213403
  const result = import_typescript.default.resolveModuleName(specifier, importer, options, host);
213398
213404
  const resolved = result.resolvedModule?.resolvedFileName;
213399
- if (resolved) {
213400
- if (debug) {
213401
- console.log(`[loader-ts] resolved ${specifier} -> ${resolved}`);
213402
- }
213403
- return resolved;
213405
+ if (resolved && debug) {
213406
+ console.log(`[loader-ts] resolved ${specifier} -> ${resolved}`);
213404
213407
  }
213405
- return null;
213408
+ return resolved || null;
213406
213409
  };
213410
+ if (debug) {
213411
+ console.log("[loader-ts] tsconfig:", configPath);
213412
+ }
213413
+ return cachedResolve;
213407
213414
  }
213408
- function rewriteImports(code, filename, resolve) {
213415
+ function rewriteImports(code, filename, resolve, debug = false) {
213409
213416
  const importLike = /(import\s+[^'";]+?from\s+['"]([^'"]+)['"])|(import\s+['"]([^'"]+)['"])|(export\s+[^'";]+?from\s+['"]([^'"]+)['"])/g;
213410
213417
  return code.replace(importLike, (full, _a, from1, _b, from2, _c, from3) => {
213411
213418
  const spec = from1 || from2 || from3;
@@ -213414,6 +213421,9 @@ function rewriteImports(code, filename, resolve) {
213414
213421
  }
213415
213422
  const resolved = resolve(spec, filename);
213416
213423
  if (!resolved) return full;
213424
+ if (debug) {
213425
+ console.log(`[loader-ts] rewrite ${spec} -> ${resolved}`);
213426
+ }
213417
213427
  const relative = import_path.default.isAbsolute(resolved) ? import_path.default.relative(import_path.default.dirname(filename), resolved).replace(/\\/g, "/") : resolved;
213418
213428
  const normalized = relative.startsWith(".") ? relative : "./" + relative;
213419
213429
  return full.replace(spec, normalized);
@@ -213421,8 +213431,8 @@ function rewriteImports(code, filename, resolve) {
213421
213431
  }
213422
213432
  var extensions = [".ts", ".mts", ".cts"];
213423
213433
  function runTransform(code, filename, ctx) {
213424
- const pathResolver = createTsResolve(filename, ctx.loaderConfig.debug);
213425
- const rewrittenCode = pathResolver ? rewriteImports(code, filename, pathResolver) : code;
213434
+ const pathResolver = createTsResolve(ctx.loaderConfig.debug);
213435
+ const rewrittenCode = pathResolver && !pathResolver(filename, filename) ? code : pathResolver ? rewriteImports(code, filename, pathResolver, ctx.loaderConfig.debug) : code;
213426
213436
  const banner = ctx.format === "cjs" ? `const ${import_loader.IMPORT_META_URL_VARIABLE} = require('url').pathToFileURL(__filename).href;` : void 0;
213427
213437
  const result = (0, import_esbuild.transformSync)(rewrittenCode, {
213428
213438
  loader: "ts",
package/dist/index.js CHANGED
@@ -213376,11 +213376,17 @@ import {
213376
213376
  IMPORT_META_URL_VARIABLE
213377
213377
  } from "@hirarijs/loader";
213378
213378
  import path from "path";
213379
- function createTsResolve(filename, debug = false) {
213380
- const configPath = import_typescript.default.findConfigFile(path.dirname(filename), import_typescript.default.sys.fileExists, "tsconfig.json");
213379
+ var cachedResolve = null;
213380
+ function createTsResolve(debug = false) {
213381
+ if (cachedResolve) return cachedResolve;
213382
+ const configPath = import_typescript.default.findConfigFile(process.cwd(), import_typescript.default.sys.fileExists, "tsconfig.json");
213381
213383
  if (!configPath) return null;
213382
213384
  const configFile = import_typescript.default.readConfigFile(configPath, import_typescript.default.sys.readFile);
213383
- const config = import_typescript.default.parseJsonConfigFileContent(configFile.config, import_typescript.default.sys, path.dirname(configPath));
213385
+ const config = import_typescript.default.parseJsonConfigFileContent(
213386
+ configFile.config,
213387
+ import_typescript.default.sys,
213388
+ path.dirname(configPath)
213389
+ );
213384
213390
  const options = config.options;
213385
213391
  const host = {
213386
213392
  fileExists: import_typescript.default.sys.fileExists,
@@ -213390,19 +213396,20 @@ function createTsResolve(filename, debug = false) {
213390
213396
  getCurrentDirectory: import_typescript.default.sys.getCurrentDirectory,
213391
213397
  getDirectories: import_typescript.default.sys.getDirectories
213392
213398
  };
213393
- return (specifier, importer) => {
213399
+ cachedResolve = (specifier, importer) => {
213394
213400
  const result = import_typescript.default.resolveModuleName(specifier, importer, options, host);
213395
213401
  const resolved = result.resolvedModule?.resolvedFileName;
213396
- if (resolved) {
213397
- if (debug) {
213398
- console.log(`[loader-ts] resolved ${specifier} -> ${resolved}`);
213399
- }
213400
- return resolved;
213402
+ if (resolved && debug) {
213403
+ console.log(`[loader-ts] resolved ${specifier} -> ${resolved}`);
213401
213404
  }
213402
- return null;
213405
+ return resolved || null;
213403
213406
  };
213407
+ if (debug) {
213408
+ console.log("[loader-ts] tsconfig:", configPath);
213409
+ }
213410
+ return cachedResolve;
213404
213411
  }
213405
- function rewriteImports(code, filename, resolve) {
213412
+ function rewriteImports(code, filename, resolve, debug = false) {
213406
213413
  const importLike = /(import\s+[^'";]+?from\s+['"]([^'"]+)['"])|(import\s+['"]([^'"]+)['"])|(export\s+[^'";]+?from\s+['"]([^'"]+)['"])/g;
213407
213414
  return code.replace(importLike, (full, _a, from1, _b, from2, _c, from3) => {
213408
213415
  const spec = from1 || from2 || from3;
@@ -213411,6 +213418,9 @@ function rewriteImports(code, filename, resolve) {
213411
213418
  }
213412
213419
  const resolved = resolve(spec, filename);
213413
213420
  if (!resolved) return full;
213421
+ if (debug) {
213422
+ console.log(`[loader-ts] rewrite ${spec} -> ${resolved}`);
213423
+ }
213414
213424
  const relative = path.isAbsolute(resolved) ? path.relative(path.dirname(filename), resolved).replace(/\\/g, "/") : resolved;
213415
213425
  const normalized = relative.startsWith(".") ? relative : "./" + relative;
213416
213426
  return full.replace(spec, normalized);
@@ -213418,8 +213428,8 @@ function rewriteImports(code, filename, resolve) {
213418
213428
  }
213419
213429
  var extensions = [".ts", ".mts", ".cts"];
213420
213430
  function runTransform(code, filename, ctx) {
213421
- const pathResolver = createTsResolve(filename, ctx.loaderConfig.debug);
213422
- const rewrittenCode = pathResolver ? rewriteImports(code, filename, pathResolver) : code;
213431
+ const pathResolver = createTsResolve(ctx.loaderConfig.debug);
213432
+ const rewrittenCode = pathResolver && !pathResolver(filename, filename) ? code : pathResolver ? rewriteImports(code, filename, pathResolver, ctx.loaderConfig.debug) : code;
213423
213433
  const banner = ctx.format === "cjs" ? `const ${IMPORT_META_URL_VARIABLE} = require('url').pathToFileURL(__filename).href;` : void 0;
213424
213434
  const result = transformSync(rewrittenCode, {
213425
213435
  loader: "ts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hirarijs/loader-ts",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "TypeScript loader plugin for HirariJS loader",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",