@powerlines/plugin-react 0.1.341 → 0.1.343
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +11 -11
- package/dist/index.d.cts +6 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +6 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +7 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +11 -10
package/dist/index.cjs
CHANGED
|
@@ -14,7 +14,7 @@ let __vitejs_plugin_react = require("@vitejs/plugin-react");
|
|
|
14
14
|
__vitejs_plugin_react = require_rolldown_runtime.__toESM(__vitejs_plugin_react);
|
|
15
15
|
let defu = require("defu");
|
|
16
16
|
defu = require_rolldown_runtime.__toESM(defu);
|
|
17
|
-
let
|
|
17
|
+
let powerlines_typescript_tsconfig = require("powerlines/typescript/tsconfig");
|
|
18
18
|
|
|
19
19
|
//#region src/index.tsx
|
|
20
20
|
/**
|
|
@@ -50,9 +50,9 @@ const plugin = (options = {}) => {
|
|
|
50
50
|
this.devDependencies["@types/react"] = "^19.2.3";
|
|
51
51
|
this.devDependencies["@types/react-dom"] = "^19.2.3";
|
|
52
52
|
if (this.config.react.compiler !== false) {
|
|
53
|
-
this.config.
|
|
54
|
-
this.config.
|
|
55
|
-
this.config.
|
|
53
|
+
this.config.babel ??= {};
|
|
54
|
+
this.config.babel.plugins ??= [];
|
|
55
|
+
this.config.babel.plugins.push(["babel-plugin-react-compiler", this.config.react.compiler]);
|
|
56
56
|
}
|
|
57
57
|
this.tsconfig.tsconfigJson.compilerOptions ??= {};
|
|
58
58
|
this.tsconfig.tsconfigJson.compilerOptions.lib ??= [];
|
|
@@ -61,20 +61,20 @@ const plugin = (options = {}) => {
|
|
|
61
61
|
if (this.tsconfig.options.jsxImportSource === "react") this.tsconfig.tsconfigJson.compilerOptions.jsx ??= "react-jsx";
|
|
62
62
|
else this.tsconfig.tsconfigJson.compilerOptions.jsx ??= "preserve";
|
|
63
63
|
if (this.environment.consumer === "client") {
|
|
64
|
-
if (!(0,
|
|
65
|
-
if (!(0,
|
|
64
|
+
if (!(0, powerlines_typescript_tsconfig.isMatchFound)("dom", this.tsconfig.tsconfigJson.compilerOptions.lib)) this.tsconfig.tsconfigJson.compilerOptions.lib.push("DOM");
|
|
65
|
+
if (!(0, powerlines_typescript_tsconfig.isMatchFound)("dom.iterable", this.tsconfig.tsconfigJson.compilerOptions.lib)) this.tsconfig.tsconfigJson.compilerOptions.lib.push("DOM.Iterable");
|
|
66
66
|
}
|
|
67
|
-
if (!(0,
|
|
67
|
+
if (!(0, powerlines_typescript_tsconfig.isMatchFound)("esnext", this.tsconfig.tsconfigJson.compilerOptions.lib)) this.tsconfig.tsconfigJson.compilerOptions.lib.push("ESNext");
|
|
68
68
|
if (this.tsconfig.options.resolveJsonModule !== true) this.tsconfig.tsconfigJson.compilerOptions.resolveJsonModule = true;
|
|
69
|
-
if (this.config.
|
|
69
|
+
if (this.config.vite) {
|
|
70
70
|
this.tsconfig.tsconfigJson.compilerOptions.types ??= [];
|
|
71
|
-
if (!(0,
|
|
72
|
-
const viteBuildConfig = this.config.
|
|
71
|
+
if (!(0, powerlines_typescript_tsconfig.isMatchFound)("vite/client", this.tsconfig.tsconfigJson.compilerOptions.types)) this.tsconfig.tsconfigJson.compilerOptions.types.push("vite/client");
|
|
72
|
+
const viteBuildConfig = this.config.vite;
|
|
73
73
|
viteBuildConfig.build ??= {};
|
|
74
74
|
viteBuildConfig.build.target = "chrome95";
|
|
75
75
|
viteBuildConfig.plugins ??= [];
|
|
76
76
|
viteBuildConfig.plugins.unshift((0, __vitejs_plugin_react.default)({
|
|
77
|
-
babel: this.config.
|
|
77
|
+
babel: this.config.babel,
|
|
78
78
|
jsxImportSource: this.config.react.jsxImportSource,
|
|
79
79
|
jsxRuntime: this.config.react.jsxRuntime,
|
|
80
80
|
reactRefreshHost: this.config.react.reactRefreshHost
|
package/dist/index.d.cts
CHANGED
|
@@ -3,9 +3,14 @@ import "./components/index.cjs";
|
|
|
3
3
|
import { ReactCompilerOptions, ReactPluginContext, ReactPluginOptions, ReactPluginResolvedConfig, ReactPluginUserConfig, __ΩReactCompilerOptions, __ΩReactPluginContext, __ΩReactPluginOptions, __ΩReactPluginResolvedConfig, __ΩReactPluginUserConfig } from "./types/plugin.cjs";
|
|
4
4
|
import { ReactEnvInterface, __ΩReactEnvInterface } from "./types/runtime.cjs";
|
|
5
5
|
import "./types/index.cjs";
|
|
6
|
-
import { Plugin } from "powerlines
|
|
6
|
+
import { Plugin } from "powerlines";
|
|
7
7
|
|
|
8
8
|
//#region src/index.d.ts
|
|
9
|
+
declare module "powerlines" {
|
|
10
|
+
interface UserConfig {
|
|
11
|
+
react?: ReactPluginOptions;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
9
14
|
/**
|
|
10
15
|
* A package containing a Powerlines plugin for building a React application.
|
|
11
16
|
*/
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.tsx"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;YAwCY;;AAJY;;;;AAIM,cAOjB,MAPiB,EAAA,CAAA,iBAQX,kBARW,GAQU,kBARV,CAAA,CAAA,OAAA,CAAA,EAUnB,kBAVmB,EAAA,GA8MvB,MA9MuB,CA8MhB,QA9MgB,CAAA,EAAA"}
|
package/dist/index.d.mts
CHANGED
|
@@ -3,9 +3,14 @@ import "./components/index.mjs";
|
|
|
3
3
|
import { ReactCompilerOptions, ReactPluginContext, ReactPluginOptions, ReactPluginResolvedConfig, ReactPluginUserConfig, __ΩReactCompilerOptions, __ΩReactPluginContext, __ΩReactPluginOptions, __ΩReactPluginResolvedConfig, __ΩReactPluginUserConfig } from "./types/plugin.mjs";
|
|
4
4
|
import { ReactEnvInterface, __ΩReactEnvInterface } from "./types/runtime.mjs";
|
|
5
5
|
import "./types/index.mjs";
|
|
6
|
-
import { Plugin } from "powerlines
|
|
6
|
+
import { Plugin } from "powerlines";
|
|
7
7
|
|
|
8
8
|
//#region src/index.d.ts
|
|
9
|
+
declare module "powerlines" {
|
|
10
|
+
interface UserConfig {
|
|
11
|
+
react?: ReactPluginOptions;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
9
14
|
/**
|
|
10
15
|
* A package containing a Powerlines plugin for building a React application.
|
|
11
16
|
*/
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.tsx"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;YAwCY;;AAJY;;;;AAIM,cAOjB,MAPiB,EAAA,CAAA,iBAQX,kBARW,GAQU,kBARV,CAAA,CAAA,OAAA,CAAA,EAUnB,kBAVmB,EAAA,GA8MvB,MA9MuB,CA8MhB,QA9MgB,CAAA,EAAA"}
|
package/dist/index.mjs
CHANGED
|
@@ -8,7 +8,7 @@ import env from "@powerlines/plugin-env";
|
|
|
8
8
|
import { LogLevelLabel } from "@storm-software/config-tools/types";
|
|
9
9
|
import viteReactPlugin from "@vitejs/plugin-react";
|
|
10
10
|
import defu from "defu";
|
|
11
|
-
import { isMatchFound } from "powerlines/
|
|
11
|
+
import { isMatchFound } from "powerlines/typescript/tsconfig";
|
|
12
12
|
|
|
13
13
|
//#region src/index.tsx
|
|
14
14
|
/**
|
|
@@ -44,9 +44,9 @@ const plugin = (options = {}) => {
|
|
|
44
44
|
this.devDependencies["@types/react"] = "^19.2.3";
|
|
45
45
|
this.devDependencies["@types/react-dom"] = "^19.2.3";
|
|
46
46
|
if (this.config.react.compiler !== false) {
|
|
47
|
-
this.config.
|
|
48
|
-
this.config.
|
|
49
|
-
this.config.
|
|
47
|
+
this.config.babel ??= {};
|
|
48
|
+
this.config.babel.plugins ??= [];
|
|
49
|
+
this.config.babel.plugins.push(["babel-plugin-react-compiler", this.config.react.compiler]);
|
|
50
50
|
}
|
|
51
51
|
this.tsconfig.tsconfigJson.compilerOptions ??= {};
|
|
52
52
|
this.tsconfig.tsconfigJson.compilerOptions.lib ??= [];
|
|
@@ -60,15 +60,15 @@ const plugin = (options = {}) => {
|
|
|
60
60
|
}
|
|
61
61
|
if (!isMatchFound("esnext", this.tsconfig.tsconfigJson.compilerOptions.lib)) this.tsconfig.tsconfigJson.compilerOptions.lib.push("ESNext");
|
|
62
62
|
if (this.tsconfig.options.resolveJsonModule !== true) this.tsconfig.tsconfigJson.compilerOptions.resolveJsonModule = true;
|
|
63
|
-
if (this.config.
|
|
63
|
+
if (this.config.vite) {
|
|
64
64
|
this.tsconfig.tsconfigJson.compilerOptions.types ??= [];
|
|
65
65
|
if (!isMatchFound("vite/client", this.tsconfig.tsconfigJson.compilerOptions.types)) this.tsconfig.tsconfigJson.compilerOptions.types.push("vite/client");
|
|
66
|
-
const viteBuildConfig = this.config.
|
|
66
|
+
const viteBuildConfig = this.config.vite;
|
|
67
67
|
viteBuildConfig.build ??= {};
|
|
68
68
|
viteBuildConfig.build.target = "chrome95";
|
|
69
69
|
viteBuildConfig.plugins ??= [];
|
|
70
70
|
viteBuildConfig.plugins.unshift(viteReactPlugin({
|
|
71
|
-
babel: this.config.
|
|
71
|
+
babel: this.config.babel,
|
|
72
72
|
jsxImportSource: this.config.react.jsxImportSource,
|
|
73
73
|
jsxRuntime: this.config.react.jsxRuntime,
|
|
74
74
|
reactRefreshHost: this.config.react.reactRefreshHost
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["ReflectionKind","ReflectionVisibility","render","babel","env","LogLevelLabel","viteReactPlugin","defu","isMatchFound","ReactOptimizedBuiltin","plugin","options","name","config","react","jsxImportSource","tsconfig","tsconfigJson","compilerOptions","jsxRuntime","compiler","target","compilationMode","gating","source","framework","importSpecifierName","enableReanimatedCheck","logger","logEvent","filename","event","log","kind","SUCCESS","INFO","DEBUG","TRACE","ERROR","depArrayLoc","identifierName","decorations","filter","dec","map","join","reason","detail","category","description","measurement","entryType","duration","fnLoc","configResolved","dependencies","devDependencies","transform","plugins","push","lib","module","jsx","environment","consumer","resolveJsonModule","build","variant","types","viteBuildConfig","unshift","reactRefreshHost","hasProperty","addProperty","optional","readonly","visibility","public","type","boolean","default","prepare","_self$","_$createComponent","override","undefined"],"sources":["../src/index.tsx"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport {\n ReflectionKind,\n ReflectionVisibility\n} from \"@powerlines/deepkit/vendor/type\";\nimport { render } from \"@powerlines/plugin-alloy/render\";\nimport babel from \"@powerlines/plugin-babel\";\nimport env from \"@powerlines/plugin-env\";\nimport { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport viteReactPlugin from \"@vitejs/plugin-react\";\nimport type { LoggerEvent } from \"babel-plugin-react-compiler\";\nimport defu from \"defu\";\nimport { isMatchFound } from \"powerlines/lib/typescript/tsconfig\";\nimport type { ViteResolvedBuildConfig } from \"powerlines/types/build\";\nimport { Plugin } from \"powerlines/types/plugin\";\nimport type { BabelResolvedConfig } from \"powerlines/types/resolved\";\nimport { ReactOptimizedBuiltin } from \"./components/react-optimized\";\nimport type { ReactPluginContext, ReactPluginOptions } from \"./types/plugin\";\n\nexport * from \"./components\";\nexport * from \"./types\";\n\n/**\n * A package containing a Powerlines plugin for building a React application.\n */\nexport const plugin = <\n TContext extends ReactPluginContext = ReactPluginContext\n>(\n options: ReactPluginOptions = {}\n) => {\n return [\n babel(options.babel),\n env(options.env),\n {\n name: \"react\",\n config() {\n return defu(\n {\n react: options\n },\n {\n react: {\n jsxImportSource: this.tsconfig.tsconfigJson.compilerOptions\n ?.jsxImportSource as string\n }\n },\n {\n react: {\n jsxRuntime: \"automatic\",\n jsxImportSource: \"react\",\n compiler: {\n target: \"19\",\n compilationMode: \"infer\",\n gating: {\n source: `${this.config.framework}:react/optimized`,\n importSpecifierName: \"isOptimizationEnabled\"\n },\n enableReanimatedCheck: true,\n logger: {\n logEvent: (filename: string | null, event: LoggerEvent) => {\n this.log(\n event.kind === \"CompileSuccess\"\n ? LogLevelLabel.SUCCESS\n : event.kind === \"AutoDepsEligible\" ||\n event.kind === \"AutoDepsDecorations\"\n ? LogLevelLabel.INFO\n : event.kind === \"CompileSkip\" ||\n event.kind === \"CompileDiagnostic\"\n ? LogLevelLabel.DEBUG\n : event.kind === \"Timing\"\n ? LogLevelLabel.TRACE\n : LogLevelLabel.ERROR,\n `(${filename}) ${\n event.kind === \"CompileSuccess\"\n ? `React Compiler Success`\n : event.kind === \"AutoDepsEligible\"\n ? `React AutoDeps Eligible - ${\n event.depArrayLoc.identifierName ||\n \"No identifier\"\n }`\n : event.kind === \"AutoDepsDecorations\"\n ? `React AutoDeps Decorations - ${event.decorations\n .filter(dec => dec.identifierName)\n .map(dec => dec.identifierName)\n .join(\", \")}`\n : event.kind === \"CompileSkip\"\n ? `React Compile Skip - ${event.reason}`\n : event.kind === \"CompileDiagnostic\"\n ? `React Compile Diagnostic - (Category: ${\n event.detail.category\n }) ${event.detail.reason}${\n event.detail.description\n ? `\\n${event.detail.description}`\n : \"\"\n }`\n : event.kind === \"Timing\"\n ? `React ${event.measurement.entryType} Timing (${event.measurement.name}) - ${event.measurement.duration}ms`\n : `React Compiler Error - ${event.fnLoc?.identifierName || \"unknown location\"}`\n }`\n );\n }\n }\n }\n } as ReactPluginOptions\n }\n );\n },\n configResolved() {\n this.dependencies.react = \"^19.2.3\";\n this.dependencies[\"react-dom\"] = \"^19.2.3\";\n\n this.devDependencies[\"@types/react\"] = \"^19.2.3\";\n this.devDependencies[\"@types/react-dom\"] = \"^19.2.3\";\n\n if (this.config.react.compiler !== false) {\n this.config.transform.babel ??= {} as BabelResolvedConfig;\n\n this.config.transform.babel.plugins ??= [];\n this.config.transform.babel.plugins.push([\n \"babel-plugin-react-compiler\",\n this.config.react.compiler\n ]);\n }\n\n this.tsconfig.tsconfigJson.compilerOptions ??= {};\n this.tsconfig.tsconfigJson.compilerOptions.lib ??= [];\n this.tsconfig.tsconfigJson.compilerOptions.module ??= \"esnext\";\n this.tsconfig.tsconfigJson.compilerOptions.jsxImportSource =\n this.config.react.jsxImportSource;\n\n if (this.tsconfig.options.jsxImportSource === \"react\") {\n this.tsconfig.tsconfigJson.compilerOptions.jsx ??= \"react-jsx\";\n } else {\n this.tsconfig.tsconfigJson.compilerOptions.jsx ??= \"preserve\";\n }\n\n // Client platform\n if (this.environment.consumer === \"client\") {\n if (\n !isMatchFound(\"dom\", this.tsconfig.tsconfigJson.compilerOptions.lib)\n ) {\n this.tsconfig.tsconfigJson.compilerOptions.lib.push(\"DOM\");\n }\n\n if (\n !isMatchFound(\n \"dom.iterable\",\n this.tsconfig.tsconfigJson.compilerOptions.lib\n )\n ) {\n this.tsconfig.tsconfigJson.compilerOptions.lib.push(\"DOM.Iterable\");\n }\n }\n\n if (\n !isMatchFound(\n \"esnext\",\n this.tsconfig.tsconfigJson.compilerOptions.lib\n )\n ) {\n this.tsconfig.tsconfigJson.compilerOptions.lib.push(\"ESNext\");\n }\n\n if (this.tsconfig.options.resolveJsonModule !== true) {\n this.tsconfig.tsconfigJson.compilerOptions.resolveJsonModule = true;\n }\n\n if (this.config.build.variant === \"vite\") {\n this.tsconfig.tsconfigJson.compilerOptions.types ??= [];\n\n if (\n !isMatchFound(\n \"vite/client\",\n this.tsconfig.tsconfigJson.compilerOptions.types\n )\n ) {\n this.tsconfig.tsconfigJson.compilerOptions.types.push(\n \"vite/client\"\n );\n }\n\n const viteBuildConfig = this.config.build as ViteResolvedBuildConfig;\n viteBuildConfig.build ??= {};\n viteBuildConfig.build.target = \"chrome95\";\n\n viteBuildConfig.plugins ??= [];\n viteBuildConfig.plugins.unshift(\n viteReactPlugin({\n babel: this.config.transform.babel,\n jsxImportSource: this.config.react.jsxImportSource,\n jsxRuntime: this.config.react.jsxRuntime,\n reactRefreshHost: this.config.react.reactRefreshHost\n })\n );\n }\n\n if (\n this.env?.types?.env &&\n !this.env.types.env.hasProperty(\"DISABLE_REACT_COMPILER\")\n ) {\n this.env.types.env.addProperty({\n name: \"DISABLE_REACT_COMPILER\",\n optional: true,\n readonly: true,\n description: \"Disables the React compiler optimizations.\",\n visibility: ReflectionVisibility.public,\n type: {\n kind: ReflectionKind.boolean\n },\n default: false\n });\n }\n },\n async prepare() {\n return render(\n this,\n <ReactOptimizedBuiltin\n override={this.config.react.compiler === false ? false : undefined}\n />\n );\n }\n }\n ] as Plugin<TContext>[];\n};\n\nexport default plugin;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["ReflectionKind","ReflectionVisibility","render","babel","env","LogLevelLabel","viteReactPlugin","defu","isMatchFound","ReactOptimizedBuiltin","plugin","options","name","config","react","jsxImportSource","tsconfig","tsconfigJson","compilerOptions","jsxRuntime","compiler","target","compilationMode","gating","source","framework","importSpecifierName","enableReanimatedCheck","logger","logEvent","filename","event","log","kind","SUCCESS","INFO","DEBUG","TRACE","ERROR","depArrayLoc","identifierName","decorations","filter","dec","map","join","reason","detail","category","description","measurement","entryType","duration","fnLoc","configResolved","dependencies","devDependencies","plugins","push","lib","module","jsx","environment","consumer","resolveJsonModule","vite","types","viteBuildConfig","build","unshift","reactRefreshHost","hasProperty","addProperty","optional","readonly","visibility","public","type","boolean","default","prepare","_self$","_$createComponent","override","undefined"],"sources":["../src/index.tsx"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport {\n ReflectionKind,\n ReflectionVisibility\n} from \"@powerlines/deepkit/vendor/type\";\nimport { render } from \"@powerlines/plugin-alloy/render\";\nimport babel, { BabelPluginResolvedConfig } from \"@powerlines/plugin-babel\";\nimport env from \"@powerlines/plugin-env\";\nimport { VitePluginResolvedConfig } from \"@powerlines/plugin-vite/types/plugin\";\nimport { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport viteReactPlugin from \"@vitejs/plugin-react\";\nimport type { LoggerEvent } from \"babel-plugin-react-compiler\";\nimport defu from \"defu\";\nimport { Plugin } from \"powerlines\";\nimport { isMatchFound } from \"powerlines/typescript/tsconfig\";\nimport { ReactOptimizedBuiltin } from \"./components/react-optimized\";\nimport type { ReactPluginContext, ReactPluginOptions } from \"./types/plugin\";\n\nexport * from \"./components\";\nexport * from \"./types\";\n\ndeclare module \"powerlines\" {\n export interface UserConfig {\n react?: ReactPluginOptions;\n }\n}\n\n/**\n * A package containing a Powerlines plugin for building a React application.\n */\nexport const plugin = <\n TContext extends ReactPluginContext = ReactPluginContext\n>(\n options: ReactPluginOptions = {}\n) => {\n return [\n babel(options.babel),\n env(options.env),\n {\n name: \"react\",\n config() {\n return defu(\n {\n react: options\n },\n {\n react: {\n jsxImportSource: this.tsconfig.tsconfigJson.compilerOptions\n ?.jsxImportSource as string\n }\n },\n {\n react: {\n jsxRuntime: \"automatic\",\n jsxImportSource: \"react\",\n compiler: {\n target: \"19\",\n compilationMode: \"infer\",\n gating: {\n source: `${this.config.framework}:react/optimized`,\n importSpecifierName: \"isOptimizationEnabled\"\n },\n enableReanimatedCheck: true,\n logger: {\n logEvent: (filename: string | null, event: LoggerEvent) => {\n this.log(\n event.kind === \"CompileSuccess\"\n ? LogLevelLabel.SUCCESS\n : event.kind === \"AutoDepsEligible\" ||\n event.kind === \"AutoDepsDecorations\"\n ? LogLevelLabel.INFO\n : event.kind === \"CompileSkip\" ||\n event.kind === \"CompileDiagnostic\"\n ? LogLevelLabel.DEBUG\n : event.kind === \"Timing\"\n ? LogLevelLabel.TRACE\n : LogLevelLabel.ERROR,\n `(${filename}) ${\n event.kind === \"CompileSuccess\"\n ? `React Compiler Success`\n : event.kind === \"AutoDepsEligible\"\n ? `React AutoDeps Eligible - ${\n event.depArrayLoc.identifierName ||\n \"No identifier\"\n }`\n : event.kind === \"AutoDepsDecorations\"\n ? `React AutoDeps Decorations - ${event.decorations\n .filter(dec => dec.identifierName)\n .map(dec => dec.identifierName)\n .join(\", \")}`\n : event.kind === \"CompileSkip\"\n ? `React Compile Skip - ${event.reason}`\n : event.kind === \"CompileDiagnostic\"\n ? `React Compile Diagnostic - (Category: ${\n event.detail.category\n }) ${event.detail.reason}${\n event.detail.description\n ? `\\n${event.detail.description}`\n : \"\"\n }`\n : event.kind === \"Timing\"\n ? `React ${event.measurement.entryType} Timing (${event.measurement.name}) - ${event.measurement.duration}ms`\n : `React Compiler Error - ${event.fnLoc?.identifierName || \"unknown location\"}`\n }`\n );\n }\n }\n }\n } as ReactPluginOptions\n }\n );\n },\n configResolved() {\n this.dependencies.react = \"^19.2.3\";\n this.dependencies[\"react-dom\"] = \"^19.2.3\";\n\n this.devDependencies[\"@types/react\"] = \"^19.2.3\";\n this.devDependencies[\"@types/react-dom\"] = \"^19.2.3\";\n\n if (this.config.react.compiler !== false) {\n (this.config as BabelPluginResolvedConfig).babel ??=\n {} as BabelPluginResolvedConfig[\"babel\"];\n\n this.config.babel.plugins ??= [];\n this.config.babel.plugins.push([\n \"babel-plugin-react-compiler\",\n this.config.react.compiler\n ]);\n }\n\n this.tsconfig.tsconfigJson.compilerOptions ??= {};\n this.tsconfig.tsconfigJson.compilerOptions.lib ??= [];\n this.tsconfig.tsconfigJson.compilerOptions.module ??= \"esnext\";\n this.tsconfig.tsconfigJson.compilerOptions.jsxImportSource =\n this.config.react.jsxImportSource;\n\n if (this.tsconfig.options.jsxImportSource === \"react\") {\n this.tsconfig.tsconfigJson.compilerOptions.jsx ??= \"react-jsx\";\n } else {\n this.tsconfig.tsconfigJson.compilerOptions.jsx ??= \"preserve\";\n }\n\n // Client platform\n if (this.environment.consumer === \"client\") {\n if (\n !isMatchFound(\"dom\", this.tsconfig.tsconfigJson.compilerOptions.lib)\n ) {\n this.tsconfig.tsconfigJson.compilerOptions.lib.push(\"DOM\");\n }\n\n if (\n !isMatchFound(\n \"dom.iterable\",\n this.tsconfig.tsconfigJson.compilerOptions.lib\n )\n ) {\n this.tsconfig.tsconfigJson.compilerOptions.lib.push(\"DOM.Iterable\");\n }\n }\n\n if (\n !isMatchFound(\n \"esnext\",\n this.tsconfig.tsconfigJson.compilerOptions.lib\n )\n ) {\n this.tsconfig.tsconfigJson.compilerOptions.lib.push(\"ESNext\");\n }\n\n if (this.tsconfig.options.resolveJsonModule !== true) {\n this.tsconfig.tsconfigJson.compilerOptions.resolveJsonModule = true;\n }\n\n if ((this.config as VitePluginResolvedConfig).vite) {\n this.tsconfig.tsconfigJson.compilerOptions.types ??= [];\n\n if (\n !isMatchFound(\n \"vite/client\",\n this.tsconfig.tsconfigJson.compilerOptions.types\n )\n ) {\n this.tsconfig.tsconfigJson.compilerOptions.types.push(\n \"vite/client\"\n );\n }\n\n const viteBuildConfig = (this.config as VitePluginResolvedConfig)\n .vite;\n viteBuildConfig.build ??= {};\n viteBuildConfig.build.target = \"chrome95\";\n\n viteBuildConfig.plugins ??= [];\n viteBuildConfig.plugins.unshift(\n viteReactPlugin({\n babel: (this.config as BabelPluginResolvedConfig).babel,\n jsxImportSource: this.config.react.jsxImportSource,\n jsxRuntime: this.config.react.jsxRuntime,\n reactRefreshHost: this.config.react.reactRefreshHost\n })\n );\n }\n\n if (\n this.env?.types?.env &&\n !this.env.types.env.hasProperty(\"DISABLE_REACT_COMPILER\")\n ) {\n this.env.types.env.addProperty({\n name: \"DISABLE_REACT_COMPILER\",\n optional: true,\n readonly: true,\n description: \"Disables the React compiler optimizations.\",\n visibility: ReflectionVisibility.public,\n type: {\n kind: ReflectionKind.boolean\n },\n default: false\n });\n }\n },\n async prepare() {\n return render(\n this,\n <ReactOptimizedBuiltin\n override={this.config.react.compiler === false ? false : undefined}\n />\n );\n }\n }\n ] as Plugin<TContext>[];\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;;;;;;;;;AA+CA,MAAaU,UAGXC,UAA8B,EAAE,KAC7B;AACH,QAAO;EACLR,MAAMQ,QAAQR,MAAM;EACpBC,IAAIO,QAAQP,IAAI;EAChB;GACEQ,MAAM;GACNC,SAAS;AACP,WAAON,KACL,EACEO,OAAOH,SACR,EACD,EACEG,OAAO,EACLC,iBAAiB,KAAKC,SAASC,aAAaC,iBACxCH,iBACN,EACD,EACD,EACED,OAAO;KACLK,YAAY;KACZJ,iBAAiB;KACjBK,UAAU;MACRC,QAAQ;MACRC,iBAAiB;MACjBC,QAAQ;OACNC,QAAQ,GAAG,KAAKX,OAAOY,UAAS;OAChCC,qBAAqB;OACtB;MACDC,uBAAuB;MACvBC,QAAQ,EACNC,WAAWC,UAAyBC,UAAuB;AACzD,YAAKC,IACHD,MAAME,SAAS,mBACX5B,cAAc6B,UACdH,MAAME,SAAS,sBACbF,MAAME,SAAS,wBACf5B,cAAc8B,OACdJ,MAAME,SAAS,iBACbF,MAAME,SAAS,sBACf5B,cAAc+B,QACdL,MAAME,SAAS,WACb5B,cAAcgC,QACdhC,cAAciC,OACxB,IAAIR,SAAQ,IACVC,MAAME,SAAS,mBACX,2BACAF,MAAME,SAAS,qBACb,6BACEF,MAAMQ,YAAYC,kBAClB,oBAEFT,MAAME,SAAS,wBACb,gCAAgCF,MAAMU,YACnCC,QAAOC,QAAOA,IAAIH,eAAe,CACjCI,KAAID,QAAOA,IAAIH,eAAe,CAC9BK,KAAK,KAAK,KACbd,MAAME,SAAS,gBACb,wBAAwBF,MAAMe,WAC9Bf,MAAME,SAAS,sBACb,yCACEF,MAAMgB,OAAOC,SAAQ,IAClBjB,MAAMgB,OAAOD,SAChBf,MAAMgB,OAAOE,cACT,KAAKlB,MAAMgB,OAAOE,gBAClB,OAENlB,MAAME,SAAS,WACb,SAASF,MAAMmB,YAAYC,UAAS,WAAYpB,MAAMmB,YAAYtC,KAAI,MAAOmB,MAAMmB,YAAYE,SAAQ,MACvG,0BAA0BrB,MAAMsB,OAAOb,kBAAkB,uBAE1E;SAEL;MACF;KACF,EAEJ,CAAC;;GAEHc,iBAAiB;AACf,SAAKC,aAAazC,QAAQ;AAC1B,SAAKyC,aAAa,eAAe;AAEjC,SAAKC,gBAAgB,kBAAkB;AACvC,SAAKA,gBAAgB,sBAAsB;AAE3C,QAAI,KAAK3C,OAAOC,MAAMM,aAAa,OAAO;AACvC,UAAKP,OAAqCV,UACzC,EAAwC;AAE1C,UAAKU,OAAOV,MAAMsD,YAAY,EAAE;AAChC,UAAK5C,OAAOV,MAAMsD,QAAQC,KAAK,CAC7B,+BACA,KAAK7C,OAAOC,MAAMM,SACnB,CAAC;;AAGJ,SAAKJ,SAASC,aAAaC,oBAAoB,EAAE;AACjD,SAAKF,SAASC,aAAaC,gBAAgByC,QAAQ,EAAE;AACrD,SAAK3C,SAASC,aAAaC,gBAAgB0C,WAAW;AACtD,SAAK5C,SAASC,aAAaC,gBAAgBH,kBACzC,KAAKF,OAAOC,MAAMC;AAEpB,QAAI,KAAKC,SAASL,QAAQI,oBAAoB,QAC5C,MAAKC,SAASC,aAAaC,gBAAgB2C,QAAQ;QAEnD,MAAK7C,SAASC,aAAaC,gBAAgB2C,QAAQ;AAIrD,QAAI,KAAKC,YAAYC,aAAa,UAAU;AAC1C,SACE,CAACvD,aAAa,OAAO,KAAKQ,SAASC,aAAaC,gBAAgByC,IAAI,CAEpE,MAAK3C,SAASC,aAAaC,gBAAgByC,IAAID,KAAK,MAAM;AAG5D,SACE,CAAClD,aACC,gBACA,KAAKQ,SAASC,aAAaC,gBAAgByC,IAC5C,CAED,MAAK3C,SAASC,aAAaC,gBAAgByC,IAAID,KAAK,eAAe;;AAIvE,QACE,CAAClD,aACC,UACA,KAAKQ,SAASC,aAAaC,gBAAgByC,IAC5C,CAED,MAAK3C,SAASC,aAAaC,gBAAgByC,IAAID,KAAK,SAAS;AAG/D,QAAI,KAAK1C,SAASL,QAAQqD,sBAAsB,KAC9C,MAAKhD,SAASC,aAAaC,gBAAgB8C,oBAAoB;AAGjE,QAAK,KAAKnD,OAAoCoD,MAAM;AAClD,UAAKjD,SAASC,aAAaC,gBAAgBgD,UAAU,EAAE;AAEvD,SACE,CAAC1D,aACC,eACA,KAAKQ,SAASC,aAAaC,gBAAgBgD,MAC5C,CAED,MAAKlD,SAASC,aAAaC,gBAAgBgD,MAAMR,KAC/C,cACD;KAGH,MAAMS,kBAAmB,KAAKtD,OAC3BoD;AACHE,qBAAgBC,UAAU,EAAE;AAC5BD,qBAAgBC,MAAM/C,SAAS;AAE/B8C,qBAAgBV,YAAY,EAAE;AAC9BU,qBAAgBV,QAAQY,QACtB/D,gBAAgB;MACdH,OAAQ,KAAKU,OAAqCV;MAClDY,iBAAiB,KAAKF,OAAOC,MAAMC;MACnCI,YAAY,KAAKN,OAAOC,MAAMK;MAC9BmD,kBAAkB,KAAKzD,OAAOC,MAAMwD;MACrC,CACH,CAAC;;AAGH,QACE,KAAKlE,KAAK8D,OAAO9D,OACjB,CAAC,KAAKA,IAAI8D,MAAM9D,IAAImE,YAAY,yBAAyB,CAEzD,MAAKnE,IAAI8D,MAAM9D,IAAIoE,YAAY;KAC7B5D,MAAM;KACN6D,UAAU;KACVC,UAAU;KACVzB,aAAa;KACb0B,YAAY1E,qBAAqB2E;KACjCC,MAAM,EACJ5C,MAAMjC,eAAe8E,SACtB;KACDC,SAAS;KACV,CAAC;;GAGN,MAAMC,UAAU;IAAA,MAAAC,SAAA;AACd,WAAO/E,OACL,MAAIgF,gBACHzE,uBAAqB,EAAA,IACpB0E,WAAQ;AAAA,YAAEF,OAAKpE,OAAOC,MAAMM,aAAa,QAAQ,QAAQgE;OAAS,CAEtE,CAAC;;GAEJ;EACF;;AAGH,kBAAe1E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powerlines/plugin-react",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.343",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A package containing a Powerlines plugin for building a React application.",
|
|
6
6
|
"repository": {
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
"default": "./dist/index.mjs"
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
|
+
"./*": "./*",
|
|
59
60
|
"./components": {
|
|
60
61
|
"require": {
|
|
61
62
|
"types": "./dist/components/index.d.cts",
|
|
@@ -84,7 +85,6 @@
|
|
|
84
85
|
"default": "./dist/components/react-optimized.mjs"
|
|
85
86
|
}
|
|
86
87
|
},
|
|
87
|
-
"./package.json": "./package.json",
|
|
88
88
|
"./types": {
|
|
89
89
|
"require": {
|
|
90
90
|
"types": "./dist/types/index.d.cts",
|
|
@@ -141,10 +141,11 @@
|
|
|
141
141
|
"@alloy-js/markdown": "0.23.0-dev.1",
|
|
142
142
|
"@alloy-js/typescript": "0.23.0-dev.4",
|
|
143
143
|
"@babel/core": "^7.29.0",
|
|
144
|
-
"@powerlines/plugin-
|
|
145
|
-
"@powerlines/plugin-
|
|
146
|
-
"@powerlines/plugin-
|
|
147
|
-
"@
|
|
144
|
+
"@powerlines/plugin-vite": "^0.14.293",
|
|
145
|
+
"@powerlines/plugin-alloy": "^0.23.21",
|
|
146
|
+
"@powerlines/plugin-babel": "^0.12.300",
|
|
147
|
+
"@powerlines/plugin-env": "^0.16.8",
|
|
148
|
+
"@storm-software/config-tools": "^1.189.10",
|
|
148
149
|
"@stryke/cli": "^0.13.15",
|
|
149
150
|
"@stryke/convert": "^0.6.40",
|
|
150
151
|
"@stryke/fs": "^0.33.43",
|
|
@@ -152,15 +153,15 @@
|
|
|
152
153
|
"@vitejs/plugin-react": "^5.1.4",
|
|
153
154
|
"babel-plugin-react-compiler": "^1.0.0",
|
|
154
155
|
"defu": "^6.1.4",
|
|
155
|
-
"powerlines": "^0.
|
|
156
|
+
"powerlines": "^0.39.0"
|
|
156
157
|
},
|
|
157
158
|
"devDependencies": {
|
|
158
|
-
"@powerlines/plugin-plugin": "^0.12.
|
|
159
|
-
"@types/node": "^25.3.
|
|
159
|
+
"@powerlines/plugin-plugin": "^0.12.242",
|
|
160
|
+
"@types/node": "^25.3.2",
|
|
160
161
|
"@types/react": "^19.2.14",
|
|
161
162
|
"@types/react-dom": "^19.2.3"
|
|
162
163
|
},
|
|
163
164
|
"publishConfig": { "access": "public" },
|
|
164
165
|
"types": "./dist/index.d.cts",
|
|
165
|
-
"gitHead": "
|
|
166
|
+
"gitHead": "0dcb16f054b8a69915b074578e6d4dfa3ecc1529"
|
|
166
167
|
}
|