versacompiler 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.js CHANGED
@@ -22,7 +22,7 @@ import { minifyJS } from './services/minify.js';
22
22
  import { preCompileTS } from './services/typescript.js';
23
23
  import { preCompileVue } from './services/vuejs.js';
24
24
 
25
- import { mapRuta, showTimingForHumans } from './utils/utils.js';
25
+ import { addImportEndJs, mapRuta, showTimingForHumans } from './utils/utils.js';
26
26
 
27
27
  const log = console.log.bind(console);
28
28
  const error = console.error.bind(console);
@@ -296,37 +296,6 @@ const removeCodeTagImport = async data => {
296
296
  return data;
297
297
  };
298
298
 
299
- /**
300
- * Agrega la extensión .js a las importaciones en la cadena de datos proporcionada.
301
- * @param {string} data - La cadena de entrada que contiene el código JavaScript.
302
- * @returns {Promise<string>} - Una promesa que se resuelve con la cadena modificada con las importaciones actualizadas.
303
- */
304
- const addImportEndJs = async data => {
305
- const importRegExp = /import\s+[\s\S]*?\s+from\s+['"].*['"];/g;
306
-
307
- return data.replace(importRegExp, match => {
308
- const ruta = match.match(/from\s+['"](.*)['"];/)[1];
309
-
310
- if (ruta.endsWith('.vue')) {
311
- const resultVue = match.match(/from\s+['"](.+\/(\w+))\.vue['"];/);
312
- if (resultVue) {
313
- const fullPath = resultVue[1].replace('.vue', '');
314
- const fileName = resultVue[2];
315
- return `import ${fileName} from '${fullPath}.js';`;
316
- }
317
- } else if (
318
- !ruta.endsWith('.js') &&
319
- !ruta.endsWith('.mjs') &&
320
- !ruta.endsWith('.css') &&
321
- ruta.includes('/')
322
- ) {
323
- return match.replace(ruta, `${ruta}.js`);
324
- }
325
-
326
- return match; // Devolver el match original si no se cumple ninguna condición
327
- });
328
- };
329
-
330
299
  /**
331
300
  * Elimina los comentarios con la etiqueta @preserve de la cadena de datos proporcionada.
332
301
  * @param {string} data - La cadena de entrada que contiene el código JavaScript.
@@ -24,3 +24,25 @@ export const showTimingForHumans = timing => {
24
24
  */
25
25
  export const mapRuta = async (ruta, PATH_DIST, PATH_SOURCE) =>
26
26
  path.join(PATH_DIST, path.relative(PATH_SOURCE, ruta));
27
+
28
+ /**
29
+ * Agrega la extensión .js a las importaciones en la cadena de datos proporcionada.
30
+ * @param {string} data - La cadena de entrada que contiene el código JavaScript.
31
+ * @returns {Promise<string>} - Una promesa que se resuelve con la cadena modificada con las importaciones actualizadas.
32
+ */
33
+ export const addImportEndJs = async data => {
34
+ const importRegExp =
35
+ /(?:import\s+.*?from\s+['"](.*?)['"]|import\(['"](.*?)['"]\))/g; // Manejar importaciones estáticas y dinámicas
36
+
37
+ return data.replace(importRegExp, (match, ruta1, ruta2) => {
38
+ const ruta = ruta1 || ruta2; // Usar la ruta capturada, ya sea estática o dinámica
39
+ if (ruta.endsWith('.vue') || ruta.endsWith('.ts')) {
40
+ const fullPath = ruta.replace(/\.(vue|ts)$/, '.js');
41
+ return match.replace(ruta, fullPath);
42
+ } else if (!ruta.match(/\/.*\.(js|mjs|css)$/) && ruta.includes('/')) {
43
+ return match.replace(ruta, `${ruta}.js`);
44
+ }
45
+
46
+ return match; // Devolver el match original si no se cumple ninguna condición
47
+ });
48
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "versacompiler",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Una herramienta para compilar y minificar archivos .vue, .js y .ts para proyectos de Vue 3 con soporte para TypeScript.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -34,17 +34,17 @@
34
34
  "dependencies": {
35
35
  "chalk": "5.4.1",
36
36
  "chokidar": "^4.0.3",
37
- "oxc-minify": "^0.67.0",
37
+ "oxc-minify": "^0.68.1",
38
38
  "acorn": "^8.14.1",
39
39
  "vue": "3.5.13",
40
40
  "get-port": "^7.1.0",
41
41
  "typescript": "^5.8.3",
42
- "oxlint": "^0.16.9",
42
+ "oxlint": "^0.16.10",
43
43
  "browser-sync": "^3.0.4"
44
44
  },
45
45
  "devDependencies": {
46
46
  "prettier": "3.5.3",
47
- "@types/node": "^22.15.3",
47
+ "@types/node": "^22.15.17",
48
48
  "code-tag": "^1.2.0"
49
49
  }
50
50
  }