@fragno-dev/unplugin-fragno 0.0.7 → 0.0.8
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-C_Qj2XYR.d.ts → index-Bs3AB1EP.d.ts} +2 -2
- package/dist/{index-C_Qj2XYR.d.ts.map → index-Bs3AB1EP.d.ts.map} +1 -1
- package/dist/{index.d.ts → index-CuZKzHu3.d.ts} +2 -2
- package/dist/index.js +2 -2
- package/dist/integrations/{astro.d.ts → astro-DttLH1oy.d.ts} +2 -2
- package/dist/integrations/astro-DttLH1oy.d.ts.map +1 -0
- package/dist/integrations/astro.js +2 -2
- package/dist/integrations/{esbuild.d.ts → esbuild-CWe_vHlX.d.ts} +3 -3
- package/dist/integrations/esbuild-CWe_vHlX.d.ts.map +1 -0
- package/dist/integrations/esbuild.js +2 -2
- package/dist/integrations/{farm.d.ts → farm-DjWeTBFG.d.ts} +3 -3
- package/dist/integrations/farm-DjWeTBFG.d.ts.map +1 -0
- package/dist/integrations/farm.js +2 -2
- package/dist/integrations/{nuxt.d.ts → nuxt-LESvqqSd.d.ts} +2 -2
- package/dist/integrations/nuxt-LESvqqSd.d.ts.map +1 -0
- package/dist/integrations/nuxt.js +4 -4
- package/dist/integrations/{rollup.d.ts → rollup-Dsrn1HSH.d.ts} +3 -3
- package/dist/integrations/rollup-Dsrn1HSH.d.ts.map +1 -0
- package/dist/integrations/rollup.js +2 -2
- package/dist/integrations/{rspack.d.ts → rspack-C0xN-dH5.d.ts} +3 -3
- package/dist/integrations/rspack-C0xN-dH5.d.ts.map +1 -0
- package/dist/integrations/rspack.js +2 -2
- package/dist/integrations/vite-e7zsXYyd.d.ts +9 -0
- package/dist/integrations/vite-e7zsXYyd.d.ts.map +1 -0
- package/dist/integrations/vite.js +3 -3
- package/dist/integrations/{webpack.d.ts → webpack-kxUF3Rb0.d.ts} +3 -3
- package/dist/integrations/webpack-kxUF3Rb0.d.ts.map +1 -0
- package/dist/integrations/webpack.js +3 -3
- package/dist/{macros.d.ts → macros-D3A2iO-K.d.ts} +1 -1
- package/dist/macros-D3A2iO-K.d.ts.map +1 -0
- package/dist/macros.js +8 -1
- package/dist/macros.js.map +1 -1
- package/dist/{package-C_uRIjY-.js → package-CgwrEN8B.js} +1 -1
- package/dist/{package-C_uRIjY-.js.map → package-CgwrEN8B.js.map} +1 -1
- package/dist/{src-DFuD5wjc.js → src-XHSyoexF.js} +16 -3
- package/dist/src-XHSyoexF.js.map +1 -0
- package/dist/{types-DI0A616D.d.ts → types-lbYQROz0.d.ts} +1 -1
- package/dist/types-lbYQROz0.d.ts.map +1 -0
- package/dist/{vite-DcHB5RCQ.js → vite-KR894EMZ.js} +2 -2
- package/dist/{vite-DcHB5RCQ.js.map → vite-KR894EMZ.js.map} +1 -1
- package/dist/{webpack-CohpWGKf.js → webpack-CGrbnxag.js} +2 -2
- package/dist/{webpack-CohpWGKf.js.map → webpack-CGrbnxag.js.map} +1 -1
- package/package.json +23 -23
- package/dist/integrations/astro.d.ts.map +0 -1
- package/dist/integrations/esbuild.d.ts.map +0 -1
- package/dist/integrations/farm.d.ts.map +0 -1
- package/dist/integrations/nuxt.d.ts.map +0 -1
- package/dist/integrations/rollup.d.ts.map +0 -1
- package/dist/integrations/rspack.d.ts.map +0 -1
- package/dist/integrations/vite.d.ts +0 -9
- package/dist/integrations/vite.d.ts.map +0 -1
- package/dist/integrations/webpack.d.ts.map +0 -1
- package/dist/macros.d.ts.map +0 -1
- package/dist/src-DFuD5wjc.js.map +0 -1
- package/dist/types-DI0A616D.d.ts.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as Options } from "./types-
|
|
1
|
+
import { t as Options } from "./types-lbYQROz0.js";
|
|
2
2
|
import * as unplugin0 from "unplugin";
|
|
3
3
|
import { UnpluginFactory } from "unplugin";
|
|
4
4
|
import "@babel/types";
|
|
@@ -13,4 +13,4 @@ declare const unpluginFactory: UnpluginFactory<Options | undefined>;
|
|
|
13
13
|
declare const unplugin: unplugin0.UnpluginInstance<Options | undefined, boolean>;
|
|
14
14
|
//#endregion
|
|
15
15
|
export { unpluginFactory as n, isMacroBinding as r, unplugin as t };
|
|
16
|
-
//# sourceMappingURL=index-
|
|
16
|
+
//# sourceMappingURL=index-Bs3AB1EP.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-Bs3AB1EP.d.ts","names":[],"sources":["../../src/transform-macros.ts","../../src/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;cAgBa,0BAA2B;;;cCX3B,iBAAiB,gBAAgB;cA2BjC,UAAQ,SAAA,CAAA,iBAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { t as Options } from "./types-
|
|
2
|
-
import { n as unpluginFactory, r as isMacroBinding, t as unplugin } from "./index-
|
|
1
|
+
import { t as Options } from "./types-lbYQROz0.js";
|
|
2
|
+
import { n as unpluginFactory, r as isMacroBinding, t as unplugin } from "./index-Bs3AB1EP.js";
|
|
3
3
|
export { Options, unplugin as default, unplugin, isMacroBinding, unpluginFactory };
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./package-
|
|
2
|
-
import { i as isMacroBinding, n as unplugin, r as unpluginFactory, t as src_default } from "./src-
|
|
1
|
+
import "./package-CgwrEN8B.js";
|
|
2
|
+
import { i as isMacroBinding, n as unplugin, r as unpluginFactory, t as src_default } from "./src-XHSyoexF.js";
|
|
3
3
|
|
|
4
4
|
export { src_default as default, isMacroBinding, unplugin, unpluginFactory };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { t as Options } from "../types-
|
|
1
|
+
import { t as Options } from "../types-lbYQROz0.js";
|
|
2
2
|
|
|
3
3
|
//#region src/integrations/astro.d.ts
|
|
4
4
|
declare const _default: (options: Options) => any;
|
|
5
5
|
//#endregion
|
|
6
6
|
export { _default as default };
|
|
7
|
-
//# sourceMappingURL=astro.d.ts.map
|
|
7
|
+
//# sourceMappingURL=astro-DttLH1oy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"astro-DttLH1oy.d.ts","names":[],"sources":["../../../src/integrations/astro.ts"],"sourcesContent":[],"mappings":";;;cAAwC,oBAKf"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { t as Options } from "../types-
|
|
2
|
-
import "../index-
|
|
1
|
+
import { t as Options } from "../types-lbYQROz0.js";
|
|
2
|
+
import "../index-Bs3AB1EP.js";
|
|
3
3
|
import * as esbuild0 from "esbuild";
|
|
4
4
|
|
|
5
5
|
//#region src/integrations/esbuild.d.ts
|
|
6
6
|
declare const _default: (options?: Options | undefined) => esbuild0.Plugin;
|
|
7
7
|
//#endregion
|
|
8
8
|
export { _default as default };
|
|
9
|
-
//# sourceMappingURL=esbuild.d.ts.map
|
|
9
|
+
//# sourceMappingURL=esbuild-CWe_vHlX.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"esbuild-CWe_vHlX.d.ts","names":[],"sources":["../../../src/integrations/esbuild.ts"],"sourcesContent":[],"mappings":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "../package-
|
|
2
|
-
import { r as unpluginFactory } from "../src-
|
|
1
|
+
import "../package-CgwrEN8B.js";
|
|
2
|
+
import { r as unpluginFactory } from "../src-XHSyoexF.js";
|
|
3
3
|
import { createEsbuildPlugin } from "unplugin";
|
|
4
4
|
|
|
5
5
|
//#region src/integrations/esbuild.ts
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { t as Options } from "../types-
|
|
2
|
-
import "../index-
|
|
1
|
+
import { t as Options } from "../types-lbYQROz0.js";
|
|
2
|
+
import "../index-Bs3AB1EP.js";
|
|
3
3
|
import * as _farmfe_core0 from "@farmfe/core";
|
|
4
4
|
|
|
5
5
|
//#region src/integrations/farm.d.ts
|
|
6
6
|
declare const _default: (options?: Options | undefined) => _farmfe_core0.JsPlugin;
|
|
7
7
|
//#endregion
|
|
8
8
|
export { _default as default };
|
|
9
|
-
//# sourceMappingURL=farm.d.ts.map
|
|
9
|
+
//# sourceMappingURL=farm-DjWeTBFG.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"farm-DjWeTBFG.d.ts","names":[],"sources":["../../../src/integrations/farm.ts"],"sourcesContent":[],"mappings":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "../package-
|
|
2
|
-
import { r as unpluginFactory } from "../src-
|
|
1
|
+
import "../package-CgwrEN8B.js";
|
|
2
|
+
import { r as unpluginFactory } from "../src-XHSyoexF.js";
|
|
3
3
|
import { createFarmPlugin } from "unplugin";
|
|
4
4
|
|
|
5
5
|
//#region src/integrations/farm.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as Options } from "../types-
|
|
1
|
+
import { t as Options } from "../types-lbYQROz0.js";
|
|
2
2
|
import * as _nuxt_schema0 from "@nuxt/schema";
|
|
3
3
|
|
|
4
4
|
//#region src/integrations/nuxt.d.ts
|
|
@@ -6,4 +6,4 @@ interface ModuleOptions extends Options {}
|
|
|
6
6
|
declare const _default: _nuxt_schema0.NuxtModule<ModuleOptions, ModuleOptions, false>;
|
|
7
7
|
//#endregion
|
|
8
8
|
export { ModuleOptions, _default as default };
|
|
9
|
-
//# sourceMappingURL=nuxt.d.ts.map
|
|
9
|
+
//# sourceMappingURL=nuxt-LESvqqSd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nuxt-LESvqqSd.d.ts","names":[],"sources":["../../../src/integrations/nuxt.ts"],"sourcesContent":[],"mappings":";;;;UAMiB,aAAA,SAAsB;cAAU"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import "../package-
|
|
2
|
-
import "../src-
|
|
3
|
-
import { t as vite_default } from "../vite-
|
|
4
|
-
import { t as webpack_default } from "../webpack-
|
|
1
|
+
import "../package-CgwrEN8B.js";
|
|
2
|
+
import "../src-XHSyoexF.js";
|
|
3
|
+
import { t as vite_default } from "../vite-KR894EMZ.js";
|
|
4
|
+
import { t as webpack_default } from "../webpack-CGrbnxag.js";
|
|
5
5
|
import { addVitePlugin, addWebpackPlugin, defineNuxtModule } from "@nuxt/kit";
|
|
6
6
|
|
|
7
7
|
//#region src/integrations/nuxt.ts
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { t as Options } from "../types-
|
|
2
|
-
import "../index-
|
|
1
|
+
import { t as Options } from "../types-lbYQROz0.js";
|
|
2
|
+
import "../index-Bs3AB1EP.js";
|
|
3
3
|
import * as rollup0 from "rollup";
|
|
4
4
|
|
|
5
5
|
//#region src/integrations/rollup.d.ts
|
|
6
6
|
declare const _default: (options?: Options | undefined) => rollup0.Plugin<any> | rollup0.Plugin<any>[];
|
|
7
7
|
//#endregion
|
|
8
8
|
export { _default as default };
|
|
9
|
-
//# sourceMappingURL=rollup.d.ts.map
|
|
9
|
+
//# sourceMappingURL=rollup-Dsrn1HSH.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rollup-Dsrn1HSH.d.ts","names":[],"sources":["../../../src/integrations/rollup.ts"],"sourcesContent":[],"mappings":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "../package-
|
|
2
|
-
import { r as unpluginFactory } from "../src-
|
|
1
|
+
import "../package-CgwrEN8B.js";
|
|
2
|
+
import { r as unpluginFactory } from "../src-XHSyoexF.js";
|
|
3
3
|
import { createRollupPlugin } from "unplugin";
|
|
4
4
|
|
|
5
5
|
//#region src/integrations/rollup.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as Options } from "../types-
|
|
2
|
-
import "../index-
|
|
1
|
+
import { t as Options } from "../types-lbYQROz0.js";
|
|
2
|
+
import "../index-Bs3AB1EP.js";
|
|
3
3
|
|
|
4
4
|
//#region src/integrations/rspack.d.ts
|
|
5
5
|
declare const _default: (options?: Options | undefined) => RspackPluginInstance;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { _default as default };
|
|
8
|
-
//# sourceMappingURL=rspack.d.ts.map
|
|
8
|
+
//# sourceMappingURL=rspack-C0xN-dH5.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rspack-C0xN-dH5.d.ts","names":[],"sources":["../../../src/integrations/rspack.ts"],"sourcesContent":[],"mappings":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "../package-
|
|
2
|
-
import { r as unpluginFactory } from "../src-
|
|
1
|
+
import "../package-CgwrEN8B.js";
|
|
2
|
+
import { r as unpluginFactory } from "../src-XHSyoexF.js";
|
|
3
3
|
import { createRspackPlugin } from "unplugin";
|
|
4
4
|
|
|
5
5
|
//#region src/integrations/rspack.ts
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { t as Options } from "../types-lbYQROz0.js";
|
|
2
|
+
import "../index-Bs3AB1EP.js";
|
|
3
|
+
import * as unplugin0 from "unplugin";
|
|
4
|
+
|
|
5
|
+
//#region src/integrations/vite.d.ts
|
|
6
|
+
declare const _default: (options?: Options | undefined) => unplugin0.VitePlugin<any> | unplugin0.VitePlugin<any>[];
|
|
7
|
+
//#endregion
|
|
8
|
+
export { _default as default };
|
|
9
|
+
//# sourceMappingURL=vite-e7zsXYyd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite-e7zsXYyd.d.ts","names":[],"sources":["../../../src/integrations/vite.ts"],"sourcesContent":[],"mappings":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "../package-
|
|
2
|
-
import "../src-
|
|
3
|
-
import { t as vite_default } from "../vite-
|
|
1
|
+
import "../package-CgwrEN8B.js";
|
|
2
|
+
import "../src-XHSyoexF.js";
|
|
3
|
+
import { t as vite_default } from "../vite-KR894EMZ.js";
|
|
4
4
|
|
|
5
5
|
export { vite_default as default };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { t as Options } from "../types-
|
|
2
|
-
import "../index-
|
|
1
|
+
import { t as Options } from "../types-lbYQROz0.js";
|
|
2
|
+
import "../index-Bs3AB1EP.js";
|
|
3
3
|
import * as webpack0 from "webpack";
|
|
4
4
|
|
|
5
5
|
//#region src/integrations/webpack.d.ts
|
|
6
6
|
declare const _default: (options?: Options | undefined) => webpack0.WebpackPluginInstance;
|
|
7
7
|
//#endregion
|
|
8
8
|
export { _default as default };
|
|
9
|
-
//# sourceMappingURL=webpack.d.ts.map
|
|
9
|
+
//# sourceMappingURL=webpack-kxUF3Rb0.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webpack-kxUF3Rb0.d.ts","names":[],"sources":["../../../src/integrations/webpack.ts"],"sourcesContent":[],"mappings":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "../package-
|
|
2
|
-
import "../src-
|
|
3
|
-
import { t as webpack_default } from "../webpack-
|
|
1
|
+
import "../package-CgwrEN8B.js";
|
|
2
|
+
import "../src-XHSyoexF.js";
|
|
3
|
+
import { t as webpack_default } from "../webpack-CGrbnxag.js";
|
|
4
4
|
|
|
5
5
|
export { webpack_default as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"macros-D3A2iO-K.d.ts","names":[],"sources":["../../src/macros.ts"],"sourcesContent":[],"mappings":";;AAkBA;;;;;AAMA;;;;;cANa,oBARQ,MAAI;;;;;cAcZ,oBAdQ,MAAI"}
|
package/dist/macros.js
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import { t as name } from "./package-
|
|
1
|
+
import { t as name } from "./package-CgwrEN8B.js";
|
|
2
2
|
|
|
3
3
|
//#region src/macros.ts
|
|
4
|
+
/**
|
|
5
|
+
* Modified from: pcattori/vite-env-only
|
|
6
|
+
* Original source: https://github.com/pcattori/vite-env-only/blob/45a39e7fb52e9fae4300e95aa51ed0880374f507/src/transform.ts
|
|
7
|
+
* License: MIT
|
|
8
|
+
* Date obtained: September 4 2025
|
|
9
|
+
* Copyright (c) 2024 Pedro Cattori
|
|
10
|
+
*/
|
|
4
11
|
const maybe = (_) => {
|
|
5
12
|
throw Error([`${name}: unreplaced macro`].join("\n"));
|
|
6
13
|
};
|
package/dist/macros.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"macros.js","names":["pkgName"],"sources":["../src/macros.ts"],"sourcesContent":["/**\n * Modified from: pcattori/vite-env-only\n * Original source: https://github.com/pcattori/vite-env-only/blob/45a39e7fb52e9fae4300e95aa51ed0880374f507/src/transform.ts\n * License: MIT\n * Date obtained: September 4 2025\n * Copyright (c) 2024 Pedro Cattori\n */\n\nimport { name as pkgName } from \"../package.json\";\n\nconst maybe = <T>(_: T): T | undefined => {\n throw Error([`${pkgName}: unreplaced macro`].join(\"\\n\"));\n};\n\n/**\n * On the server, replaced with the value passed in.\n * On the client, replaced with `undefined`.\n */\nexport const serverOnly$ = maybe;\n\n/**\n * On the client, replaced with the value passed in.\n * On the server, replaced with `undefined`.\n */\nexport const clientOnly$ = maybe;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"macros.js","names":["pkgName"],"sources":["../src/macros.ts"],"sourcesContent":["/**\n * Modified from: pcattori/vite-env-only\n * Original source: https://github.com/pcattori/vite-env-only/blob/45a39e7fb52e9fae4300e95aa51ed0880374f507/src/transform.ts\n * License: MIT\n * Date obtained: September 4 2025\n * Copyright (c) 2024 Pedro Cattori\n */\n\nimport { name as pkgName } from \"../package.json\";\n\nconst maybe = <T>(_: T): T | undefined => {\n throw Error([`${pkgName}: unreplaced macro`].join(\"\\n\"));\n};\n\n/**\n * On the server, replaced with the value passed in.\n * On the client, replaced with `undefined`.\n */\nexport const serverOnly$ = maybe;\n\n/**\n * On the client, replaced with the value passed in.\n * On the server, replaced with `undefined`.\n */\nexport const clientOnly$ = maybe;\n"],"mappings":";;;;;;;;;;AAUA,MAAM,SAAY,MAAwB;AACxC,OAAM,MAAM,CAAC,GAAGA,KAAQ,oBAAoB,CAAC,KAAK,KAAK,CAAC;;;;;;AAO1D,MAAa,cAAc;;;;;AAM3B,MAAa,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-
|
|
1
|
+
{"version":3,"file":"package-CgwrEN8B.js","names":[],"sources":["../package.json"],"sourcesContent":["{\n \"name\": \"@fragno-dev/unplugin-fragno\",\n \"type\": \"module\",\n \"version\": \"0.0.8\",\n \"description\": \"\",\n \"keywords\": [\n \"fragno\",\n \"unplugin\"\n ],\n \"exports\": {\n \".\": {\n \"development\": \"./src/index.ts\",\n \"types\": \"./dist/index.d.ts\",\n \"default\": \"./dist/index.js\"\n },\n \"./macros\": {\n \"development\": \"./src/macros.ts\",\n \"types\": \"./dist/macros.d.ts\",\n \"default\": \"./dist/macros.js\"\n },\n \"./astro\": {\n \"development\": \"./src/integrations/astro.ts\",\n \"types\": \"./dist/integrations/astro.d.ts\",\n \"default\": \"./dist/integrations/astro.js\"\n },\n \"./esbuild\": {\n \"development\": \"./src/integrations/esbuild.ts\",\n \"types\": \"./dist/integrations/esbuild.d.ts\",\n \"default\": \"./dist/integrations/esbuild.js\"\n },\n \"./farm\": {\n \"development\": \"./src/integrations/farm.ts\",\n \"types\": \"./dist/integrations/farm.d.ts\",\n \"default\": \"./dist/integrations/farm.js\"\n },\n \"./nuxt\": {\n \"development\": \"./src/integrations/nuxt.ts\",\n \"types\": \"./dist/integrations/nuxt.d.ts\",\n \"default\": \"./dist/integrations/nuxt.js\"\n },\n \"./rollup\": {\n \"development\": \"./src/integrations/rollup.ts\",\n \"types\": \"./dist/integrations/rollup.d.ts\",\n \"default\": \"./dist/integrations/rollup.js\"\n },\n \"./rspack\": {\n \"development\": \"./src/integrations/rspack.ts\",\n \"types\": \"./dist/integrations/rspack.d.ts\",\n \"default\": \"./dist/integrations/rspack.js\"\n },\n \"./vite\": {\n \"development\": \"./src/integrations/vite.ts\",\n \"types\": \"./dist/integrations/vite.d.ts\",\n \"default\": \"./dist/integrations/vite.js\"\n },\n \"./webpack\": {\n \"development\": \"./src/integrations/webpack.ts\",\n \"types\": \"./dist/integrations/webpack.d.ts\",\n \"default\": \"./dist/integrations/webpack.js\"\n },\n \"./types\": \"./dist/types.js\",\n \"./package.json\": \"./package.json\"\n },\n \"main\": \"./dist/index.js\",\n \"module\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"typesVersions\": {\n \"*\": {\n \"*\": [\n \"./dist/*\",\n \"./*\"\n ]\n }\n },\n \"files\": [\n \"dist\"\n ],\n \"scripts\": {\n \"types:check\": \"tsc --noEmit\",\n \"build\": \"tsdown\",\n \"build:watch\": \"tsdown --watch\",\n \"test\": \"vitest run\",\n \"test:watch\": \"vitest --watch\"\n },\n \"peerDependencies\": {\n \"@farmfe/core\": \">=1\",\n \"@nuxt/kit\": \"^3 || ^4\",\n \"@nuxt/schema\": \"^3 || ^4\",\n \"esbuild\": \"*\",\n \"rollup\": \"^3\",\n \"vite\": \">=3\",\n \"webpack\": \"^4 || ^5\"\n },\n \"peerDependenciesMeta\": {\n \"@farmfe/core\": {\n \"optional\": true\n },\n \"@nuxt/kit\": {\n \"optional\": true\n },\n \"@nuxt/schema\": {\n \"optional\": true\n },\n \"esbuild\": {\n \"optional\": true\n },\n \"rollup\": {\n \"optional\": true\n },\n \"vite\": {\n \"optional\": true\n },\n \"webpack\": {\n \"optional\": true\n }\n },\n \"dependencies\": {\n \"@babel/core\": \"^7.28.6\",\n \"@babel/generator\": \"^7.28.6\",\n \"@babel/parser\": \"^7.28.6\",\n \"@babel/traverse\": \"^7.28.6\",\n \"@babel/types\": \"^7.28.6\",\n \"babel-dead-code-elimination\": \"^1.0.12\",\n \"unplugin\": \"^2.3.11\"\n },\n \"devDependencies\": {\n \"@antfu/eslint-config\": \"^4.19.0\",\n \"@fragno-private/typescript-config\": \"workspace:*\",\n \"@fragno-private/vitest-config\": \"workspace:*\",\n \"@nuxt/kit\": \"^4.2.2\",\n \"@nuxt/schema\": \"^4.2.2\",\n \"@types/babel__core\": \"^7.20.5\",\n \"@types/babel__generator\": \"^7.27.0\",\n \"@types/babel__traverse\": \"^7.28.0\",\n \"@types/node\": \"^22.19.7\",\n \"@vitest/coverage-istanbul\": \"^3.2.4\",\n \"dedent\": \"^1.7.1\",\n \"eslint\": \"^9.39.2\",\n \"nodemon\": \"^3.1.11\",\n \"rollup\": \"^4.55.2\",\n \"tsdown\": \"^0.12.9\",\n \"tsx\": \"^4.21.0\",\n \"typescript\": \"^5.9.3\",\n \"vite\": \"^6.4.1\",\n \"vitest\": \"^3.2.4\",\n \"webpack\": \"^5.104.1\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/rejot-dev/fragno.git\",\n \"directory\": \"packages/unplugin-fragno\"\n },\n \"homepage\": \"https://fragno.dev\",\n \"license\": \"MIT\"\n}\n"],"mappings":";WACU"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as name } from "./package-
|
|
1
|
+
import { t as name } from "./package-CgwrEN8B.js";
|
|
2
2
|
import { createUnplugin } from "unplugin";
|
|
3
3
|
import * as babel from "@babel/core";
|
|
4
4
|
import { traverse } from "@babel/core";
|
|
@@ -8,6 +8,13 @@ import { deadCodeElimination, findReferencedIdentifiers } from "babel-dead-code-
|
|
|
8
8
|
import * as t from "@babel/types";
|
|
9
9
|
|
|
10
10
|
//#region src/transform-macros.ts
|
|
11
|
+
/**
|
|
12
|
+
* Modified from: pcattori/vite-env-only
|
|
13
|
+
* Original source: https://github.com/pcattori/vite-env-only/blob/45a39e7fb52e9fae4300e95aa51ed0880374f507/src/transform.ts
|
|
14
|
+
* License: MIT
|
|
15
|
+
* Date obtained: September 4 2025
|
|
16
|
+
* Copyright (c) 2024 Pedro Cattori
|
|
17
|
+
*/
|
|
11
18
|
const macrosSpecifier = `${name}/macros`;
|
|
12
19
|
const isMacroBinding = (binding, macro) => {
|
|
13
20
|
if (!t.isImportDeclaration(binding?.path.parent)) return false;
|
|
@@ -378,7 +385,13 @@ function transformDefineLibrary(ast, options) {
|
|
|
378
385
|
if (t.isIdentifier(callee)) {
|
|
379
386
|
const binding = path.scope.getBinding(callee.name);
|
|
380
387
|
if (binding && isUtilityFunctionBinding(binding)) {
|
|
381
|
-
path.node.arguments
|
|
388
|
+
const args = path.node.arguments;
|
|
389
|
+
if (args.length >= 2) path.node.arguments = [args[0], createPassThroughArrowFunction()];
|
|
390
|
+
else if (args.length === 1) {
|
|
391
|
+
const [arg] = args;
|
|
392
|
+
if (t.isArrowFunctionExpression(arg) || t.isFunctionExpression(arg)) path.node.arguments = [t.stringLiteral("schema"), createPassThroughArrowFunction()];
|
|
393
|
+
else path.node.arguments = [arg, createPassThroughArrowFunction()];
|
|
394
|
+
} else path.node.arguments = [t.stringLiteral("schema"), createPassThroughArrowFunction()];
|
|
382
395
|
return;
|
|
383
396
|
}
|
|
384
397
|
}
|
|
@@ -588,4 +601,4 @@ var src_default = unplugin;
|
|
|
588
601
|
|
|
589
602
|
//#endregion
|
|
590
603
|
export { isMacroBinding as i, unplugin as n, unpluginFactory as r, src_default as t };
|
|
591
|
-
//# sourceMappingURL=src-
|
|
604
|
+
//# sourceMappingURL=src-XHSyoexF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"src-XHSyoexF.js","names":["pkgName","FRAGNO_PACKAGES","IDENTIFIER_REPLACEMENTS: IdentifierReplacement[]","FRAGNO_PACKAGES","current: t.Node | null","current: NodePath","topmost: NodePath<t.CallExpression>","instantiationCalls: NodePath<t.CallExpression>[]","unpluginFactory: UnpluginFactory<Options | undefined>"],"sources":["../src/transform-macros.ts","../src/transform-define-route.ts","../src/transform-identifier-replacements.ts","../src/transform-define-library.ts","../src/transform-fragment-builder.ts","../src/transform-instantiate.ts","../src/transform.ts","../src/index.ts"],"sourcesContent":["/**\n * Modified from: pcattori/vite-env-only\n * Original source: https://github.com/pcattori/vite-env-only/blob/45a39e7fb52e9fae4300e95aa51ed0880374f507/src/transform.ts\n * License: MIT\n * Date obtained: September 4 2025\n * Copyright (c) 2024 Pedro Cattori\n */\n\nimport { traverse } from \"@babel/core\";\nimport type { Binding, NodePath } from \"@babel/traverse\";\nimport * as t from \"@babel/types\";\nimport type { Node } from \"@babel/types\";\nimport { name as pkgName } from \"../package.json\";\n\nconst macrosSpecifier = `${pkgName}/macros`;\n\nexport const isMacroBinding = (binding: Binding, macro: string): boolean => {\n if (!t.isImportDeclaration(binding?.path.parent)) {\n return false;\n }\n if (binding.path.parent.source.value !== macrosSpecifier) {\n return false;\n }\n\n if (!t.isImportSpecifier(binding?.path.node)) {\n return false;\n }\n const { imported } = binding.path.node;\n if (!t.isIdentifier(imported)) {\n return false;\n }\n if (imported.name !== macro) {\n return false;\n }\n return true;\n};\n\nconst isMacro = (path: NodePath<t.CallExpression>, macro: string) => {\n if (!t.isIdentifier(path.node.callee)) {\n return false;\n }\n const binding = path.scope.getBinding(path.node.callee.name);\n\n if (!binding) {\n return false;\n }\n if (!isMacroBinding(binding, macro)) {\n return false;\n }\n\n if (path.node.arguments.length !== 1) {\n throw path.buildCodeFrameError(`'${macro}' must take exactly one argument`);\n }\n return true;\n};\n\nexport function transformMacros(ast: Node, options: { ssr: boolean }) {\n traverse(ast, {\n CallExpression(path) {\n if (isMacro(path, options.ssr ? \"clientOnly$\" : \"serverOnly$\")) {\n path.replaceWith(t.identifier(\"undefined\"));\n }\n if (isMacro(path, options.ssr ? \"serverOnly$\" : \"clientOnly$\")) {\n const arg = path.node.arguments[0];\n if (t.isExpression(arg)) {\n path.replaceWith(arg);\n }\n }\n },\n\n Identifier(path) {\n if (t.isImportSpecifier(path.parent)) {\n return;\n }\n\n const binding = path.scope.getBinding(path.node.name);\n if (!binding) {\n return;\n }\n if (!isMacroBinding(binding, \"serverOnly$\") && !isMacroBinding(binding, \"clientOnly$\")) {\n return;\n }\n if (t.isCallExpression(path.parent)) {\n return;\n }\n throw path.buildCodeFrameError(\n `'${path.node.name}' macro cannot be manipulated at runtime as it must be statically analysable`,\n );\n },\n\n ImportDeclaration(path) {\n if (path.node.source.value !== macrosSpecifier) {\n return;\n }\n path.node.specifiers.forEach((specifier, i) => {\n if (t.isImportNamespaceSpecifier(specifier)) {\n const subpath = path.get(`specifiers.${i}`);\n if (Array.isArray(subpath)) {\n throw new Error(\"unreachable\");\n }\n throw subpath.buildCodeFrameError(\n `Namespace import is not supported by '${macrosSpecifier}'`,\n );\n }\n });\n },\n });\n}\n","import { traverse } from \"@babel/core\";\nimport type { Binding, NodePath } from \"@babel/traverse\";\nimport * as t from \"@babel/types\";\nimport type { Node } from \"@babel/types\";\n\nconst FRAGNO_PACKAGES = [\"@fragno-dev/core\"];\n\nconst isAddRouteBinding = (binding: Binding): boolean => {\n if (!t.isImportDeclaration(binding?.path.parent)) {\n return false;\n }\n\n const source = binding.path.parent.source.value;\n if (!FRAGNO_PACKAGES.some((pkg) => source.startsWith(pkg))) {\n return false;\n }\n\n if (!t.isImportSpecifier(binding?.path.node)) {\n return false;\n }\n\n const { imported } = binding.path.node;\n if (!t.isIdentifier(imported)) {\n return false;\n }\n\n if (imported.name !== \"addRoute\" && imported.name !== \"defineRoute\") {\n return false;\n }\n\n return true;\n};\n\n/**\n * Check if a binding is an import of defineRoutes or defineRoutes from Fragno\n */\nconst isRouteBuilderBinding = (binding: Binding): boolean => {\n if (!t.isImportDeclaration(binding?.path.parent)) {\n return false;\n }\n\n const source = binding.path.parent.source.value;\n if (!FRAGNO_PACKAGES.some((pkg) => source.startsWith(pkg))) {\n return false;\n }\n\n if (!t.isImportSpecifier(binding?.path.node)) {\n return false;\n }\n\n const { imported } = binding.path.node;\n if (!t.isIdentifier(imported)) {\n return false;\n }\n\n if (imported.name !== \"defineRoutes\" && imported.name !== \"defineRoutes\") {\n return false;\n }\n\n return true;\n};\n\n/**\n * Check if a binding comes from a callback parameter that provides defineRoute\n * from a Fragno API (defineRoutes or defineRoutes).\n * Example: defineRoutes(fragment).create(({ defineRoute }) => [...])\n */\nconst isDefineRouteFromCallbackParam = (\n binding: Binding,\n fragnoCallbacks: Set<NodePath<t.Function>>,\n): boolean => {\n // Check if the binding kind is \"param\" (function parameter)\n if (binding.kind !== \"param\") {\n return false;\n }\n\n // For destructured parameters, the binding path node is the ObjectPattern\n const bindingPath = binding.path;\n if (!t.isObjectPattern(bindingPath.node)) {\n return false;\n }\n\n // Check if the ObjectPattern contains a property named \"defineRoute\"\n const properties = bindingPath.node.properties;\n let hasDefineRoute = false;\n for (const prop of properties) {\n if (t.isObjectProperty(prop)) {\n const key = prop.key;\n if (t.isIdentifier(key) && key.name === \"defineRoute\") {\n hasDefineRoute = true;\n break;\n }\n }\n }\n\n if (!hasDefineRoute) {\n return false;\n }\n\n // Find the function that contains this parameter\n const functionParent = bindingPath.getFunctionParent();\n if (!functionParent) {\n return false;\n }\n\n // Check if this function is in our set of Fragno callbacks\n return fragnoCallbacks.has(functionParent);\n};\n\n/**\n * Check if a member expression is accessing defineRoute from a callback parameter\n * from a Fragno API (defineRoutes or defineRoutes).\n * Example: context.defineRoute(...)\n */\nconst isDefineRouteMemberAccess = (\n path: NodePath<t.CallExpression>,\n fragnoCallbacks: Set<NodePath<t.Function>>,\n): boolean => {\n const { callee } = path.node;\n\n if (!t.isMemberExpression(callee)) {\n return false;\n }\n\n // Check if the property is \"defineRoute\"\n const property = callee.property;\n if (!t.isIdentifier(property) || property.name !== \"defineRoute\") {\n return false;\n }\n\n // Check if the object is an identifier that's a function parameter\n if (!t.isIdentifier(callee.object)) {\n return false;\n }\n\n const binding = path.scope.getBinding(callee.object.name);\n if (!binding || binding.kind !== \"param\") {\n return false;\n }\n\n // Find the function that contains this parameter\n const functionParent = path.getFunctionParent();\n if (!functionParent) {\n return false;\n }\n\n // Check if this function is in our set of Fragno callbacks\n return fragnoCallbacks.has(functionParent);\n};\n\nconst isAddRouteCall = (\n path: NodePath<t.CallExpression>,\n fragnoCallbacks: Set<NodePath<t.Function>>,\n): boolean => {\n // Case 1: Direct call - defineRoute(...)\n if (t.isIdentifier(path.node.callee)) {\n const binding = path.scope.getBinding(path.node.callee.name);\n\n if (!binding) {\n return false;\n }\n\n // Check if it's from an import or from a callback parameter\n return isAddRouteBinding(binding) || isDefineRouteFromCallbackParam(binding, fragnoCallbacks);\n }\n\n // Case 2: Member access - context.defineRoute(...)\n if (t.isMemberExpression(path.node.callee)) {\n return isDefineRouteMemberAccess(path, fragnoCallbacks);\n }\n\n return false;\n};\n\nfunction replaceHandlerWithNoop(routeConfig: t.Expression) {\n if (!t.isObjectExpression(routeConfig)) {\n return;\n }\n\n const handlerProp = routeConfig.properties.find((prop) => {\n if (t.isObjectProperty(prop) || t.isObjectMethod(prop)) {\n const key = prop.key;\n return t.isIdentifier(key) && key.name === \"handler\";\n }\n return false;\n });\n\n if (!handlerProp) {\n return;\n }\n\n if (t.isObjectProperty(handlerProp)) {\n handlerProp.value = t.arrowFunctionExpression([], t.blockStatement([]));\n } else if (t.isObjectMethod(handlerProp)) {\n handlerProp.body = t.blockStatement([]);\n handlerProp.params = [];\n }\n}\n\n/**\n * Collect all callback functions that are passed to .create() on Fragno route builders\n * (defineRoutes or defineRoutes)\n */\nfunction collectFragnoCallbacks(ast: Node): Set<NodePath<t.Function>> {\n const fragnoCallbacks = new Set<NodePath<t.Function>>();\n\n traverse(ast, {\n CallExpression(path) {\n const { callee } = path.node;\n\n // Check for pattern: identifier.create(callback) or chainedCall().create(callback)\n if (!t.isMemberExpression(callee)) {\n return;\n }\n\n // Check if the property is \"create\"\n const property = callee.property;\n if (!t.isIdentifier(property) || property.name !== \"create\") {\n return;\n }\n\n // Try to resolve the object to a Fragno route builder\n let isFragnoBuilder = false;\n\n // Case 1: Direct identifier - defineRoutes.create() or defineRoutes.create()\n if (t.isIdentifier(callee.object)) {\n const binding = path.scope.getBinding(callee.object.name);\n if (binding && isRouteBuilderBinding(binding)) {\n isFragnoBuilder = true;\n }\n }\n\n // Case 2: Call expression - defineRoutes().create() or defineRoutes().create()\n if (t.isCallExpression(callee.object)) {\n const innerCallee = callee.object.callee;\n if (t.isIdentifier(innerCallee)) {\n const binding = path.scope.getBinding(innerCallee.name);\n if (binding && isRouteBuilderBinding(binding)) {\n isFragnoBuilder = true;\n }\n }\n }\n\n if (!isFragnoBuilder) {\n return;\n }\n\n // Extract the callback function argument\n if (path.node.arguments.length > 0) {\n const firstArg = path.node.arguments[0];\n // The callback can be an arrow function or a function expression\n if (t.isFunction(firstArg)) {\n const funcPath = path.get(\"arguments.0\") as NodePath<t.Function>;\n fragnoCallbacks.add(funcPath);\n }\n }\n },\n });\n\n return fragnoCallbacks;\n}\n\nexport function transformDefineRoute(ast: Node, options: { ssr: boolean }) {\n if (options.ssr) {\n return;\n }\n\n // First pass: collect all callbacks from Fragno route builders\n const fragnoCallbacks = collectFragnoCallbacks(ast);\n\n // Second pass: transform defineRoute calls\n traverse(ast, {\n CallExpression(path) {\n if (!isAddRouteCall(path, fragnoCallbacks)) {\n return;\n }\n\n if (path.node.arguments.length > 0) {\n const firstArg = path.node.arguments[0];\n if (t.isExpression(firstArg)) {\n replaceHandlerWithNoop(firstArg);\n }\n }\n },\n });\n}\n","import { traverse } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\nimport * as t from \"@babel/types\";\nimport type { Node } from \"@babel/types\";\n\ntype IdentifierReplacement = {\n source: { package: string; identifier: string; isType: boolean };\n target: { package: string; identifier: string; isType: boolean };\n};\n\nconst IDENTIFIER_REPLACEMENTS: IdentifierReplacement[] = [\n {\n source: {\n package: \"@fragno-dev/db\",\n identifier: \"defineFragmentWithDatabase\",\n isType: false,\n },\n target: { package: \"@fragno-dev/core\", identifier: \"defineFragment\", isType: false },\n },\n {\n source: {\n package: \"@fragno-dev/db\",\n identifier: \"FragnoPublicConfigWithDatabase\",\n isType: true,\n },\n target: { package: \"@fragno-dev/core\", identifier: \"FragnoPublicConfig\", isType: true },\n },\n];\n\n/**\n * Ensures that the target identifier is imported in the AST.\n * Handles both type and value imports.\n */\nconst ensureIdentifierImport = (ast: Node, replacement: IdentifierReplacement): void => {\n let hasTargetImport = false;\n let foundTargetPackageImport = false;\n\n const newImportSpecifier = t.importSpecifier(\n t.identifier(replacement.target.identifier),\n t.identifier(replacement.target.identifier),\n );\n\n // Check if target identifier is already imported, and add it if not\n traverse(ast, {\n ImportDeclaration(path) {\n const source = path.node.source.value;\n if (source.startsWith(replacement.target.package)) {\n foundTargetPackageImport = true;\n\n // For type imports, check both ImportDeclaration.importKind and ImportSpecifier.importKind\n const isTypeImport = path.node.importKind === \"type\";\n\n for (const specifier of path.node.specifiers) {\n if (\n t.isImportSpecifier(specifier) &&\n t.isIdentifier(specifier.imported) &&\n specifier.imported.name === replacement.target.identifier\n ) {\n // Check if the import type matches what we need\n const specifierIsType = specifier.importKind === \"type\" || isTypeImport;\n if (specifierIsType === replacement.target.isType) {\n hasTargetImport = true;\n return;\n }\n }\n }\n\n // If we found the target package import but not the identifier, add it\n if (!hasTargetImport) {\n // Only add to matching import type (type vs value)\n if (isTypeImport === replacement.target.isType) {\n path.node.specifiers.push(newImportSpecifier);\n hasTargetImport = true;\n }\n }\n }\n },\n });\n\n // If no matching import exists, create one\n if (!foundTargetPackageImport && !hasTargetImport) {\n const newImport = replacement.target.isType\n ? t.importDeclaration([newImportSpecifier], t.stringLiteral(replacement.target.package))\n : t.importDeclaration([newImportSpecifier], t.stringLiteral(replacement.target.package));\n\n // Set importKind for type imports\n if (replacement.target.isType) {\n newImport.importKind = \"type\";\n }\n\n // Add at the beginning of the file\n if (t.isProgram(ast)) {\n ast.body.unshift(newImport);\n } else if (t.isFile(ast)) {\n ast.program.body.unshift(newImport);\n }\n }\n};\n\nexport function transformIdentifierReplacements(ast: Node, options: { ssr: boolean }): void {\n if (options.ssr) {\n return;\n }\n\n const usedReplacements = new Set<IdentifierReplacement>();\n const importsToReplace = new Map<\n string,\n { replacement: IdentifierReplacement; path: NodePath<t.ImportSpecifier> }\n >();\n\n // First pass: find imports that need to be replaced\n traverse(ast, {\n ImportSpecifier(path) {\n if (!t.isImportDeclaration(path.parent)) {\n return;\n }\n\n const source = path.parent.source.value;\n const { imported, local } = path.node;\n\n if (!t.isIdentifier(imported) || !t.isIdentifier(local)) {\n return;\n }\n\n // Check if this import matches any replacement source\n for (const replacement of IDENTIFIER_REPLACEMENTS) {\n if (\n (source === replacement.source.package ||\n source.startsWith(`${replacement.source.package}/`)) &&\n imported.name === replacement.source.identifier\n ) {\n importsToReplace.set(local.name, { replacement, path });\n usedReplacements.add(replacement);\n break;\n }\n }\n },\n });\n\n // Second pass: Use Babel's rename to rename all bindings\n for (const [localName, { replacement, path: importPath }] of importsToReplace) {\n const binding = importPath.scope.getBinding(localName);\n if (binding) {\n binding.scope.rename(localName, replacement.target.identifier);\n }\n }\n\n // Third pass: remove old import specifiers\n traverse(ast, {\n ImportDeclaration(path) {\n if (path.removed) {\n return;\n }\n\n const source = path.node.source.value;\n\n for (const replacement of usedReplacements) {\n if (\n source === replacement.source.package ||\n source.startsWith(`${replacement.source.package}/`)\n ) {\n // Remove specifiers that match the replacement source\n const newSpecifiers = path.node.specifiers.filter((specifier) => {\n if (t.isImportSpecifier(specifier) && t.isIdentifier(specifier.imported)) {\n return specifier.imported.name !== replacement.source.identifier;\n }\n return true;\n });\n\n // If no specifiers left, remove the entire import\n if (newSpecifiers.length === 0) {\n path.remove();\n return; // Exit early to avoid accessing removed path\n } else {\n path.node.specifiers = newSpecifiers;\n }\n }\n }\n },\n });\n\n // Fourth pass: ensure all used replacement targets are imported\n for (const replacement of usedReplacements) {\n ensureIdentifierImport(ast, replacement);\n }\n}\n","import { traverse } from \"@babel/core\";\nimport type { Binding, Scope } from \"@babel/traverse\";\nimport * as t from \"@babel/types\";\nimport type { Node } from \"@babel/types\";\n\nconst FRAGNO_PACKAGE_DEFINITIONS = {\n \"@fragno-dev/core\": {\n fragmentDefinitions: [\"defineFragment\"] as const,\n chainMethods: [\"withDependencies\", \"providesService\"] as const,\n // Exclude the new builder API from this transform\n excludePaths: [\"api/fragment-definition-builder\"] as const,\n },\n \"@fragno-dev/db\": {\n fragmentDefinitions: [\"defineFragmentWithDatabase\"] as const,\n chainMethods: [\"withDependencies\", \"providesService\", \"withDatabase\"] as const,\n utilityFunctions: [\"schema\"] as const,\n },\n} as const;\n\ntype PackageDefinition =\n (typeof FRAGNO_PACKAGE_DEFINITIONS)[keyof typeof FRAGNO_PACKAGE_DEFINITIONS];\n\nconst getPackageDefinition = (source: string): PackageDefinition | undefined => {\n for (const [pkg, definition] of Object.entries(FRAGNO_PACKAGE_DEFINITIONS)) {\n if (source === pkg || source.startsWith(`${pkg}/`)) {\n return definition;\n }\n }\n return undefined;\n};\n\nconst getAllChainMethods = (): Set<string> => {\n const methods = new Set<string>();\n for (const definition of Object.values(FRAGNO_PACKAGE_DEFINITIONS)) {\n if (\"chainMethods\" in definition) {\n for (const method of definition.chainMethods) {\n methods.add(method);\n }\n }\n }\n return methods;\n};\n\nconst isDefineLibraryBinding = (binding: Binding): boolean => {\n if (!t.isImportDeclaration(binding?.path.parent)) {\n return false;\n }\n\n const source = binding.path.parent.source.value;\n const definition = getPackageDefinition(source);\n\n if (!definition || !(\"fragmentDefinitions\" in definition)) {\n return false;\n }\n\n // Check if this import is from an excluded path (new builder API)\n if (\"excludePaths\" in definition) {\n for (const excludePath of definition.excludePaths) {\n if (source.includes(excludePath)) {\n return false;\n }\n }\n }\n\n if (!t.isImportSpecifier(binding?.path.node)) {\n return false;\n }\n\n const { imported } = binding.path.node;\n if (!t.isIdentifier(imported)) {\n return false;\n }\n\n // Safe cast: we checked that fragmentDefinitions exists above\n if (!(definition.fragmentDefinitions as readonly string[]).includes(imported.name)) {\n return false;\n }\n\n return true;\n};\n\nconst isUtilityFunctionBinding = (binding: Binding): boolean => {\n if (!t.isImportDeclaration(binding?.path.parent)) {\n return false;\n }\n\n const source = binding.path.parent.source.value;\n const definition = getPackageDefinition(source);\n\n if (!definition || !(\"utilityFunctions\" in definition)) {\n return false;\n }\n\n if (!t.isImportSpecifier(binding?.path.node)) {\n return false;\n }\n\n const { imported } = binding.path.node;\n if (!t.isIdentifier(imported)) {\n return false;\n }\n\n // Safe cast: we checked that utilityFunctions exists above\n if (!(definition.utilityFunctions as readonly string[]).includes(imported.name)) {\n return false;\n }\n\n return true;\n};\n\nconst isDefineLibraryCall = (node: t.CallExpression, scope: Scope): boolean => {\n if (!t.isIdentifier(node.callee)) {\n return false;\n }\n\n const binding = scope.getBinding(node.callee.name);\n\n if (!binding) {\n // After transformation (identifier replacements), we might have created a defineFragment identifier\n // that doesn't have a binding set up yet in the scope. Check by name as a fallback.\n return node.callee.name === \"defineFragment\";\n }\n\n return isDefineLibraryBinding(binding);\n};\n\nconst createNoOpArrowFunction = (): t.ArrowFunctionExpression => {\n return t.arrowFunctionExpression([], t.blockStatement([]));\n};\n\n/**\n * Create an arrow function that returns its first parameter.\n * Used for utility functions like schema() where the callback needs to return a builder.\n */\nconst createPassThroughArrowFunction = (): t.ArrowFunctionExpression => {\n const param = t.identifier(\"s\");\n return t.arrowFunctionExpression([param], param);\n};\n\nconst isDefineLibraryChain = (node: t.Node, scope: Scope): boolean => {\n // Check direct defineFragment call\n if (t.isCallExpression(node) && isDefineLibraryCall(node, scope)) {\n return true;\n }\n\n // Check chained method calls\n if (t.isCallExpression(node) && t.isMemberExpression(node.callee)) {\n return isDefineLibraryChain(node.callee.object, scope);\n }\n\n // Check if it's an identifier that refers to a defineFragment result\n if (t.isIdentifier(node)) {\n const binding = scope.getBinding(node.name);\n if (binding && binding.path.isVariableDeclarator()) {\n const init = binding.path.node.init;\n if (init) {\n return isDefineLibraryChain(init, scope);\n }\n }\n }\n\n return false;\n};\n\nexport function transformDefineLibrary(ast: Node, options: { ssr: boolean }): void {\n if (options.ssr) {\n return;\n }\n\n const chainMethods = getAllChainMethods();\n\n traverse(ast, {\n CallExpression(path) {\n const { callee } = path.node;\n\n // Check if this is a utility function call (like schema)\n if (t.isIdentifier(callee)) {\n const binding = path.scope.getBinding(callee.name);\n if (binding && isUtilityFunctionBinding(binding)) {\n // Replace with a pass-through function that returns its parameter\n // This prevents errors like \"Cannot read properties of undefined (reading 'build')\"\n // when schema(() => {}) would return undefined\n const args = path.node.arguments;\n if (args.length >= 2) {\n path.node.arguments = [args[0], createPassThroughArrowFunction()];\n } else if (args.length === 1) {\n const [arg] = args;\n if (t.isArrowFunctionExpression(arg) || t.isFunctionExpression(arg)) {\n path.node.arguments = [t.stringLiteral(\"schema\"), createPassThroughArrowFunction()];\n } else {\n path.node.arguments = [arg, createPassThroughArrowFunction()];\n }\n } else {\n path.node.arguments = [t.stringLiteral(\"schema\"), createPassThroughArrowFunction()];\n }\n return;\n }\n }\n\n // Check if this is a method call\n if (!t.isMemberExpression(callee)) {\n return;\n }\n\n const { property, object } = callee;\n\n // Check if the method is a chain method\n if (!t.isIdentifier(property)) {\n return;\n }\n\n const methodName = property.name;\n\n // Check if this is a withDatabase call - remove it entirely\n if (methodName === \"withDatabase\" && isDefineLibraryChain(object, path.scope)) {\n // Replace the entire call expression with just the object (removes .withDatabase(...))\n path.replaceWith(object);\n return;\n }\n\n if (!chainMethods.has(methodName)) {\n return;\n }\n\n // Check if this is part of a defineFragment chain\n if (!isDefineLibraryChain(object, path.scope)) {\n return;\n }\n\n // Replace the argument with a no-op function\n path.node.arguments = [createNoOpArrowFunction()];\n },\n });\n}\n","import { traverse } from \"@babel/core\";\nimport type { Binding, NodePath } from \"@babel/traverse\";\nimport * as t from \"@babel/types\";\nimport type { Node } from \"@babel/types\";\n\n/**\n * Packages where the new fragment builder API is exported from\n */\nconst FRAGNO_PACKAGES = [\"@fragno-dev/core\"];\n\n/**\n * Methods that should have their callback arguments stripped in browser builds\n */\nconst BUILDER_METHODS_WITH_CALLBACKS = [\n \"withDependencies\",\n \"providesBaseService\",\n \"providesService\",\n \"withRequestStorage\",\n \"withExternalRequestStorage\",\n \"withRequestThisContext\",\n \"extend\",\n];\n\n/**\n * Check if a binding is from defineFragment\n */\nconst isDefineFragmentBinding = (binding: Binding): boolean => {\n if (!t.isImportDeclaration(binding?.path.parent)) {\n return false;\n }\n\n const source = binding.path.parent.source.value;\n if (!FRAGNO_PACKAGES.some((pkg) => source.startsWith(pkg))) {\n return false;\n }\n\n if (!t.isImportSpecifier(binding?.path.node)) {\n return false;\n }\n\n const { imported } = binding.path.node;\n if (!t.isIdentifier(imported)) {\n return false;\n }\n\n if (imported.name !== \"defineFragment\") {\n return false;\n }\n\n return true;\n};\n\n/**\n * Check if a member expression is a builder method call\n */\nconst isBuilderMethodCall = (\n path: NodePath<t.CallExpression>,\n): { methodName: string; isChainedFromDefineFragment: boolean } | null => {\n if (!t.isMemberExpression(path.node.callee)) {\n return null;\n }\n\n const { property } = path.node.callee;\n if (!t.isIdentifier(property)) {\n return null;\n }\n\n const methodName = property.name;\n if (!BUILDER_METHODS_WITH_CALLBACKS.includes(methodName)) {\n return null;\n }\n\n // Check if this is part of a chain that starts with defineFragment\n // We'll do a simple check: walk up the call chain to see if we find defineFragment\n const isChainedFromDefineFragment = isChainedFromDefineFragmentCall(path);\n\n return { methodName, isChainedFromDefineFragment };\n};\n\n/**\n * Walk up a chain of member expressions to see if it starts with defineFragment\n */\nconst isChainedFromDefineFragmentCall = (path: NodePath<t.CallExpression>): boolean => {\n let current: t.Node | null = path.node;\n\n // Walk up the chain of calls\n while (current) {\n if (t.isCallExpression(current)) {\n // Check if this is a defineFragment call\n if (t.isIdentifier(current.callee)) {\n const binding = path.scope.getBinding(current.callee.name);\n if (binding && isDefineFragmentBinding(binding)) {\n return true;\n }\n return false;\n }\n\n // Continue walking up if it's a member expression\n if (t.isMemberExpression(current.callee)) {\n current = current.callee.object;\n continue;\n }\n\n return false;\n } else if (t.isMemberExpression(current)) {\n current = current.object;\n } else {\n return false;\n }\n }\n\n return false;\n};\n\n/**\n * Strip callback arguments from builder methods and replace with no-op callback\n */\nconst stripCallbackArguments = (path: NodePath<t.CallExpression>, methodName: string): void => {\n // Create a no-op arrow function: () => {}\n const noopCallback = t.arrowFunctionExpression([], t.blockStatement([]));\n\n if (methodName === \"extend\") {\n // For extend, use identity function: x => x\n const xParam = t.identifier(\"x\");\n const identityFn = t.arrowFunctionExpression([xParam], xParam);\n path.node.arguments = [identityFn];\n } else if (methodName === \"providesService\") {\n // For providesService, keep the first argument (service name), replace the second with no-op\n\n if (path.node.arguments.length >= 1) {\n const firstArg = path.node.arguments[0];\n if (firstArg && t.isExpression(firstArg)) {\n path.node.arguments = [firstArg, noopCallback];\n }\n }\n } else {\n // For all other methods, replace all arguments with a no-op callback\n path.node.arguments = [noopCallback];\n }\n};\n\nexport function transformFragmentBuilder(ast: Node, options: { ssr: boolean }): void {\n if (options.ssr) {\n return;\n }\n\n traverse(ast, {\n CallExpression(path) {\n // Check if this is a builder method call\n const builderMethod = isBuilderMethodCall(path);\n if (builderMethod && builderMethod.isChainedFromDefineFragment) {\n stripCallbackArguments(path, builderMethod.methodName);\n }\n },\n });\n}\n","import { traverse } from \"@babel/core\";\nimport type { Binding, NodePath } from \"@babel/traverse\";\nimport * as t from \"@babel/types\";\nimport type { Node } from \"@babel/types\";\n\n/**\n * Packages where instantiation functions are exported from\n */\nconst FRAGNO_PACKAGES = [\"@fragno-dev/core\"];\n\n/**\n * Instantiation functions that should be replaced with empty objects in browser builds\n */\nconst INSTANTIATION_FUNCTIONS = [\"instantiate\", \"instantiateFragment\"];\n\n/**\n * Check if a binding is from an instantiation function (instantiate or instantiateFragment)\n */\nconst isInstantiationBinding = (binding: Binding): boolean => {\n if (!t.isImportDeclaration(binding?.path.parent)) {\n return false;\n }\n\n const source = binding.path.parent.source.value;\n if (!FRAGNO_PACKAGES.some((pkg) => source.startsWith(pkg))) {\n return false;\n }\n\n if (!t.isImportSpecifier(binding?.path.node)) {\n return false;\n }\n\n const { imported } = binding.path.node;\n if (!t.isIdentifier(imported)) {\n return false;\n }\n\n if (!INSTANTIATION_FUNCTIONS.includes(imported.name)) {\n return false;\n }\n\n return true;\n};\n\n/**\n * Find the root instantiation call in a chain and replace it with an empty object\n */\nconst replaceInstantiationChainWithEmptyObject = (path: NodePath<t.CallExpression>): void => {\n // Walk up to find the topmost call expression in the chain\n let current: NodePath = path;\n let topmost: NodePath<t.CallExpression> = path;\n\n while (current.parentPath) {\n const parent = current.parentPath;\n\n // If parent is a member expression, keep going up\n if (t.isMemberExpression(parent.node)) {\n const grandparent = parent.parentPath;\n if (grandparent && t.isCallExpression(grandparent.node)) {\n topmost = grandparent as NodePath<t.CallExpression>;\n current = grandparent;\n continue;\n }\n }\n break;\n }\n\n // Replace the topmost call with an empty object\n topmost.replaceWith(t.objectExpression([]));\n};\n\nexport function transformInstantiate(ast: Node, options: { ssr: boolean }): void {\n if (options.ssr) {\n return;\n }\n\n // Collect all instantiation call expressions first\n const instantiationCalls: NodePath<t.CallExpression>[] = [];\n\n traverse(ast, {\n CallExpression(path) {\n const { callee } = path.node;\n\n // Check for direct call: instantiate(...) or instantiateFragment(...)\n if (t.isIdentifier(callee)) {\n const binding = path.scope.getBinding(callee.name);\n if (binding && isInstantiationBinding(binding)) {\n instantiationCalls.push(path);\n }\n }\n },\n });\n\n // Replace each instantiation chain with an empty object\n // We do this in a second pass to avoid issues with traversal during replacement\n for (const call of instantiationCalls) {\n if (call.node) {\n // Check if this call is still valid (hasn't been removed by a previous replacement)\n replaceInstantiationChainWithEmptyObject(call);\n }\n }\n}\n","import * as babel from \"@babel/core\";\nimport { parse } from \"@babel/parser\";\nimport { generate } from \"@babel/generator\";\nimport type { GeneratorResult } from \"@babel/generator\";\n\nimport { deadCodeElimination, findReferencedIdentifiers } from \"babel-dead-code-elimination\";\nimport { transformMacros } from \"./transform-macros\";\nimport { transformDefineRoute } from \"./transform-define-route\";\nimport { transformIdentifierReplacements } from \"./transform-identifier-replacements\";\nimport { transformDefineLibrary } from \"./transform-define-library\";\nimport { transformFragmentBuilder } from \"./transform-fragment-builder\";\nimport { transformInstantiate } from \"./transform-instantiate\";\n\nexport const transform = (code: string, id: string, options: { ssr: boolean }): GeneratorResult => {\n const ast = parse(code, { sourceType: \"module\", plugins: [[\"typescript\", {}]] });\n\n // - https://github.com/babel/babel/issues/11889\n // - https://github.com/babel/babel/issues/11350#issuecomment-606169054\n // @ts-expect-error `@types/babel__core` is missing types for `File`\n new babel.File({ filename: undefined }, { code, ast });\n\n const refs = findReferencedIdentifiers(ast);\n\n transformFragmentBuilder(ast, options);\n transformMacros(ast, options);\n transformDefineRoute(ast, options);\n transformIdentifierReplacements(ast, options);\n transformDefineLibrary(ast, options);\n transformInstantiate(ast, options);\n\n deadCodeElimination(ast, refs);\n return generate(ast, { sourceMaps: true, sourceFileName: id }, code);\n};\n","import type { UnpluginFactory } from \"unplugin\";\nimport type { Options } from \"./types\";\nimport { createUnplugin } from \"unplugin\";\nimport { transform } from \"./transform\";\n\nexport const unpluginFactory: UnpluginFactory<Options | undefined> = (options = {}) => {\n const { platform } = options;\n\n if (platform !== \"browser\") {\n return [];\n }\n\n return {\n name: \"unplugin-fragno\",\n\n transformInclude(id) {\n if (id.endsWith(\".d.ts\")) {\n return false;\n }\n\n if (id.includes(\"@fragno-dev/unplugin-fragno\") || id.includes(\"@fragno-dev/core\")) {\n return false;\n }\n\n return true;\n },\n transform(code, id) {\n return transform(code, id, { ssr: false });\n },\n };\n};\n\nexport const unplugin = /* #__PURE__ */ createUnplugin(unpluginFactory);\n\nexport default unplugin;\nexport type { Options };\nexport { isMacroBinding } from \"./transform-macros\";\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-lbYQROz0.d.ts","names":[],"sources":["../../src/types.ts"],"sourcesContent":[],"mappings":";UAAiB,OAAA;EAAA,QAAA,CAAA,EAAO,SAAA,GAAA,MAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as unpluginFactory } from "./src-
|
|
1
|
+
import { r as unpluginFactory } from "./src-XHSyoexF.js";
|
|
2
2
|
import { createVitePlugin } from "unplugin";
|
|
3
3
|
|
|
4
4
|
//#region src/integrations/vite.ts
|
|
@@ -6,4 +6,4 @@ var vite_default = createVitePlugin(unpluginFactory);
|
|
|
6
6
|
|
|
7
7
|
//#endregion
|
|
8
8
|
export { vite_default as t };
|
|
9
|
-
//# sourceMappingURL=vite-
|
|
9
|
+
//# sourceMappingURL=vite-KR894EMZ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-
|
|
1
|
+
{"version":3,"file":"vite-KR894EMZ.js","names":[],"sources":["../src/integrations/vite.ts"],"sourcesContent":["import { createVitePlugin } from \"unplugin\";\nimport { unpluginFactory } from \"..\";\n\nexport default createVitePlugin(unpluginFactory);\n"],"mappings":";;;;AAGA,mBAAe,iBAAiB,gBAAgB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as unpluginFactory } from "./src-
|
|
1
|
+
import { r as unpluginFactory } from "./src-XHSyoexF.js";
|
|
2
2
|
import { createWebpackPlugin } from "unplugin";
|
|
3
3
|
|
|
4
4
|
//#region src/integrations/webpack.ts
|
|
@@ -6,4 +6,4 @@ var webpack_default = createWebpackPlugin(unpluginFactory);
|
|
|
6
6
|
|
|
7
7
|
//#endregion
|
|
8
8
|
export { webpack_default as t };
|
|
9
|
-
//# sourceMappingURL=webpack-
|
|
9
|
+
//# sourceMappingURL=webpack-CGrbnxag.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webpack-
|
|
1
|
+
{"version":3,"file":"webpack-CGrbnxag.js","names":[],"sources":["../src/integrations/webpack.ts"],"sourcesContent":["import { createWebpackPlugin } from \"unplugin\";\nimport { unpluginFactory } from \"..\";\n\nexport default createWebpackPlugin(unpluginFactory);\n"],"mappings":";;;;AAGA,sBAAe,oBAAoB,gBAAgB"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fragno-dev/unplugin-fragno",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.8",
|
|
5
5
|
"description": "",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"fragno",
|
|
@@ -108,33 +108,33 @@
|
|
|
108
108
|
}
|
|
109
109
|
},
|
|
110
110
|
"dependencies": {
|
|
111
|
-
"
|
|
112
|
-
"@babel/
|
|
113
|
-
"@babel/
|
|
114
|
-
"@babel/
|
|
115
|
-
"@babel/
|
|
116
|
-
"
|
|
117
|
-
"
|
|
111
|
+
"@babel/core": "^7.28.6",
|
|
112
|
+
"@babel/generator": "^7.28.6",
|
|
113
|
+
"@babel/parser": "^7.28.6",
|
|
114
|
+
"@babel/traverse": "^7.28.6",
|
|
115
|
+
"@babel/types": "^7.28.6",
|
|
116
|
+
"babel-dead-code-elimination": "^1.0.12",
|
|
117
|
+
"unplugin": "^2.3.11"
|
|
118
118
|
},
|
|
119
119
|
"devDependencies": {
|
|
120
|
-
"@antfu/eslint-config": "^4.
|
|
121
|
-
"@nuxt/kit": "^4.
|
|
122
|
-
"@nuxt/schema": "^4.
|
|
120
|
+
"@antfu/eslint-config": "^4.19.0",
|
|
121
|
+
"@nuxt/kit": "^4.2.2",
|
|
122
|
+
"@nuxt/schema": "^4.2.2",
|
|
123
123
|
"@types/babel__core": "^7.20.5",
|
|
124
|
-
"@types/babel__generator": "^7.
|
|
125
|
-
"@types/babel__traverse": "^7.
|
|
126
|
-
"@types/node": "^22.
|
|
124
|
+
"@types/babel__generator": "^7.27.0",
|
|
125
|
+
"@types/babel__traverse": "^7.28.0",
|
|
126
|
+
"@types/node": "^22.19.7",
|
|
127
127
|
"@vitest/coverage-istanbul": "^3.2.4",
|
|
128
|
-
"dedent": "^1.7.
|
|
129
|
-
"eslint": "^9.
|
|
130
|
-
"nodemon": "^3.1.
|
|
131
|
-
"rollup": "^4.
|
|
132
|
-
"tsdown": "^0.12.
|
|
133
|
-
"tsx": "^4.
|
|
134
|
-
"typescript": "^5.
|
|
135
|
-
"vite": "^6.
|
|
128
|
+
"dedent": "^1.7.1",
|
|
129
|
+
"eslint": "^9.39.2",
|
|
130
|
+
"nodemon": "^3.1.11",
|
|
131
|
+
"rollup": "^4.55.2",
|
|
132
|
+
"tsdown": "^0.12.9",
|
|
133
|
+
"tsx": "^4.21.0",
|
|
134
|
+
"typescript": "^5.9.3",
|
|
135
|
+
"vite": "^6.4.1",
|
|
136
136
|
"vitest": "^3.2.4",
|
|
137
|
-
"webpack": "^5.
|
|
137
|
+
"webpack": "^5.104.1",
|
|
138
138
|
"@fragno-private/typescript-config": "0.0.1",
|
|
139
139
|
"@fragno-private/vitest-config": "0.0.0"
|
|
140
140
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"astro.d.ts","names":[],"sources":["../../../src/integrations/astro.ts"],"sourcesContent":[],"mappings":";;;cAAwC,oBAKf"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"esbuild.d.ts","names":[],"sources":["../../../src/integrations/esbuild.ts"],"sourcesContent":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"farm.d.ts","names":[],"sources":["../../../src/integrations/farm.ts"],"sourcesContent":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nuxt.d.ts","names":[],"sources":["../../../src/integrations/nuxt.ts"],"sourcesContent":[],"mappings":";;;;UAMiB,aAAA,SAAsB;cAAU"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rollup.d.ts","names":[],"sources":["../../../src/integrations/rollup.ts"],"sourcesContent":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rspack.d.ts","names":[],"sources":["../../../src/integrations/rspack.ts"],"sourcesContent":[],"mappings":""}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { t as Options } from "../types-DI0A616D.js";
|
|
2
|
-
import "../index-C_Qj2XYR.js";
|
|
3
|
-
import * as vite0 from "vite";
|
|
4
|
-
|
|
5
|
-
//#region src/integrations/vite.d.ts
|
|
6
|
-
declare const _default: (options?: Options | undefined) => vite0.Plugin<any> | vite0.Plugin<any>[];
|
|
7
|
-
//#endregion
|
|
8
|
-
export { _default as default };
|
|
9
|
-
//# sourceMappingURL=vite.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vite.d.ts","names":[],"sources":["../../../src/integrations/vite.ts"],"sourcesContent":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webpack.d.ts","names":[],"sources":["../../../src/integrations/webpack.ts"],"sourcesContent":[],"mappings":""}
|
package/dist/macros.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"macros.d.ts","names":[],"sources":["../../src/macros.ts"],"sourcesContent":[],"mappings":";;AAkBA;;;;;AAMA;;;;;cANa,oBARQ,MAAI;;;;;cAcZ,oBAdQ,MAAI"}
|
package/dist/src-DFuD5wjc.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"src-DFuD5wjc.js","names":["pkgName","FRAGNO_PACKAGES","IDENTIFIER_REPLACEMENTS: IdentifierReplacement[]","FRAGNO_PACKAGES","current: t.Node | null","current: NodePath","topmost: NodePath<t.CallExpression>","instantiationCalls: NodePath<t.CallExpression>[]","unpluginFactory: UnpluginFactory<Options | undefined>"],"sources":["../src/transform-macros.ts","../src/transform-define-route.ts","../src/transform-identifier-replacements.ts","../src/transform-define-library.ts","../src/transform-fragment-builder.ts","../src/transform-instantiate.ts","../src/transform.ts","../src/index.ts"],"sourcesContent":["/**\n * Modified from: pcattori/vite-env-only\n * Original source: https://github.com/pcattori/vite-env-only/blob/45a39e7fb52e9fae4300e95aa51ed0880374f507/src/transform.ts\n * License: MIT\n * Date obtained: September 4 2025\n * Copyright (c) 2024 Pedro Cattori\n */\n\nimport { traverse } from \"@babel/core\";\nimport type { Binding, NodePath } from \"@babel/traverse\";\nimport * as t from \"@babel/types\";\nimport type { Node } from \"@babel/types\";\nimport { name as pkgName } from \"../package.json\";\n\nconst macrosSpecifier = `${pkgName}/macros`;\n\nexport const isMacroBinding = (binding: Binding, macro: string): boolean => {\n if (!t.isImportDeclaration(binding?.path.parent)) {\n return false;\n }\n if (binding.path.parent.source.value !== macrosSpecifier) {\n return false;\n }\n\n if (!t.isImportSpecifier(binding?.path.node)) {\n return false;\n }\n const { imported } = binding.path.node;\n if (!t.isIdentifier(imported)) {\n return false;\n }\n if (imported.name !== macro) {\n return false;\n }\n return true;\n};\n\nconst isMacro = (path: NodePath<t.CallExpression>, macro: string) => {\n if (!t.isIdentifier(path.node.callee)) {\n return false;\n }\n const binding = path.scope.getBinding(path.node.callee.name);\n\n if (!binding) {\n return false;\n }\n if (!isMacroBinding(binding, macro)) {\n return false;\n }\n\n if (path.node.arguments.length !== 1) {\n throw path.buildCodeFrameError(`'${macro}' must take exactly one argument`);\n }\n return true;\n};\n\nexport function transformMacros(ast: Node, options: { ssr: boolean }) {\n traverse(ast, {\n CallExpression(path) {\n if (isMacro(path, options.ssr ? \"clientOnly$\" : \"serverOnly$\")) {\n path.replaceWith(t.identifier(\"undefined\"));\n }\n if (isMacro(path, options.ssr ? \"serverOnly$\" : \"clientOnly$\")) {\n const arg = path.node.arguments[0];\n if (t.isExpression(arg)) {\n path.replaceWith(arg);\n }\n }\n },\n\n Identifier(path) {\n if (t.isImportSpecifier(path.parent)) {\n return;\n }\n\n const binding = path.scope.getBinding(path.node.name);\n if (!binding) {\n return;\n }\n if (!isMacroBinding(binding, \"serverOnly$\") && !isMacroBinding(binding, \"clientOnly$\")) {\n return;\n }\n if (t.isCallExpression(path.parent)) {\n return;\n }\n throw path.buildCodeFrameError(\n `'${path.node.name}' macro cannot be manipulated at runtime as it must be statically analysable`,\n );\n },\n\n ImportDeclaration(path) {\n if (path.node.source.value !== macrosSpecifier) {\n return;\n }\n path.node.specifiers.forEach((specifier, i) => {\n if (t.isImportNamespaceSpecifier(specifier)) {\n const subpath = path.get(`specifiers.${i}`);\n if (Array.isArray(subpath)) {\n throw new Error(\"unreachable\");\n }\n throw subpath.buildCodeFrameError(\n `Namespace import is not supported by '${macrosSpecifier}'`,\n );\n }\n });\n },\n });\n}\n","import { traverse } from \"@babel/core\";\nimport type { Binding, NodePath } from \"@babel/traverse\";\nimport * as t from \"@babel/types\";\nimport type { Node } from \"@babel/types\";\n\nconst FRAGNO_PACKAGES = [\"@fragno-dev/core\"];\n\nconst isAddRouteBinding = (binding: Binding): boolean => {\n if (!t.isImportDeclaration(binding?.path.parent)) {\n return false;\n }\n\n const source = binding.path.parent.source.value;\n if (!FRAGNO_PACKAGES.some((pkg) => source.startsWith(pkg))) {\n return false;\n }\n\n if (!t.isImportSpecifier(binding?.path.node)) {\n return false;\n }\n\n const { imported } = binding.path.node;\n if (!t.isIdentifier(imported)) {\n return false;\n }\n\n if (imported.name !== \"addRoute\" && imported.name !== \"defineRoute\") {\n return false;\n }\n\n return true;\n};\n\n/**\n * Check if a binding is an import of defineRoutes or defineRoutes from Fragno\n */\nconst isRouteBuilderBinding = (binding: Binding): boolean => {\n if (!t.isImportDeclaration(binding?.path.parent)) {\n return false;\n }\n\n const source = binding.path.parent.source.value;\n if (!FRAGNO_PACKAGES.some((pkg) => source.startsWith(pkg))) {\n return false;\n }\n\n if (!t.isImportSpecifier(binding?.path.node)) {\n return false;\n }\n\n const { imported } = binding.path.node;\n if (!t.isIdentifier(imported)) {\n return false;\n }\n\n if (imported.name !== \"defineRoutes\" && imported.name !== \"defineRoutes\") {\n return false;\n }\n\n return true;\n};\n\n/**\n * Check if a binding comes from a callback parameter that provides defineRoute\n * from a Fragno API (defineRoutes or defineRoutes).\n * Example: defineRoutes(fragment).create(({ defineRoute }) => [...])\n */\nconst isDefineRouteFromCallbackParam = (\n binding: Binding,\n fragnoCallbacks: Set<NodePath<t.Function>>,\n): boolean => {\n // Check if the binding kind is \"param\" (function parameter)\n if (binding.kind !== \"param\") {\n return false;\n }\n\n // For destructured parameters, the binding path node is the ObjectPattern\n const bindingPath = binding.path;\n if (!t.isObjectPattern(bindingPath.node)) {\n return false;\n }\n\n // Check if the ObjectPattern contains a property named \"defineRoute\"\n const properties = bindingPath.node.properties;\n let hasDefineRoute = false;\n for (const prop of properties) {\n if (t.isObjectProperty(prop)) {\n const key = prop.key;\n if (t.isIdentifier(key) && key.name === \"defineRoute\") {\n hasDefineRoute = true;\n break;\n }\n }\n }\n\n if (!hasDefineRoute) {\n return false;\n }\n\n // Find the function that contains this parameter\n const functionParent = bindingPath.getFunctionParent();\n if (!functionParent) {\n return false;\n }\n\n // Check if this function is in our set of Fragno callbacks\n return fragnoCallbacks.has(functionParent);\n};\n\n/**\n * Check if a member expression is accessing defineRoute from a callback parameter\n * from a Fragno API (defineRoutes or defineRoutes).\n * Example: context.defineRoute(...)\n */\nconst isDefineRouteMemberAccess = (\n path: NodePath<t.CallExpression>,\n fragnoCallbacks: Set<NodePath<t.Function>>,\n): boolean => {\n const { callee } = path.node;\n\n if (!t.isMemberExpression(callee)) {\n return false;\n }\n\n // Check if the property is \"defineRoute\"\n const property = callee.property;\n if (!t.isIdentifier(property) || property.name !== \"defineRoute\") {\n return false;\n }\n\n // Check if the object is an identifier that's a function parameter\n if (!t.isIdentifier(callee.object)) {\n return false;\n }\n\n const binding = path.scope.getBinding(callee.object.name);\n if (!binding || binding.kind !== \"param\") {\n return false;\n }\n\n // Find the function that contains this parameter\n const functionParent = path.getFunctionParent();\n if (!functionParent) {\n return false;\n }\n\n // Check if this function is in our set of Fragno callbacks\n return fragnoCallbacks.has(functionParent);\n};\n\nconst isAddRouteCall = (\n path: NodePath<t.CallExpression>,\n fragnoCallbacks: Set<NodePath<t.Function>>,\n): boolean => {\n // Case 1: Direct call - defineRoute(...)\n if (t.isIdentifier(path.node.callee)) {\n const binding = path.scope.getBinding(path.node.callee.name);\n\n if (!binding) {\n return false;\n }\n\n // Check if it's from an import or from a callback parameter\n return isAddRouteBinding(binding) || isDefineRouteFromCallbackParam(binding, fragnoCallbacks);\n }\n\n // Case 2: Member access - context.defineRoute(...)\n if (t.isMemberExpression(path.node.callee)) {\n return isDefineRouteMemberAccess(path, fragnoCallbacks);\n }\n\n return false;\n};\n\nfunction replaceHandlerWithNoop(routeConfig: t.Expression) {\n if (!t.isObjectExpression(routeConfig)) {\n return;\n }\n\n const handlerProp = routeConfig.properties.find((prop) => {\n if (t.isObjectProperty(prop) || t.isObjectMethod(prop)) {\n const key = prop.key;\n return t.isIdentifier(key) && key.name === \"handler\";\n }\n return false;\n });\n\n if (!handlerProp) {\n return;\n }\n\n if (t.isObjectProperty(handlerProp)) {\n handlerProp.value = t.arrowFunctionExpression([], t.blockStatement([]));\n } else if (t.isObjectMethod(handlerProp)) {\n handlerProp.body = t.blockStatement([]);\n handlerProp.params = [];\n }\n}\n\n/**\n * Collect all callback functions that are passed to .create() on Fragno route builders\n * (defineRoutes or defineRoutes)\n */\nfunction collectFragnoCallbacks(ast: Node): Set<NodePath<t.Function>> {\n const fragnoCallbacks = new Set<NodePath<t.Function>>();\n\n traverse(ast, {\n CallExpression(path) {\n const { callee } = path.node;\n\n // Check for pattern: identifier.create(callback) or chainedCall().create(callback)\n if (!t.isMemberExpression(callee)) {\n return;\n }\n\n // Check if the property is \"create\"\n const property = callee.property;\n if (!t.isIdentifier(property) || property.name !== \"create\") {\n return;\n }\n\n // Try to resolve the object to a Fragno route builder\n let isFragnoBuilder = false;\n\n // Case 1: Direct identifier - defineRoutes.create() or defineRoutes.create()\n if (t.isIdentifier(callee.object)) {\n const binding = path.scope.getBinding(callee.object.name);\n if (binding && isRouteBuilderBinding(binding)) {\n isFragnoBuilder = true;\n }\n }\n\n // Case 2: Call expression - defineRoutes().create() or defineRoutes().create()\n if (t.isCallExpression(callee.object)) {\n const innerCallee = callee.object.callee;\n if (t.isIdentifier(innerCallee)) {\n const binding = path.scope.getBinding(innerCallee.name);\n if (binding && isRouteBuilderBinding(binding)) {\n isFragnoBuilder = true;\n }\n }\n }\n\n if (!isFragnoBuilder) {\n return;\n }\n\n // Extract the callback function argument\n if (path.node.arguments.length > 0) {\n const firstArg = path.node.arguments[0];\n // The callback can be an arrow function or a function expression\n if (t.isFunction(firstArg)) {\n const funcPath = path.get(\"arguments.0\") as NodePath<t.Function>;\n fragnoCallbacks.add(funcPath);\n }\n }\n },\n });\n\n return fragnoCallbacks;\n}\n\nexport function transformDefineRoute(ast: Node, options: { ssr: boolean }) {\n if (options.ssr) {\n return;\n }\n\n // First pass: collect all callbacks from Fragno route builders\n const fragnoCallbacks = collectFragnoCallbacks(ast);\n\n // Second pass: transform defineRoute calls\n traverse(ast, {\n CallExpression(path) {\n if (!isAddRouteCall(path, fragnoCallbacks)) {\n return;\n }\n\n if (path.node.arguments.length > 0) {\n const firstArg = path.node.arguments[0];\n if (t.isExpression(firstArg)) {\n replaceHandlerWithNoop(firstArg);\n }\n }\n },\n });\n}\n","import { traverse } from \"@babel/core\";\nimport type { NodePath } from \"@babel/traverse\";\nimport * as t from \"@babel/types\";\nimport type { Node } from \"@babel/types\";\n\ntype IdentifierReplacement = {\n source: { package: string; identifier: string; isType: boolean };\n target: { package: string; identifier: string; isType: boolean };\n};\n\nconst IDENTIFIER_REPLACEMENTS: IdentifierReplacement[] = [\n {\n source: {\n package: \"@fragno-dev/db\",\n identifier: \"defineFragmentWithDatabase\",\n isType: false,\n },\n target: { package: \"@fragno-dev/core\", identifier: \"defineFragment\", isType: false },\n },\n {\n source: {\n package: \"@fragno-dev/db\",\n identifier: \"FragnoPublicConfigWithDatabase\",\n isType: true,\n },\n target: { package: \"@fragno-dev/core\", identifier: \"FragnoPublicConfig\", isType: true },\n },\n];\n\n/**\n * Ensures that the target identifier is imported in the AST.\n * Handles both type and value imports.\n */\nconst ensureIdentifierImport = (ast: Node, replacement: IdentifierReplacement): void => {\n let hasTargetImport = false;\n let foundTargetPackageImport = false;\n\n const newImportSpecifier = t.importSpecifier(\n t.identifier(replacement.target.identifier),\n t.identifier(replacement.target.identifier),\n );\n\n // Check if target identifier is already imported, and add it if not\n traverse(ast, {\n ImportDeclaration(path) {\n const source = path.node.source.value;\n if (source.startsWith(replacement.target.package)) {\n foundTargetPackageImport = true;\n\n // For type imports, check both ImportDeclaration.importKind and ImportSpecifier.importKind\n const isTypeImport = path.node.importKind === \"type\";\n\n for (const specifier of path.node.specifiers) {\n if (\n t.isImportSpecifier(specifier) &&\n t.isIdentifier(specifier.imported) &&\n specifier.imported.name === replacement.target.identifier\n ) {\n // Check if the import type matches what we need\n const specifierIsType = specifier.importKind === \"type\" || isTypeImport;\n if (specifierIsType === replacement.target.isType) {\n hasTargetImport = true;\n return;\n }\n }\n }\n\n // If we found the target package import but not the identifier, add it\n if (!hasTargetImport) {\n // Only add to matching import type (type vs value)\n if (isTypeImport === replacement.target.isType) {\n path.node.specifiers.push(newImportSpecifier);\n hasTargetImport = true;\n }\n }\n }\n },\n });\n\n // If no matching import exists, create one\n if (!foundTargetPackageImport && !hasTargetImport) {\n const newImport = replacement.target.isType\n ? t.importDeclaration([newImportSpecifier], t.stringLiteral(replacement.target.package))\n : t.importDeclaration([newImportSpecifier], t.stringLiteral(replacement.target.package));\n\n // Set importKind for type imports\n if (replacement.target.isType) {\n newImport.importKind = \"type\";\n }\n\n // Add at the beginning of the file\n if (t.isProgram(ast)) {\n ast.body.unshift(newImport);\n } else if (t.isFile(ast)) {\n ast.program.body.unshift(newImport);\n }\n }\n};\n\nexport function transformIdentifierReplacements(ast: Node, options: { ssr: boolean }): void {\n if (options.ssr) {\n return;\n }\n\n const usedReplacements = new Set<IdentifierReplacement>();\n const importsToReplace = new Map<\n string,\n { replacement: IdentifierReplacement; path: NodePath<t.ImportSpecifier> }\n >();\n\n // First pass: find imports that need to be replaced\n traverse(ast, {\n ImportSpecifier(path) {\n if (!t.isImportDeclaration(path.parent)) {\n return;\n }\n\n const source = path.parent.source.value;\n const { imported, local } = path.node;\n\n if (!t.isIdentifier(imported) || !t.isIdentifier(local)) {\n return;\n }\n\n // Check if this import matches any replacement source\n for (const replacement of IDENTIFIER_REPLACEMENTS) {\n if (\n (source === replacement.source.package ||\n source.startsWith(`${replacement.source.package}/`)) &&\n imported.name === replacement.source.identifier\n ) {\n importsToReplace.set(local.name, { replacement, path });\n usedReplacements.add(replacement);\n break;\n }\n }\n },\n });\n\n // Second pass: Use Babel's rename to rename all bindings\n for (const [localName, { replacement, path: importPath }] of importsToReplace) {\n const binding = importPath.scope.getBinding(localName);\n if (binding) {\n binding.scope.rename(localName, replacement.target.identifier);\n }\n }\n\n // Third pass: remove old import specifiers\n traverse(ast, {\n ImportDeclaration(path) {\n if (path.removed) {\n return;\n }\n\n const source = path.node.source.value;\n\n for (const replacement of usedReplacements) {\n if (\n source === replacement.source.package ||\n source.startsWith(`${replacement.source.package}/`)\n ) {\n // Remove specifiers that match the replacement source\n const newSpecifiers = path.node.specifiers.filter((specifier) => {\n if (t.isImportSpecifier(specifier) && t.isIdentifier(specifier.imported)) {\n return specifier.imported.name !== replacement.source.identifier;\n }\n return true;\n });\n\n // If no specifiers left, remove the entire import\n if (newSpecifiers.length === 0) {\n path.remove();\n return; // Exit early to avoid accessing removed path\n } else {\n path.node.specifiers = newSpecifiers;\n }\n }\n }\n },\n });\n\n // Fourth pass: ensure all used replacement targets are imported\n for (const replacement of usedReplacements) {\n ensureIdentifierImport(ast, replacement);\n }\n}\n","import { traverse } from \"@babel/core\";\nimport type { Binding, Scope } from \"@babel/traverse\";\nimport * as t from \"@babel/types\";\nimport type { Node } from \"@babel/types\";\n\nconst FRAGNO_PACKAGE_DEFINITIONS = {\n \"@fragno-dev/core\": {\n fragmentDefinitions: [\"defineFragment\"] as const,\n chainMethods: [\"withDependencies\", \"providesService\"] as const,\n // Exclude the new builder API from this transform\n excludePaths: [\"api/fragment-definition-builder\"] as const,\n },\n \"@fragno-dev/db\": {\n fragmentDefinitions: [\"defineFragmentWithDatabase\"] as const,\n chainMethods: [\"withDependencies\", \"providesService\", \"withDatabase\"] as const,\n utilityFunctions: [\"schema\"] as const,\n },\n} as const;\n\ntype PackageDefinition =\n (typeof FRAGNO_PACKAGE_DEFINITIONS)[keyof typeof FRAGNO_PACKAGE_DEFINITIONS];\n\nconst getPackageDefinition = (source: string): PackageDefinition | undefined => {\n for (const [pkg, definition] of Object.entries(FRAGNO_PACKAGE_DEFINITIONS)) {\n if (source === pkg || source.startsWith(`${pkg}/`)) {\n return definition;\n }\n }\n return undefined;\n};\n\nconst getAllChainMethods = (): Set<string> => {\n const methods = new Set<string>();\n for (const definition of Object.values(FRAGNO_PACKAGE_DEFINITIONS)) {\n if (\"chainMethods\" in definition) {\n for (const method of definition.chainMethods) {\n methods.add(method);\n }\n }\n }\n return methods;\n};\n\nconst isDefineLibraryBinding = (binding: Binding): boolean => {\n if (!t.isImportDeclaration(binding?.path.parent)) {\n return false;\n }\n\n const source = binding.path.parent.source.value;\n const definition = getPackageDefinition(source);\n\n if (!definition || !(\"fragmentDefinitions\" in definition)) {\n return false;\n }\n\n // Check if this import is from an excluded path (new builder API)\n if (\"excludePaths\" in definition) {\n for (const excludePath of definition.excludePaths) {\n if (source.includes(excludePath)) {\n return false;\n }\n }\n }\n\n if (!t.isImportSpecifier(binding?.path.node)) {\n return false;\n }\n\n const { imported } = binding.path.node;\n if (!t.isIdentifier(imported)) {\n return false;\n }\n\n // Safe cast: we checked that fragmentDefinitions exists above\n if (!(definition.fragmentDefinitions as readonly string[]).includes(imported.name)) {\n return false;\n }\n\n return true;\n};\n\nconst isUtilityFunctionBinding = (binding: Binding): boolean => {\n if (!t.isImportDeclaration(binding?.path.parent)) {\n return false;\n }\n\n const source = binding.path.parent.source.value;\n const definition = getPackageDefinition(source);\n\n if (!definition || !(\"utilityFunctions\" in definition)) {\n return false;\n }\n\n if (!t.isImportSpecifier(binding?.path.node)) {\n return false;\n }\n\n const { imported } = binding.path.node;\n if (!t.isIdentifier(imported)) {\n return false;\n }\n\n // Safe cast: we checked that utilityFunctions exists above\n if (!(definition.utilityFunctions as readonly string[]).includes(imported.name)) {\n return false;\n }\n\n return true;\n};\n\nconst isDefineLibraryCall = (node: t.CallExpression, scope: Scope): boolean => {\n if (!t.isIdentifier(node.callee)) {\n return false;\n }\n\n const binding = scope.getBinding(node.callee.name);\n\n if (!binding) {\n // After transformation (identifier replacements), we might have created a defineFragment identifier\n // that doesn't have a binding set up yet in the scope. Check by name as a fallback.\n return node.callee.name === \"defineFragment\";\n }\n\n return isDefineLibraryBinding(binding);\n};\n\nconst createNoOpArrowFunction = (): t.ArrowFunctionExpression => {\n return t.arrowFunctionExpression([], t.blockStatement([]));\n};\n\n/**\n * Create an arrow function that returns its first parameter.\n * Used for utility functions like schema() where the callback needs to return a builder.\n */\nconst createPassThroughArrowFunction = (): t.ArrowFunctionExpression => {\n const param = t.identifier(\"s\");\n return t.arrowFunctionExpression([param], param);\n};\n\nconst isDefineLibraryChain = (node: t.Node, scope: Scope): boolean => {\n // Check direct defineFragment call\n if (t.isCallExpression(node) && isDefineLibraryCall(node, scope)) {\n return true;\n }\n\n // Check chained method calls\n if (t.isCallExpression(node) && t.isMemberExpression(node.callee)) {\n return isDefineLibraryChain(node.callee.object, scope);\n }\n\n // Check if it's an identifier that refers to a defineFragment result\n if (t.isIdentifier(node)) {\n const binding = scope.getBinding(node.name);\n if (binding && binding.path.isVariableDeclarator()) {\n const init = binding.path.node.init;\n if (init) {\n return isDefineLibraryChain(init, scope);\n }\n }\n }\n\n return false;\n};\n\nexport function transformDefineLibrary(ast: Node, options: { ssr: boolean }): void {\n if (options.ssr) {\n return;\n }\n\n const chainMethods = getAllChainMethods();\n\n traverse(ast, {\n CallExpression(path) {\n const { callee } = path.node;\n\n // Check if this is a utility function call (like schema)\n if (t.isIdentifier(callee)) {\n const binding = path.scope.getBinding(callee.name);\n if (binding && isUtilityFunctionBinding(binding)) {\n // Replace with a pass-through function that returns its parameter\n // This prevents errors like \"Cannot read properties of undefined (reading 'build')\"\n // when schema(() => {}) would return undefined\n path.node.arguments = [createPassThroughArrowFunction()];\n return;\n }\n }\n\n // Check if this is a method call\n if (!t.isMemberExpression(callee)) {\n return;\n }\n\n const { property, object } = callee;\n\n // Check if the method is a chain method\n if (!t.isIdentifier(property)) {\n return;\n }\n\n const methodName = property.name;\n\n // Check if this is a withDatabase call - remove it entirely\n if (methodName === \"withDatabase\" && isDefineLibraryChain(object, path.scope)) {\n // Replace the entire call expression with just the object (removes .withDatabase(...))\n path.replaceWith(object);\n return;\n }\n\n if (!chainMethods.has(methodName)) {\n return;\n }\n\n // Check if this is part of a defineFragment chain\n if (!isDefineLibraryChain(object, path.scope)) {\n return;\n }\n\n // Replace the argument with a no-op function\n path.node.arguments = [createNoOpArrowFunction()];\n },\n });\n}\n","import { traverse } from \"@babel/core\";\nimport type { Binding, NodePath } from \"@babel/traverse\";\nimport * as t from \"@babel/types\";\nimport type { Node } from \"@babel/types\";\n\n/**\n * Packages where the new fragment builder API is exported from\n */\nconst FRAGNO_PACKAGES = [\"@fragno-dev/core\"];\n\n/**\n * Methods that should have their callback arguments stripped in browser builds\n */\nconst BUILDER_METHODS_WITH_CALLBACKS = [\n \"withDependencies\",\n \"providesBaseService\",\n \"providesService\",\n \"withRequestStorage\",\n \"withExternalRequestStorage\",\n \"withRequestThisContext\",\n \"extend\",\n];\n\n/**\n * Check if a binding is from defineFragment\n */\nconst isDefineFragmentBinding = (binding: Binding): boolean => {\n if (!t.isImportDeclaration(binding?.path.parent)) {\n return false;\n }\n\n const source = binding.path.parent.source.value;\n if (!FRAGNO_PACKAGES.some((pkg) => source.startsWith(pkg))) {\n return false;\n }\n\n if (!t.isImportSpecifier(binding?.path.node)) {\n return false;\n }\n\n const { imported } = binding.path.node;\n if (!t.isIdentifier(imported)) {\n return false;\n }\n\n if (imported.name !== \"defineFragment\") {\n return false;\n }\n\n return true;\n};\n\n/**\n * Check if a member expression is a builder method call\n */\nconst isBuilderMethodCall = (\n path: NodePath<t.CallExpression>,\n): { methodName: string; isChainedFromDefineFragment: boolean } | null => {\n if (!t.isMemberExpression(path.node.callee)) {\n return null;\n }\n\n const { property } = path.node.callee;\n if (!t.isIdentifier(property)) {\n return null;\n }\n\n const methodName = property.name;\n if (!BUILDER_METHODS_WITH_CALLBACKS.includes(methodName)) {\n return null;\n }\n\n // Check if this is part of a chain that starts with defineFragment\n // We'll do a simple check: walk up the call chain to see if we find defineFragment\n const isChainedFromDefineFragment = isChainedFromDefineFragmentCall(path);\n\n return { methodName, isChainedFromDefineFragment };\n};\n\n/**\n * Walk up a chain of member expressions to see if it starts with defineFragment\n */\nconst isChainedFromDefineFragmentCall = (path: NodePath<t.CallExpression>): boolean => {\n let current: t.Node | null = path.node;\n\n // Walk up the chain of calls\n while (current) {\n if (t.isCallExpression(current)) {\n // Check if this is a defineFragment call\n if (t.isIdentifier(current.callee)) {\n const binding = path.scope.getBinding(current.callee.name);\n if (binding && isDefineFragmentBinding(binding)) {\n return true;\n }\n return false;\n }\n\n // Continue walking up if it's a member expression\n if (t.isMemberExpression(current.callee)) {\n current = current.callee.object;\n continue;\n }\n\n return false;\n } else if (t.isMemberExpression(current)) {\n current = current.object;\n } else {\n return false;\n }\n }\n\n return false;\n};\n\n/**\n * Strip callback arguments from builder methods and replace with no-op callback\n */\nconst stripCallbackArguments = (path: NodePath<t.CallExpression>, methodName: string): void => {\n // Create a no-op arrow function: () => {}\n const noopCallback = t.arrowFunctionExpression([], t.blockStatement([]));\n\n if (methodName === \"extend\") {\n // For extend, use identity function: x => x\n const xParam = t.identifier(\"x\");\n const identityFn = t.arrowFunctionExpression([xParam], xParam);\n path.node.arguments = [identityFn];\n } else if (methodName === \"providesService\") {\n // For providesService, keep the first argument (service name), replace the second with no-op\n\n if (path.node.arguments.length >= 1) {\n const firstArg = path.node.arguments[0];\n if (firstArg && t.isExpression(firstArg)) {\n path.node.arguments = [firstArg, noopCallback];\n }\n }\n } else {\n // For all other methods, replace all arguments with a no-op callback\n path.node.arguments = [noopCallback];\n }\n};\n\nexport function transformFragmentBuilder(ast: Node, options: { ssr: boolean }): void {\n if (options.ssr) {\n return;\n }\n\n traverse(ast, {\n CallExpression(path) {\n // Check if this is a builder method call\n const builderMethod = isBuilderMethodCall(path);\n if (builderMethod && builderMethod.isChainedFromDefineFragment) {\n stripCallbackArguments(path, builderMethod.methodName);\n }\n },\n });\n}\n","import { traverse } from \"@babel/core\";\nimport type { Binding, NodePath } from \"@babel/traverse\";\nimport * as t from \"@babel/types\";\nimport type { Node } from \"@babel/types\";\n\n/**\n * Packages where instantiation functions are exported from\n */\nconst FRAGNO_PACKAGES = [\"@fragno-dev/core\"];\n\n/**\n * Instantiation functions that should be replaced with empty objects in browser builds\n */\nconst INSTANTIATION_FUNCTIONS = [\"instantiate\", \"instantiateFragment\"];\n\n/**\n * Check if a binding is from an instantiation function (instantiate or instantiateFragment)\n */\nconst isInstantiationBinding = (binding: Binding): boolean => {\n if (!t.isImportDeclaration(binding?.path.parent)) {\n return false;\n }\n\n const source = binding.path.parent.source.value;\n if (!FRAGNO_PACKAGES.some((pkg) => source.startsWith(pkg))) {\n return false;\n }\n\n if (!t.isImportSpecifier(binding?.path.node)) {\n return false;\n }\n\n const { imported } = binding.path.node;\n if (!t.isIdentifier(imported)) {\n return false;\n }\n\n if (!INSTANTIATION_FUNCTIONS.includes(imported.name)) {\n return false;\n }\n\n return true;\n};\n\n/**\n * Find the root instantiation call in a chain and replace it with an empty object\n */\nconst replaceInstantiationChainWithEmptyObject = (path: NodePath<t.CallExpression>): void => {\n // Walk up to find the topmost call expression in the chain\n let current: NodePath = path;\n let topmost: NodePath<t.CallExpression> = path;\n\n while (current.parentPath) {\n const parent = current.parentPath;\n\n // If parent is a member expression, keep going up\n if (t.isMemberExpression(parent.node)) {\n const grandparent = parent.parentPath;\n if (grandparent && t.isCallExpression(grandparent.node)) {\n topmost = grandparent as NodePath<t.CallExpression>;\n current = grandparent;\n continue;\n }\n }\n break;\n }\n\n // Replace the topmost call with an empty object\n topmost.replaceWith(t.objectExpression([]));\n};\n\nexport function transformInstantiate(ast: Node, options: { ssr: boolean }): void {\n if (options.ssr) {\n return;\n }\n\n // Collect all instantiation call expressions first\n const instantiationCalls: NodePath<t.CallExpression>[] = [];\n\n traverse(ast, {\n CallExpression(path) {\n const { callee } = path.node;\n\n // Check for direct call: instantiate(...) or instantiateFragment(...)\n if (t.isIdentifier(callee)) {\n const binding = path.scope.getBinding(callee.name);\n if (binding && isInstantiationBinding(binding)) {\n instantiationCalls.push(path);\n }\n }\n },\n });\n\n // Replace each instantiation chain with an empty object\n // We do this in a second pass to avoid issues with traversal during replacement\n for (const call of instantiationCalls) {\n if (call.node) {\n // Check if this call is still valid (hasn't been removed by a previous replacement)\n replaceInstantiationChainWithEmptyObject(call);\n }\n }\n}\n","import * as babel from \"@babel/core\";\nimport { parse } from \"@babel/parser\";\nimport { generate } from \"@babel/generator\";\nimport type { GeneratorResult } from \"@babel/generator\";\n\nimport { deadCodeElimination, findReferencedIdentifiers } from \"babel-dead-code-elimination\";\nimport { transformMacros } from \"./transform-macros\";\nimport { transformDefineRoute } from \"./transform-define-route\";\nimport { transformIdentifierReplacements } from \"./transform-identifier-replacements\";\nimport { transformDefineLibrary } from \"./transform-define-library\";\nimport { transformFragmentBuilder } from \"./transform-fragment-builder\";\nimport { transformInstantiate } from \"./transform-instantiate\";\n\nexport const transform = (code: string, id: string, options: { ssr: boolean }): GeneratorResult => {\n const ast = parse(code, { sourceType: \"module\", plugins: [[\"typescript\", {}]] });\n\n // - https://github.com/babel/babel/issues/11889\n // - https://github.com/babel/babel/issues/11350#issuecomment-606169054\n // @ts-expect-error `@types/babel__core` is missing types for `File`\n new babel.File({ filename: undefined }, { code, ast });\n\n const refs = findReferencedIdentifiers(ast);\n\n transformFragmentBuilder(ast, options);\n transformMacros(ast, options);\n transformDefineRoute(ast, options);\n transformIdentifierReplacements(ast, options);\n transformDefineLibrary(ast, options);\n transformInstantiate(ast, options);\n\n deadCodeElimination(ast, refs);\n return generate(ast, { sourceMaps: true, sourceFileName: id }, code);\n};\n","import type { UnpluginFactory } from \"unplugin\";\nimport type { Options } from \"./types\";\nimport { createUnplugin } from \"unplugin\";\nimport { transform } from \"./transform\";\n\nexport const unpluginFactory: UnpluginFactory<Options | undefined> = (options = {}) => {\n const { platform } = options;\n\n if (platform !== \"browser\") {\n return [];\n }\n\n return {\n name: \"unplugin-fragno\",\n\n transformInclude(id) {\n if (id.endsWith(\".d.ts\")) {\n return false;\n }\n\n if (id.includes(\"@fragno-dev/unplugin-fragno\") || id.includes(\"@fragno-dev/core\")) {\n return false;\n }\n\n return true;\n },\n transform(code, id) {\n return transform(code, id, { ssr: false });\n },\n };\n};\n\nexport const unplugin = /* #__PURE__ */ createUnplugin(unpluginFactory);\n\nexport default unplugin;\nexport type { Options };\nexport { isMacroBinding } from \"./transform-macros\";\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types-DI0A616D.d.ts","names":[],"sources":["../../src/types.ts"],"sourcesContent":[],"mappings":";UAAiB,OAAA;EAAA,QAAA,CAAA,EAAO,SAAA,GAAA,MAAA"}
|