vite-plugin-lucide-preprocess 1.3.1 → 1.4.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.js"],"names":[],"mappings":"AAIA,6DAA6D;AAE7D;;;;;;GAMG;AACH,8CAJsB,MAAM,GAChB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAiB/B;AAED;;;;;GAKG;AACH,4CAHqB,MAAM,GACf,MAAM,CAgBjB;AAED;;;;;GAKG;AACH,+CAJqB,MAAM,WACR,OAAO,GACd,MAAM,CAYjB;AAkBD;;;;GAIG;AACH,iCAHmB,OAAO,GACd,OAAO,MAAM,EAAE,MAAM,CA6ChC;AAhED,oCACyF;qBAlE3E;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.js"],"names":[],"mappings":"AAKA,6DAA6D;AAE7D;;;;;;GAMG;AACH,8CAJsB,MAAM,GAChB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAiB/B;AAED;;;;;GAKG;AACH,4CAHqB,MAAM,GACf,MAAM,CAgBjB;AAED;;;;;GAKG;AACH,+CAJqB,MAAM,WACR,OAAO,GACd,MAAM,CAYjB;AAkBD;;;;GAIG;AACH,iCAHmB,OAAO,GACd,OAAO,MAAM,EAAE,MAAM,CAgDhC;AAnED,oCACyF;qBAlE3E;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE"}
package/dist/plugin.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import renamedReplacementsModules from "./renamedReplacements.js";
2
+ import MagicString from "magic-string";
2
3
  const ignoredPaths = ["/node_modules/", "/.svelte-kit/"];
3
4
  /** @typedef {{ name: string; importName: string }} Module */
4
5
  /**
@@ -86,31 +87,34 @@ export function plugin(options = defaultOptions) {
86
87
  transform: (code, path) => {
87
88
  if (ignoredPaths.some(p => path.includes(p)))
88
89
  return;
90
+ const s = new MagicString(code);
91
+ s.replace(importsMatcher,
92
+ /**
93
+ * @param _ The whole matched string
94
+ * @param initialSpacing {string} The spacing before the matched import statement
95
+ * @param modulesStr {string} The imported icons as a raw string
96
+ * @param quote {string} The quote used in the import statement (either ' or ")
97
+ * @param importStyle {string} The method the icons are imported with
98
+ * @param framework {string} The framework the icons are imported for
99
+ * @param lineEnding {string} The end of the line of the matched import statement (often a semicolon)
100
+ * @return The optimized import statement(s)
101
+ */
102
+ (_, initialSpacing, modulesStr, quote, importStyle, framework, lineEnding) => {
103
+ const [modules, types] = rawModulesToLists(modulesStr);
104
+ const moduleImports = modules
105
+ .map(m => `${initialSpacing}import ${m.name} from ${quote}${importStyle}${framework}${frameworkImportPath(framework, mergedOptions)}${iconCompToDashed(m.importName)}${quote}${lineEnding.trimEnd()}`)
106
+ .join(initialSpacing.includes("\n") ? "" : "\n");
107
+ const typesImport = `${initialSpacing}import type { ${types.join(", ")} } from ${quote}${importStyle}${framework}${quote}${lineEnding.trimEnd()}`;
108
+ return [
109
+ types.length ? typesImport : undefined,
110
+ modules.length ? moduleImports : undefined
111
+ ]
112
+ .filter(Boolean)
113
+ .join(initialSpacing.includes("\n") ? "" : "\n");
114
+ });
89
115
  return {
90
- code: code.replace(importsMatcher,
91
- /**
92
- * @param _ The whole matched string
93
- * @param initialSpacing {string} The spacing before the matched import statement
94
- * @param modulesStr {string} The imported icons as a raw string
95
- * @param quote {string} The quote used in the import statement (either ' or ")
96
- * @param importStyle {string} The method the icons are imported with
97
- * @param framework {string} The framework the icons are imported for
98
- * @param lineEnding {string} The end of the line of the matched import statement (often a semicolon)
99
- * @return The optimized import statement(s)
100
- */
101
- (_, initialSpacing, modulesStr, quote, importStyle, framework, lineEnding) => {
102
- const [modules, types] = rawModulesToLists(modulesStr);
103
- const moduleImports = modules
104
- .map(m => `${initialSpacing}import ${m.name} from ${quote}${importStyle}${framework}${frameworkImportPath(framework, mergedOptions)}${iconCompToDashed(m.importName)}${quote}${lineEnding.trimEnd()}`)
105
- .join(initialSpacing.includes("\n") ? "" : "\n");
106
- const typesImport = `${initialSpacing}import type { ${types.join(", ")} } from ${quote}${importStyle}${framework}${quote}${lineEnding.trimEnd()}`;
107
- return [
108
- types.length ? typesImport : undefined,
109
- modules.length ? moduleImports : undefined
110
- ]
111
- .filter(Boolean)
112
- .join(initialSpacing.includes("\n") ? "" : "\n");
113
- })
116
+ code: s.toString(),
117
+ map: s.generateMap({ hires: "boundary", source: path })
114
118
  };
115
119
  }
116
120
  };
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.js"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite-plugin-lucide-preprocess",
3
- "version": "1.3.1",
3
+ "version": "1.4.0",
4
4
  "author": {
5
5
  "url": "https://github.com/WarningImHack3r",
6
6
  "name": "WarningImHack3r"
@@ -31,11 +31,12 @@
31
31
  "vite": ">=5"
32
32
  },
33
33
  "devDependencies": {
34
- "lucide-svelte": "^0.515.0",
34
+ "lucide-svelte": "^0.525.0",
35
+ "magic-string": "^0.30.0",
35
36
  "prettier": "^3.0.0",
36
37
  "publint": "^0.3.0",
37
38
  "typescript": "^5.0.0",
38
- "vite": "^6.0.0",
39
+ "vite": "^7.0.0",
39
40
  "vitest": "^3.0.0"
40
41
  },
41
42
  "main": "./dist/index.js",