pupt-lib 1.3.3 → 1.3.5

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.
@@ -31,7 +31,7 @@ export declare class File extends Component<FileProps> {
31
31
  encoding: z.ZodOptional<z.ZodString>;
32
32
  }, z.ZodTypeAny, "passthrough">>;
33
33
  static hoistName: boolean;
34
- render({ path, language, encoding }: FileProps, _resolvedValue: void, _context: RenderContext): PuptNode;
34
+ render({ path, language, encoding }: FileProps, _resolvedValue: void, _context: RenderContext): Promise<PuptNode>;
35
35
  }
36
36
  export {};
37
37
  //# sourceMappingURL=File.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"File.d.ts","sourceRoot":"","sources":["../../../components/data/File.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKxD,eAAO,MAAM,UAAU;;;;;;;;;;;;gCAIP,CAAC;AAEjB,KAAK,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC;AAyD5E,qBAAa,IAAK,SAAQ,SAAS,CAAC,SAAS,CAAC;IAC5C,MAAM,CAAC,MAAM;;;;;;;;;;;;qCAAc;IAC3B,MAAM,CAAC,SAAS,UAAQ;IAExB,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAkB,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,GAAG,QAAQ;CAmCnH"}
1
+ {"version":3,"file":"File.d.ts","sourceRoot":"","sources":["../../../components/data/File.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKxD,eAAO,MAAM,UAAU;;;;;;;;;;;;gCAIP,CAAC;AAEjB,KAAK,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC;AAyD5E,qBAAa,IAAK,SAAQ,SAAS,CAAC,SAAS,CAAC;IAC5C,MAAM,CAAC,MAAM;;;;;;;;;;;;qCAAc;IAC3B,MAAM,CAAC,SAAS,UAAQ;IAElB,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAkB,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;CA+BlI"}
package/dist/index.js CHANGED
@@ -42869,12 +42869,79 @@ function nameHoistingPlugin({ types: t }) {
42869
42869
  }
42870
42870
  };
42871
42871
  }
42872
+ function isBlockLikeText(text) {
42873
+ if (text[0] !== "\n") {
42874
+ return false;
42875
+ }
42876
+ const lastNewlineIdx = text.lastIndexOf("\n");
42877
+ const trailing = text.slice(lastNewlineIdx + 1);
42878
+ if (trailing.trim() !== "") {
42879
+ return false;
42880
+ }
42881
+ return true;
42882
+ }
42883
+ function dedentJsxText(text) {
42884
+ const lines = text.split("\n");
42885
+ while (lines.length > 0 && lines[0].trim() === "") {
42886
+ lines.shift();
42887
+ }
42888
+ while (lines.length > 0 && lines[lines.length - 1].trim() === "") {
42889
+ lines.pop();
42890
+ }
42891
+ if (lines.length === 0) {
42892
+ return null;
42893
+ }
42894
+ let minIndent = Infinity;
42895
+ for (const line of lines) {
42896
+ if (line.trim() === "") continue;
42897
+ const match = line.match(/^(\s*)/);
42898
+ const indent = match ? match[1].length : 0;
42899
+ if (indent < minIndent) {
42900
+ minIndent = indent;
42901
+ }
42902
+ }
42903
+ if (minIndent === Infinity) {
42904
+ minIndent = 0;
42905
+ }
42906
+ const dedented = lines.map((line) => {
42907
+ if (line.trim() === "") return "";
42908
+ return line.slice(minIndent);
42909
+ });
42910
+ return dedented.join("\n");
42911
+ }
42912
+ function jsxNewlineLiteralPlugin({ types: t }) {
42913
+ return {
42914
+ name: "pupt-jsx-newline-literal",
42915
+ visitor: {
42916
+ JSXText(path) {
42917
+ const text = path.node.value;
42918
+ if (!text.includes("\n")) {
42919
+ return;
42920
+ }
42921
+ if (text.trim() === "") {
42922
+ return;
42923
+ }
42924
+ if (!isBlockLikeText(text)) {
42925
+ return;
42926
+ }
42927
+ const dedented = dedentJsxText(text);
42928
+ if (dedented === null) {
42929
+ return;
42930
+ }
42931
+ path.replaceWith(
42932
+ t.jsxExpressionContainer(t.stringLiteral(dedented))
42933
+ );
42934
+ }
42935
+ }
42936
+ };
42937
+ }
42872
42938
  let BabelInstance = null;
42873
42939
  let pluginsRegistered = false;
42874
42940
  function registerPlugins(Babel) {
42875
42941
  if (pluginsRegistered) return;
42876
42942
  Babel.registerPlugin("uses-to-import", usesToImportPlugin);
42877
42943
  Babel.registerPlugin("name-hoisting", nameHoistingPlugin);
42944
+ Babel.registerPlugin("jsx-newline-literal", jsxNewlineLiteralPlugin);
42878
42945
  pluginsRegistered = true;
42879
42946
  }
42880
42947
  async function getBabel() {
@@ -42894,6 +42961,8 @@ function getTransformOptions(filename) {
42894
42961
  "uses-to-import",
42895
42962
  // Hoist named elements to variable declarations (must run before JSX transform)
42896
42963
  "name-hoisting",
42964
+ // Preserve newlines in multi-line JSX text (must run before JSX transform)
42965
+ "jsx-newline-literal",
42897
42966
  // Transform JSX to jsx() calls
42898
42967
  ["transform-react-jsx", {
42899
42968
  runtime: "automatic",
@@ -42970,21 +43039,19 @@ function isBareSpecifier(specifier) {
42970
43039
  return true;
42971
43040
  }
42972
43041
  async function resolveBareSpecifier(specifier) {
42973
- const path = await import("path");
42974
- const { pathToFileURL } = await import("url");
42975
- if (specifier === "pupt-lib" || specifier === "pupt-lib/jsx-runtime") {
43042
+ if (typeof import.meta.resolve === "function") {
42976
43043
  try {
42977
- const resolved = require.resolve(specifier);
42978
- return pathToFileURL(resolved).href;
42979
- } catch {
42980
- const subpath = specifier === "pupt-lib" ? "index.js" : "jsx-runtime/index.js";
42981
- const distPath = path.join(process.cwd(), "dist", subpath);
42982
- return pathToFileURL(distPath).href;
43044
+ return import.meta.resolve(specifier);
43045
+ } catch (error) {
43046
+ const message = error instanceof Error ? error.message : String(error);
43047
+ throw new Error(`Cannot resolve module "${specifier}": ${message}`);
42983
43048
  }
42984
43049
  }
43050
+ const { pathToFileURL } = await import("url");
43051
+ const { createRequire } = await import("module");
43052
+ const esmRequire = createRequire(import.meta.url);
42985
43053
  try {
42986
- const resolved = require.resolve(specifier);
42987
- return pathToFileURL(resolved).href;
43054
+ return pathToFileURL(esmRequire.resolve(specifier)).href;
42988
43055
  } catch (error) {
42989
43056
  const message = error instanceof Error ? error.message : String(error);
42990
43057
  throw new Error(`Cannot resolve module "${specifier}": ${message}`);
@@ -43070,17 +43137,6 @@ async function evaluateModule(code, options) {
43070
43137
  function isPromptFile(filename) {
43071
43138
  return filename.endsWith(".prompt");
43072
43139
  }
43073
- function needsImportInjection(source) {
43074
- const hasImport = /^\s*import\s+/m.test(source);
43075
- return !hasImport;
43076
- }
43077
- function needsExportWrapper(source) {
43078
- const hasExportDefault = /^\s*export\s+default\s+/m.test(source);
43079
- return !hasExportDefault;
43080
- }
43081
- function needsPreprocessing(source) {
43082
- return needsImportInjection(source) || needsExportWrapper(source);
43083
- }
43084
43140
  function generateImports() {
43085
43141
  const builtinComponents = getBuiltinComponents();
43086
43142
  const askComponents = getAskComponents();
@@ -43098,27 +43154,29 @@ function generateImports() {
43098
43154
  lines.push(aliases);
43099
43155
  return lines.join("\n");
43100
43156
  }
43157
+ function extractUses(source) {
43158
+ const uses = [];
43159
+ const remaining = source.replace(/^\s*<Uses\s[^>]*\/>\s*$/gm, (match) => {
43160
+ uses.push(match.trim());
43161
+ return "";
43162
+ });
43163
+ return { uses, remaining };
43164
+ }
43101
43165
  function preprocessSource(source, options) {
43102
43166
  const { filename } = options;
43103
- const injectImports = needsImportInjection(source);
43104
- const wrapExport = needsExportWrapper(source);
43105
- if (!injectImports && !wrapExport) {
43167
+ if (!isPromptFile(filename)) {
43106
43168
  return source;
43107
43169
  }
43108
- const imports = injectImports ? generateImports() : "";
43109
- let result = source;
43110
- if (wrapExport) {
43111
- result = `export default (
43112
- ${source}
43170
+ const imports = generateImports();
43171
+ const { uses, remaining } = extractUses(source);
43172
+ const usesSection = uses.length > 0 ? uses.join("\n") + "\n\n" : "";
43173
+ const result = `export default (
43174
+ ${remaining}
43113
43175
  );`;
43114
- }
43115
- if (injectImports) {
43116
- result = `// Preprocessed from: ${filename}
43176
+ return `// Preprocessed from: ${filename}
43117
43177
  ${imports}
43118
43178
 
43119
- ${result}`;
43120
- }
43121
- return result;
43179
+ ${usesSection}${result}`;
43122
43180
  }
43123
43181
  const isNode = typeof process !== "undefined" && ((_b = process.versions) == null ? void 0 : _b.node);
43124
43182
  async function resolveLocalPath(source) {
@@ -45729,16 +45787,16 @@ function getBasename(filePath) {
45729
45787
  return lastSlash >= 0 ? filePath.slice(lastSlash + 1) : filePath;
45730
45788
  }
45731
45789
  class File extends Component {
45732
- render({ path, language, encoding = "utf-8" }, _resolvedValue, _context) {
45790
+ async render({ path, language, encoding = "utf-8" }, _resolvedValue, _context) {
45733
45791
  if (isBrowser$1) {
45734
45792
  return `[Error: File component is not available in browser environments. Path: ${path}]`;
45735
45793
  }
45736
45794
  try {
45737
45795
  if (!fsModule$1) {
45738
- fsModule$1 = require("fs");
45796
+ fsModule$1 = await import("fs");
45739
45797
  }
45740
45798
  if (!pathModule$1) {
45741
- pathModule$1 = require("path");
45799
+ pathModule$1 = await import("path");
45742
45800
  }
45743
45801
  const content = fsModule$1.readFileSync(path, { encoding });
45744
45802
  const ext = getExtname(path);
@@ -47952,18 +48010,26 @@ const isBrowser = typeof window !== "undefined" && typeof window.document !== "u
47952
48010
  let pathModule = null;
47953
48011
  let fsModule = null;
47954
48012
  let osModule = null;
48013
+ async function loadNodeModules() {
48014
+ if (isBrowser) return;
48015
+ if (pathModule && fsModule && osModule) return;
48016
+ const [p, f, o] = await Promise.all([
48017
+ import("path"),
48018
+ import("fs"),
48019
+ import("os")
48020
+ ]);
48021
+ pathModule = p;
48022
+ fsModule = f;
48023
+ osModule = o;
48024
+ }
47955
48025
  function getNodeModules() {
47956
48026
  if (isBrowser) {
47957
48027
  throw new Error("FileSearchEngine is not available in browser environments");
47958
48028
  }
47959
- if (!pathModule) {
47960
- pathModule = require("path");
47961
- }
47962
- if (!fsModule) {
47963
- fsModule = require("fs");
47964
- }
47965
- if (!osModule) {
47966
- osModule = require("os");
48029
+ if (!pathModule || !fsModule || !osModule) {
48030
+ throw new Error(
48031
+ "Node modules not loaded. Use FileSearchEngine.create() or await loadNodeModules() before constructing FileSearchEngine."
48032
+ );
47967
48033
  }
47968
48034
  return { path: pathModule, fs: fsModule, os: osModule };
47969
48035
  }
@@ -47981,6 +48047,14 @@ class FileSearchEngine {
47981
48047
  this.cacheTimeout = config.cacheTimeout ?? 5e3;
47982
48048
  this.maxCacheEntries = config.maxCacheEntries ?? 100;
47983
48049
  }
48050
+ /**
48051
+ * Create a FileSearchEngine instance, loading Node.js modules first.
48052
+ * This is the preferred way to create a FileSearchEngine in ESM contexts.
48053
+ */
48054
+ static async create(config) {
48055
+ await loadNodeModules();
48056
+ return new FileSearchEngine(config);
48057
+ }
47984
48058
  /**
47985
48059
  * Search for files matching the query.
47986
48060
  * Supports directory navigation and fuzzy matching.
@@ -48220,7 +48294,8 @@ class FileSearchEngine {
48220
48294
  }
48221
48295
  }
48222
48296
  }
48223
- function createFileSearchEngine(config) {
48297
+ async function createFileSearchEngine(config) {
48298
+ await loadNodeModules();
48224
48299
  return new FileSearchEngine(config);
48225
48300
  }
48226
48301
  const VERSION = "0.0.0-development";
@@ -48342,7 +48417,7 @@ export {
48342
48417
  isElementOfType,
48343
48418
  isPromptFile,
48344
48419
  isPuptElement,
48345
- needsPreprocessing,
48420
+ loadNodeModules,
48346
48421
  partitionChildren,
48347
48422
  preprocessSource,
48348
48423
  render,
@@ -19,7 +19,7 @@ export { evaluateFormula } from './services/formula-parser';
19
19
  export { Transformer } from './services/transformer';
20
20
  export { evaluateModule } from './services/module-evaluator';
21
21
  export type { EvaluateOptions } from './services/module-evaluator';
22
- export { preprocessSource, isPromptFile, needsPreprocessing } from './services/preprocessor';
22
+ export { preprocessSource, isPromptFile } from './services/preprocessor';
23
23
  export type { PreprocessOptions } from './services/preprocessor';
24
24
  export { getBuiltinComponents, getAskComponents, getAskShorthand, getStructuralComponents, } from './services/component-discovery';
25
25
  export { ModuleLoader } from './services/module-loader';
@@ -34,6 +34,6 @@ export { Pupt } from './api';
34
34
  export type { DiscoveredPromptWithMethods } from './api';
35
35
  export { createSearchEngine } from './services/search-engine';
36
36
  export type { SearchEngine } from './services/search-engine';
37
- export { FileSearchEngine, createFileSearchEngine } from './services/file-search-engine';
37
+ export { FileSearchEngine, createFileSearchEngine, loadNodeModules } from './services/file-search-engine';
38
38
  export type { FileInfo, FileSearchResult, FileSearchEngineConfig, } from './services/file-search-engine';
39
39
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export { usesToImportPlugin } from './uses-to-import';
2
2
  export { nameHoistingPlugin } from './name-hoisting';
3
+ export { jsxNewlineLiteralPlugin } from './jsx-newline-literal';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/babel-plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/babel-plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { PluginObj, types as BabelTypes } from '@babel/core';
2
+ /**
3
+ * Babel plugin that converts block-like multi-line JSXText nodes into
4
+ * JSXExpressionContainers with string literals to preserve newlines.
5
+ */
6
+ export declare function jsxNewlineLiteralPlugin({ types: t }: {
7
+ types: typeof BabelTypes;
8
+ }): PluginObj;
9
+ //# sourceMappingURL=jsx-newline-literal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx-newline-literal.d.ts","sourceRoot":"","sources":["../../../../src/services/babel-plugins/jsx-newline-literal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAsFlE;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAAE,KAAK,EAAE,OAAO,UAAU,CAAA;CAAE,GAAG,SAAS,CAsC7F"}
@@ -1,6 +1,12 @@
1
1
  type PathModule = typeof import('path');
2
2
  type FsModule = typeof import('fs');
3
3
  type OsModule = typeof import('os');
4
+ /**
5
+ * Load Node.js modules asynchronously using dynamic import().
6
+ * Must be called before using getNodeModules().
7
+ * Safe to call multiple times (subsequent calls are no-ops).
8
+ */
9
+ export declare function loadNodeModules(): Promise<void>;
4
10
  /**
5
11
  * Inject mock modules for testing. Only use in test environments.
6
12
  * @internal
@@ -68,6 +74,11 @@ export declare class FileSearchEngine {
68
74
  private cacheTimeout;
69
75
  private cacheTimestamps;
70
76
  private maxCacheEntries;
77
+ /**
78
+ * Create a FileSearchEngine instance, loading Node.js modules first.
79
+ * This is the preferred way to create a FileSearchEngine in ESM contexts.
80
+ */
81
+ static create(config?: FileSearchEngineConfig): Promise<FileSearchEngine>;
71
82
  constructor(config?: FileSearchEngineConfig);
72
83
  /**
73
84
  * Search for files matching the query.
@@ -152,11 +163,11 @@ export declare class FileSearchEngine {
152
163
  private addToCache;
153
164
  }
154
165
  /**
155
- * Create a new FileSearchEngine instance.
166
+ * Create a new FileSearchEngine instance, loading Node.js modules first.
156
167
  *
157
168
  * @param config - Configuration options
158
- * @returns FileSearchEngine instance
169
+ * @returns Promise resolving to FileSearchEngine instance
159
170
  */
160
- export declare function createFileSearchEngine(config?: FileSearchEngineConfig): FileSearchEngine;
171
+ export declare function createFileSearchEngine(config?: FileSearchEngineConfig): Promise<FileSearchEngine>;
161
172
  export {};
162
173
  //# sourceMappingURL=file-search-engine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-search-engine.d.ts","sourceRoot":"","sources":["../../../src/services/file-search-engine.ts"],"names":[],"mappings":"AAIA,KAAK,UAAU,GAAG,cAAc,MAAM,CAAC,CAAC;AACxC,KAAK,QAAQ,GAAG,cAAc,IAAI,CAAC,CAAC;AACpC,KAAK,QAAQ,GAAG,cAAc,IAAI,CAAC,CAAC;AAkCpC;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAAE,IAAI,CAAC,EAAE,UAAU,CAAC;IAAC,EAAE,CAAC,EAAE,QAAQ,CAAC;IAAC,EAAE,CAAC,EAAE,QAAQ,CAAA;CAAE,GAAG,IAAI,CAIzG;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAI9C;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,6BAA6B;IAC7B,OAAO,EAAE,IAAI,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,eAAe,CAAS;gBAEpB,MAAM,GAAE,sBAA2B;IAU/C;;;;;;;OAOG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IActE;;;;;OAKG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKzD;;;;;OAKG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAwB3E;;;;;OAKG;IACH,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAkBzC;;;;;OAKG;IACH,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAM5C;;;;;OAKG;IACH,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,gBAAgB;IAWpD;;;;OAIG;IACH,yBAAyB,IAAI,OAAO;IAIpC;;OAEG;IACH,UAAU,IAAI,IAAI;IAKlB;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;;;OAIG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;YAMrB,iBAAiB;IA8D/B,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,aAAa;IAiCrB;;OAEG;IACH,OAAO,CAAC,WAAW;IAWnB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,UAAU;CAYnB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAAG,gBAAgB,CAExF"}
1
+ {"version":3,"file":"file-search-engine.d.ts","sourceRoot":"","sources":["../../../src/services/file-search-engine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"module-evaluator.d.ts","sourceRoot":"","sources":["../../../src/services/module-evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAgBH,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAmMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC,CAexD"}
1
+ {"version":3,"file":"module-evaluator.d.ts","sourceRoot":"","sources":["../../../src/services/module-evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAgBH,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;CAClB;AA+LD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC,CAexD"}
@@ -1,6 +1,15 @@
1
1
  /**
2
2
  * Preprocessor for .prompt files.
3
3
  * Injects imports for built-in components and wraps raw JSX with export default.
4
+ *
5
+ * Preprocessing is determined by file extension, not by scanning source content.
6
+ * .prompt files always receive full preprocessing (import injection + export wrapping).
7
+ * All other files (.tsx, .ts, etc.) are returned unchanged — they are expected to
8
+ * manage their own imports and exports.
9
+ *
10
+ * This avoids false positives from content-based regex detection, where non-JS
11
+ * `import` keywords (e.g., Python's `import hashlib`) or `export default` inside
12
+ * code examples could be mistakenly detected as real JS statements (issue #29).
4
13
  */
5
14
  export interface PreprocessOptions {
6
15
  /** Original filename for error messages */
@@ -11,28 +20,17 @@ export interface PreprocessOptions {
11
20
  */
12
21
  export declare function isPromptFile(filename: string): boolean;
13
22
  /**
14
- * Check if source code needs import injection.
15
- * Returns true if the source has no import statements.
16
- * The presence/absence of export default is handled separately.
17
- */
18
- export declare function needsImportInjection(source: string): boolean;
19
- /**
20
- * Check if source code needs export default wrapper.
21
- * Returns true if there's no export default statement.
22
- */
23
- export declare function needsExportWrapper(source: string): boolean;
24
- /**
25
- * Check if source code needs any preprocessing.
26
- * Returns true if the source needs import injection or export wrapper.
27
- * @deprecated Use needsImportInjection and needsExportWrapper instead
28
- */
29
- export declare function needsPreprocessing(source: string): boolean;
30
- /**
31
- * Preprocess source code for .prompt files and raw JSX.
32
- * Injects imports for built-in components if needed, and wraps with export default if needed.
23
+ * Preprocess source code for .prompt files.
24
+ *
25
+ * .prompt files always receive:
26
+ * - Import injection for all built-in components
27
+ * - Extraction of <Uses> elements to module level (for the babel plugin)
28
+ * - Export default wrapping around the remaining JSX content
29
+ *
30
+ * Non-.prompt files are returned unchanged.
33
31
  *
34
32
  * @param source - Raw source code
35
- * @param options - Preprocessing options
33
+ * @param options - Preprocessing options (must include filename)
36
34
  * @returns Preprocessed source code ready for Babel transformation
37
35
  */
38
36
  export declare function preprocessSource(source: string, options: PreprocessOptions): string;
@@ -1 +1 @@
1
- {"version":3,"file":"preprocessor.d.ts","sourceRoot":"","sources":["../../../src/services/preprocessor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAI5D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAG1D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE1D;AAkCD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAuBnF"}
1
+ {"version":3,"file":"preprocessor.d.ts","sourceRoot":"","sources":["../../../src/services/preprocessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEtD;AAkDD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAiBnF"}
@@ -1 +1 @@
1
- {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../../src/services/transformer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6EH,qBAAa,WAAW;IACtB;;;;;;;;OAQG;IACG,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAG9E"}
1
+ {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../../src/services/transformer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkFH,qBAAa,WAAW;IACtB;;;;;;;;OAQG;IACG,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAG9E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pupt-lib",
3
- "version": "1.3.3",
3
+ "version": "1.3.5",
4
4
  "description": "TypeScript library for creating AI prompts using JSX syntax",
5
5
  "license": "MIT",
6
6
  "author": "",
@@ -37,15 +37,18 @@
37
37
  "exports": {
38
38
  ".": {
39
39
  "types": "./dist/src/index.d.ts",
40
- "import": "./dist/index.js"
40
+ "import": "./dist/index.js",
41
+ "default": "./dist/index.js"
41
42
  },
42
43
  "./jsx-runtime": {
43
44
  "types": "./dist/src/jsx-runtime/index.d.ts",
44
- "import": "./dist/jsx-runtime/index.js"
45
+ "import": "./dist/jsx-runtime/index.js",
46
+ "default": "./dist/jsx-runtime/index.js"
45
47
  },
46
48
  "./jsx-dev-runtime": {
47
49
  "types": "./dist/src/jsx-runtime/jsx-dev-runtime.d.ts",
48
- "import": "./dist/jsx-runtime/jsx-dev-runtime.js"
50
+ "import": "./dist/jsx-runtime/jsx-dev-runtime.js",
51
+ "default": "./dist/jsx-runtime/jsx-dev-runtime.js"
49
52
  }
50
53
  },
51
54
  "scripts": {