diff --git a/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/config.json b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/config.json
new file mode 100644
index 000000000..99566a251
--- /dev/null
+++ b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/config.json
@@ -0,0 +1,21 @@
+{
+ "config": {
+ "entry": [
+ {
+ "import": "input/index.tsx",
+ "name": "main",
+ "library": {
+ "name": "ClassicJsxProvider"
+ }
+ }
+ ],
+ "react": {
+ "runtime": "classic"
+ },
+ "provider": {
+ "React": ["./react.js", "providedReact"],
+ "h": ["./react.js", "providedFactory"]
+ }
+ },
+ "runtimeType": "dummy"
+}
diff --git a/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/ambient.tsx b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/ambient.tsx
new file mode 100644
index 000000000..64c8595aa
--- /dev/null
+++ b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/ambient.tsx
@@ -0,0 +1,3 @@
+declare const React: any;
+
+export const ambient = ;
diff --git a/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/automatic-runtime/jsx-runtime.js b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/automatic-runtime/jsx-runtime.js
new file mode 100644
index 000000000..b1c06b6f7
--- /dev/null
+++ b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/automatic-runtime/jsx-runtime.js
@@ -0,0 +1,5 @@
+export function jsx(type, props) {
+ return { factory: "automatic", type, children: [props.children] };
+}
+
+export { jsx as jsxs };
diff --git a/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/automatic.tsx b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/automatic.tsx
new file mode 100644
index 000000000..408707e46
--- /dev/null
+++ b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/automatic.tsx
@@ -0,0 +1,3 @@
+/** @jsxRuntime automatic */
+/** @jsxImportSource ./automatic-runtime */
+export const automatic = ;
diff --git a/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/bare.jsx b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/bare.jsx
new file mode 100644
index 000000000..93a7597de
--- /dev/null
+++ b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/bare.jsx
@@ -0,0 +1,2 @@
+export const bareJsx = ;
+export const fragmentJsx = <>jsx fragment>;
diff --git a/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/commonjs.js b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/commonjs.js
new file mode 100644
index 000000000..52d9bde26
--- /dev/null
+++ b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/commonjs.js
@@ -0,0 +1,5 @@
+if (1 < 2) {
+ module.exports = 42;
+ return;
+}
+module.exports = 0;
diff --git a/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/custom.tsx b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/custom.tsx
new file mode 100644
index 000000000..53c9231bb
--- /dev/null
+++ b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/custom.tsx
@@ -0,0 +1,8 @@
+/** @jsx factory */
+/** @jsxFrag fragment */
+const fragment = "custom-fragment";
+function factory(type, props, ...children) {
+ return { factory: "custom", type, children };
+}
+
+export const custom = <>custom pragma>;
diff --git a/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/factory.tsx b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/factory.tsx
new file mode 100644
index 000000000..1489b20ed
--- /dev/null
+++ b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/factory.tsx
@@ -0,0 +1,2 @@
+/** @jsx h */
+export const providedFactory = ;
diff --git a/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/imported.tsx b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/imported.tsx
new file mode 100644
index 000000000..b5d6ea696
--- /dev/null
+++ b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/imported.tsx
@@ -0,0 +1,3 @@
+import { importedReact as React } from "./react";
+
+export const imported = ;
diff --git a/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/index.tsx b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/index.tsx
new file mode 100644
index 000000000..5a6057e13
--- /dev/null
+++ b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/index.tsx
@@ -0,0 +1,12 @@
+export const bareTsx = ;
+export const fragmentTsx = <>tsx fragment>;
+export { bareJsx, fragmentJsx } from "./bare";
+export { imported } from "./imported";
+export { typeImport } from "./type-import";
+export { typeNamespace } from "./type-namespace";
+export { valueNamespace } from "./value-namespace";
+export { ambient } from "./ambient";
+export { custom } from "./custom";
+export { providedFactory } from "./factory";
+export { automatic } from "./automatic";
+export { default as commonJS } from "./commonjs";
diff --git a/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/react.js b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/react.js
new file mode 100644
index 000000000..dac1b6f13
--- /dev/null
+++ b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/react.js
@@ -0,0 +1,15 @@
+function createReact(factory) {
+ return {
+ Fragment: `${factory}-fragment`,
+ createElement(type, props, ...children) {
+ return { factory, type, children };
+ },
+ };
+}
+
+export const providedReact = createReact("provider");
+export const importedReact = createReact("imported");
+
+export function providedFactory(type, props, ...children) {
+ return { factory: "provided factory", type, children };
+}
diff --git a/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/type-import.tsx b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/type-import.tsx
new file mode 100644
index 000000000..16ab76b1f
--- /dev/null
+++ b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/type-import.tsx
@@ -0,0 +1,3 @@
+import type React from "./react";
+
+export const typeImport = ;
diff --git a/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/type-namespace.tsx b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/type-namespace.tsx
new file mode 100644
index 000000000..e36aac3e2
--- /dev/null
+++ b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/type-namespace.tsx
@@ -0,0 +1,5 @@
+namespace React {
+ export interface Props {}
+}
+
+export const typeNamespace = ;
diff --git a/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/value-namespace.tsx b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/value-namespace.tsx
new file mode 100644
index 000000000..e5bc03133
--- /dev/null
+++ b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/input/value-namespace.tsx
@@ -0,0 +1,7 @@
+namespace React {
+ export function createElement(type, props, ...children) {
+ return { factory: "namespace", type, children };
+ }
+}
+
+export const valueNamespace = ;
diff --git a/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/output/main.js b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/output/main.js
new file mode 100644
index 000000000..8b6a6315d
--- /dev/null
+++ b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/output/main.js
@@ -0,0 +1,264 @@
+((__UTOOPACK__) => {
+// Dummy runtime
+})([
+["main.js",
+
+"[project]/basic/jsx_classic_provider/input/ambient.tsx [library-client] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/react.js [library-client] (ecmascript)");
+const ambient = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$client$5d$__$28$ecmascript$29$__["m"].createElement("section", null, "ambient declaration");
+__turbopack_context__.s([
+ "f",
+ 0,
+ ambient
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/automatic-runtime/jsx-runtime.js [library-client] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+function jsx(type, props) {
+ return {
+ factory: "automatic",
+ type,
+ children: [
+ props.children
+ ]
+ };
+}
+;
+__turbopack_context__.s([
+ "f",
+ 0,
+ jsx
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/automatic.tsx [library-client] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+/** @jsxRuntime automatic */ /** @jsxImportSource ./automatic-runtime */ var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$automatic$2d$runtime$2f$jsx$2d$runtime$2e$js__$5b$library$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/automatic-runtime/jsx-runtime.js [library-client] (ecmascript)");
+;
+const automatic = /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$automatic$2d$runtime$2f$jsx$2d$runtime$2e$js__$5b$library$2d$client$5d$__$28$ecmascript$29$__["f"])("section", {
+ children: "automatic directive"
+});
+__turbopack_context__.s([
+ "f",
+ 0,
+ automatic
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/bare.jsx [library-client] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/react.js [library-client] (ecmascript)");
+const bareJsx = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$client$5d$__$28$ecmascript$29$__["m"].createElement("section", null, "jsx");
+const fragmentJsx = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$client$5d$__$28$ecmascript$29$__["m"].createElement(__TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$client$5d$__$28$ecmascript$29$__["m"].Fragment, null, "jsx fragment");
+__turbopack_context__.s([
+ "P",
+ 0,
+ bareJsx,
+ "U",
+ 0,
+ fragmentJsx
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/commonjs.js [library-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
+
+if (1 < 2) {
+ module.exports = 42;
+ return;
+}
+module.exports = 0;
+}),
+"[project]/basic/jsx_classic_provider/input/custom.tsx [library-client] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+/** @jsx factory */ /** @jsxFrag fragment */ const fragment = "custom-fragment";
+function factory(type, props, ...children) {
+ return {
+ factory: "custom",
+ type,
+ children
+ };
+}
+const custom = /*#__PURE__*/ factory(fragment, null, "custom pragma");
+__turbopack_context__.s([
+ "f",
+ 0,
+ custom
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/factory.tsx [library-client] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+/** @jsx h */ var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/react.js [library-client] (ecmascript)");
+const providedFactory = /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$client$5d$__$28$ecmascript$29$__["X"])("section", null, "provided factory");
+__turbopack_context__.s([
+ "f",
+ 0,
+ providedFactory
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/imported.tsx [library-client] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/react.js [library-client] (ecmascript)");
+;
+const imported = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$client$5d$__$28$ecmascript$29$__["Z"].createElement("section", null, "imported binding");
+__turbopack_context__.s([
+ "f",
+ 0,
+ imported
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/index.tsx [library-client] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.S([
+ "[project]/basic/jsx_classic_provider/input/index.tsx [library-client] (ecmascript) ",
+ "bareTsx,n,fragmentTsx,h",
+ 0,
+ "[project]/basic/jsx_classic_provider/input/bare.jsx [library-client] (ecmascript)",
+ "bareJsx,P,fragmentJsx,U",
+ 0,
+ "[project]/basic/jsx_classic_provider/input/imported.tsx [library-client] (ecmascript)",
+ "imported,f",
+ 0,
+ "[project]/basic/jsx_classic_provider/input/type-import.tsx [library-client] (ecmascript)",
+ "typeImport,f",
+ 0,
+ "[project]/basic/jsx_classic_provider/input/type-namespace.tsx [library-client] (ecmascript)",
+ "typeNamespace,f",
+ 0,
+ "[project]/basic/jsx_classic_provider/input/value-namespace.tsx [library-client] (ecmascript)",
+ "valueNamespace,f",
+ 0,
+ "[project]/basic/jsx_classic_provider/input/ambient.tsx [library-client] (ecmascript)",
+ "ambient,f",
+ 0,
+ "[project]/basic/jsx_classic_provider/input/custom.tsx [library-client] (ecmascript)",
+ "custom,f",
+ 0,
+ "[project]/basic/jsx_classic_provider/input/factory.tsx [library-client] (ecmascript)",
+ "providedFactory,f",
+ 0,
+ "[project]/basic/jsx_classic_provider/input/automatic.tsx [library-client] (ecmascript)",
+ "automatic,f",
+ 0,
+ "[project]/basic/jsx_classic_provider/input/commonjs.js [library-client] (ecmascript)",
+ "commonJS,default"
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/index.tsx [library-client] (ecmascript) ", ((__turbopack_context__) => {
+"use strict";
+
+var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/react.js [library-client] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$imported$2e$tsx__$5b$library$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/imported.tsx [library-client] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$value$2d$namespace$2e$tsx__$5b$library$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/value-namespace.tsx [library-client] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$commonjs$2e$js__$5b$library$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/commonjs.js [library-client] (ecmascript)");
+const bareTsx = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$client$5d$__$28$ecmascript$29$__["m"].createElement("section", null, "tsx");
+const fragmentTsx = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$client$5d$__$28$ecmascript$29$__["m"].createElement(__TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$client$5d$__$28$ecmascript$29$__["m"].Fragment, null, "tsx fragment");
+;
+;
+;
+;
+;
+;
+;
+;
+;
+;
+__turbopack_context__.s([
+ "n",
+ 0,
+ bareTsx,
+ "h",
+ 0,
+ fragmentTsx
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/react.js [library-client] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+function createReact(factory) {
+ return {
+ Fragment: `${factory}-fragment`,
+ createElement (type, props, ...children) {
+ return {
+ factory,
+ type,
+ children
+ };
+ }
+ };
+}
+const providedReact = createReact("provider");
+const importedReact = createReact("imported");
+function providedFactory(type, props, ...children) {
+ return {
+ factory: "provided factory",
+ type,
+ children
+ };
+}
+__turbopack_context__.s([
+ "Z",
+ 0,
+ importedReact,
+ "X",
+ 0,
+ providedFactory,
+ "m",
+ 0,
+ providedReact
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/type-import.tsx [library-client] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/react.js [library-client] (ecmascript)");
+const typeImport = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$client$5d$__$28$ecmascript$29$__["m"].createElement("section", null, "type import");
+__turbopack_context__.s([
+ "f",
+ 0,
+ typeImport
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/type-namespace.tsx [library-client] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/react.js [library-client] (ecmascript)");
+const typeNamespace = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$client$5d$__$28$ecmascript$29$__["m"].createElement("section", null, "type namespace");
+__turbopack_context__.s([
+ "f",
+ 0,
+ typeNamespace
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/value-namespace.tsx [library-client] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+(function(React) {
+ function createElement(type, props, ...children) {
+ return {
+ factory: "namespace",
+ type,
+ children
+ };
+ }
+ React.createElement = createElement;
+})(React || (React = {}));
+const valueNamespace = /*#__PURE__*/ React.createElement("section", null, "value namespace");
+var React;
+__turbopack_context__.s([
+ "f",
+ 0,
+ valueNamespace
+]);
+}),
+],
+["main.js", {"otherChunks":[],"runtimeModuleIds":["[project]/basic/jsx_classic_provider/input/index.tsx [library-client] (ecmascript)"]}],
+]);
+
+
+//# sourceMappingURL=main.js.map
\ No newline at end of file
diff --git a/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/output/main.js.map b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/output/main.js.map
new file mode 100644
index 000000000..b26846f01
--- /dev/null
+++ b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider/output/main.js.map
@@ -0,0 +1,18 @@
+{
+ "version": 3,
+ "sources": [],
+ "sections": [
+ {"offset": {"line": 8, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/ambient.tsx"],"sourcesContent":["declare const React: any;\n\nexport const ambient = ;\n"],"names":["ambient"],"mappings":";AAEO,MAAMA,wBAAU,0KAAC,iBAAQ"}},
+ {"offset": {"line": 19, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/automatic-runtime/jsx-runtime.js"],"sourcesContent":["export function jsx(type, props) {\n return { factory: \"automatic\", type, children: [props.children] };\n}\n\nexport { jsx as jsxs };\n"],"names":["jsx","type","props","factory","children"],"mappings":"AAAO,SAASA,IAAIC,IAAI,EAAEC,KAAK;IAC7B,OAAO;QAAEC,SAAS;QAAaF;QAAMG,UAAU;YAACF,MAAME,QAAQ;SAAC;IAAC;AAClE"}},
+ {"offset": {"line": 38, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/automatic.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource ./automatic-runtime */\nexport const automatic = ;\n"],"names":["automatic"],"mappings":"AAAA,0BAA0B,GAC1B,yCAAyC;;AAClC,MAAMA,0BAAY,kMAAC;cAAQ"}},
+ {"offset": {"line": 52, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/bare.jsx"],"sourcesContent":["export const bareJsx = ;\nexport const fragmentJsx = <>jsx fragment>;\n"],"names":["bareJsx","fragmentJsx"],"mappings":";AAAO,MAAMA,wBAAU,0KAAC,iBAAQ;AACzB,MAAMC,4BAAc,sVAAE"}},
+ {"offset": {"line": 66, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/commonjs.js"],"sourcesContent":["if (1 < 2) {\n module.exports = 42;\n return;\n}\nmodule.exports = 0;\n"],"names":["module","exports"],"mappings":"AAAA,IAAI,IAAI,GAAG;IACTA,OAAOC,OAAO,GAAG;IACjB;AACF;AACAD,OAAOC,OAAO,GAAG"}},
+ {"offset": {"line": 75, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/custom.tsx"],"sourcesContent":["/** @jsx factory */\n/** @jsxFrag fragment */\nconst fragment = \"custom-fragment\";\nfunction factory(type, props, ...children) {\n return { factory: \"custom\", type, children };\n}\n\nexport const custom = <>custom pragma>;\n"],"names":["factory","fragment","type","props","children","custom"],"mappings":"AAAAA,iBAAiB,GACjBC,sBAAsB,GACtB,MAAMA,WAAW;AACjB,SAASD,QAAQE,IAAI,EAAEC,KAAK,EAAE,GAAGC,QAAQ;IACvC,OAAO;QAAEJ,SAAS;QAAUE;QAAME;IAAS;AAC7C;AAEO,MAAMC,uBAAS,AAPtBL,QACAC,gBAMwB"}},
+ {"offset": {"line": 93, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/factory.tsx"],"sourcesContent":["/** @jsx h */\nexport const providedFactory = ;\n"],"names":["providedFactory"],"mappings":"AAAA,WAAW,GAAX;AACO,MAAMA,gCAAkB,IAD/B,2JAAa,EACmB,iBAAQ"}},
+ {"offset": {"line": 104, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/imported.tsx"],"sourcesContent":["import { importedReact as React } from \"./react\";\n\nexport const imported = ;\n"],"names":["imported"],"mappings":"AAAA;;AAEO,MAAMA,yBAAW,0KAAC,iBAAQ"}},
+ {"offset": {"line": 154, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/index.tsx"],"sourcesContent":["export const bareTsx = ;\nexport const fragmentTsx = <>tsx fragment>;\nexport { bareJsx, fragmentJsx } from \"./bare\";\nexport { imported } from \"./imported\";\nexport { typeImport } from \"./type-import\";\nexport { typeNamespace } from \"./type-namespace\";\nexport { valueNamespace } from \"./value-namespace\";\nexport { ambient } from \"./ambient\";\nexport { custom } from \"./custom\";\nexport { providedFactory } from \"./factory\";\nexport { automatic } from \"./automatic\";\nexport { default as commonJS } from \"./commonjs\";\n"],"names":["bareTsx","fragmentTsx"],"mappings":";AAGA;AAGA;AAKA;AAXO,MAAMA,wBAAU,0KAAC,iBAAQ;AACzB,MAAMC,4BAAc,sVAAE"}},
+ {"offset": {"line": 182, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/react.js"],"sourcesContent":["function createReact(factory) {\n return {\n Fragment: `${factory}-fragment`,\n createElement(type, props, ...children) {\n return { factory, type, children };\n },\n };\n}\n\nexport const providedReact = createReact(\"provider\");\nexport const importedReact = createReact(\"imported\");\n\nexport function providedFactory(type, props, ...children) {\n return { factory: \"provided factory\", type, children };\n}\n"],"names":["createReact","factory","Fragment","createElement","type","props","children","providedReact","importedReact","providedFactory"],"mappings":"AAAA,SAASA,YAAYC,OAAO;IAC1B,OAAO;QACLC,UAAU,GAAGD,QAAQ,SAAS,CAAC;QAC/BE,eAAcC,IAAI,EAAEC,KAAK,EAAE,GAAGC,QAAQ;YACpC,OAAO;gBAAEL;gBAASG;gBAAME;YAAS;QACnC;IACF;AACF;AAEO,MAAMC,gBAAgBP,YAAY;AAClC,MAAMQ,gBAAgBR,YAAY;AAElC,SAASS,gBAAgBL,IAAI,EAAEC,KAAK,EAAE,GAAGC,QAAQ;IACtD,OAAO;QAAEL,SAAS;QAAoBG;QAAME;IAAS;AACvD"}},
+ {"offset": {"line": 218, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/type-import.tsx"],"sourcesContent":["import type React from \"./react\";\n\nexport const typeImport = ;\n"],"names":["typeImport"],"mappings":";AAEO,MAAMA,2BAAa,0KAAC,iBAAQ"}},
+ {"offset": {"line": 229, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/type-namespace.tsx"],"sourcesContent":["namespace React {\n export interface Props {}\n}\n\nexport const typeNamespace = ;\n"],"names":["typeNamespace"],"mappings":";AAIO,MAAMA,8BAAgB,0KAAC,iBAAQ"}},
+ {"offset": {"line": 240, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/value-namespace.tsx"],"sourcesContent":["namespace React {\n export function createElement(type, props, ...children) {\n return { factory: \"namespace\", type, children };\n }\n}\n\nexport const valueNamespace = ;\n"],"names":["React","createElement","type","props","children","factory","valueNamespace"],"mappings":"UAAUA;IACD,SAASC,cAAcC,IAAI,EAAEC,KAAK,EAAE,GAAGC,QAAQ;QACpD,OAAO;YAAEC,SAAS;YAAaH;YAAME;QAAS;IAChD;UAFgBH,gBAAAA;AAGlB,GAJUD,UAAAA;AAMH,MAAMM,+BAAiB,oBAAC,iBAAQ"}}]
+}
\ No newline at end of file
diff --git a/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider_node/config.json b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider_node/config.json
new file mode 100644
index 000000000..fe1c396cb
--- /dev/null
+++ b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider_node/config.json
@@ -0,0 +1,22 @@
+{
+ "config": {
+ "entry": [
+ {
+ "import": "../jsx_classic_provider/input/index.tsx",
+ "name": "main",
+ "library": {
+ "name": "ClassicJsxProvider"
+ }
+ }
+ ],
+ "target": "node",
+ "react": {
+ "runtime": "classic"
+ },
+ "provider": {
+ "React": ["./react.js", "providedReact"],
+ "h": ["./react.js", "providedFactory"]
+ }
+ },
+ "runtimeType": "dummy"
+}
diff --git a/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider_node/output/main.js b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider_node/output/main.js
new file mode 100644
index 000000000..ab51c89f8
--- /dev/null
+++ b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider_node/output/main.js
@@ -0,0 +1,264 @@
+((__UTOOPACK__) => {
+// Dummy runtime
+})([
+["main.js",
+
+"[project]/basic/jsx_classic_provider/input/ambient.tsx [library-server] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$server$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/react.js [library-server] (ecmascript)");
+const ambient = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$server$5d$__$28$ecmascript$29$__["m"].createElement("section", null, "ambient declaration");
+__turbopack_context__.s([
+ "f",
+ 0,
+ ambient
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/automatic-runtime/jsx-runtime.js [library-server] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+function jsx(type, props) {
+ return {
+ factory: "automatic",
+ type,
+ children: [
+ props.children
+ ]
+ };
+}
+;
+__turbopack_context__.s([
+ "f",
+ 0,
+ jsx
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/automatic.tsx [library-server] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+/** @jsxRuntime automatic */ /** @jsxImportSource ./automatic-runtime */ var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$automatic$2d$runtime$2f$jsx$2d$runtime$2e$js__$5b$library$2d$server$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/automatic-runtime/jsx-runtime.js [library-server] (ecmascript)");
+;
+const automatic = /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$automatic$2d$runtime$2f$jsx$2d$runtime$2e$js__$5b$library$2d$server$5d$__$28$ecmascript$29$__["f"])("section", {
+ children: "automatic directive"
+});
+__turbopack_context__.s([
+ "f",
+ 0,
+ automatic
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/bare.jsx [library-server] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$server$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/react.js [library-server] (ecmascript)");
+const bareJsx = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$server$5d$__$28$ecmascript$29$__["m"].createElement("section", null, "jsx");
+const fragmentJsx = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$server$5d$__$28$ecmascript$29$__["m"].createElement(__TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$server$5d$__$28$ecmascript$29$__["m"].Fragment, null, "jsx fragment");
+__turbopack_context__.s([
+ "P",
+ 0,
+ bareJsx,
+ "U",
+ 0,
+ fragmentJsx
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/commonjs.js [library-server] (ecmascript)", ((__turbopack_context__, module, exports) => {
+
+if (1 < 2) {
+ module.exports = 42;
+ return;
+}
+module.exports = 0;
+}),
+"[project]/basic/jsx_classic_provider/input/custom.tsx [library-server] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+/** @jsx factory */ /** @jsxFrag fragment */ const fragment = "custom-fragment";
+function factory(type, props, ...children) {
+ return {
+ factory: "custom",
+ type,
+ children
+ };
+}
+const custom = /*#__PURE__*/ factory(fragment, null, "custom pragma");
+__turbopack_context__.s([
+ "f",
+ 0,
+ custom
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/factory.tsx [library-server] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+/** @jsx h */ var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$server$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/react.js [library-server] (ecmascript)");
+const providedFactory = /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$server$5d$__$28$ecmascript$29$__["X"])("section", null, "provided factory");
+__turbopack_context__.s([
+ "f",
+ 0,
+ providedFactory
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/imported.tsx [library-server] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$server$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/react.js [library-server] (ecmascript)");
+;
+const imported = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$server$5d$__$28$ecmascript$29$__["Z"].createElement("section", null, "imported binding");
+__turbopack_context__.s([
+ "f",
+ 0,
+ imported
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/index.tsx [library-server] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.S([
+ "[project]/basic/jsx_classic_provider/input/index.tsx [library-server] (ecmascript) ",
+ "bareTsx,n,fragmentTsx,h",
+ 0,
+ "[project]/basic/jsx_classic_provider/input/bare.jsx [library-server] (ecmascript)",
+ "bareJsx,P,fragmentJsx,U",
+ 0,
+ "[project]/basic/jsx_classic_provider/input/imported.tsx [library-server] (ecmascript)",
+ "imported,f",
+ 0,
+ "[project]/basic/jsx_classic_provider/input/type-import.tsx [library-server] (ecmascript)",
+ "typeImport,f",
+ 0,
+ "[project]/basic/jsx_classic_provider/input/type-namespace.tsx [library-server] (ecmascript)",
+ "typeNamespace,f",
+ 0,
+ "[project]/basic/jsx_classic_provider/input/value-namespace.tsx [library-server] (ecmascript)",
+ "valueNamespace,f",
+ 0,
+ "[project]/basic/jsx_classic_provider/input/ambient.tsx [library-server] (ecmascript)",
+ "ambient,f",
+ 0,
+ "[project]/basic/jsx_classic_provider/input/custom.tsx [library-server] (ecmascript)",
+ "custom,f",
+ 0,
+ "[project]/basic/jsx_classic_provider/input/factory.tsx [library-server] (ecmascript)",
+ "providedFactory,f",
+ 0,
+ "[project]/basic/jsx_classic_provider/input/automatic.tsx [library-server] (ecmascript)",
+ "automatic,f",
+ 0,
+ "[project]/basic/jsx_classic_provider/input/commonjs.js [library-server] (ecmascript)",
+ "commonJS,default"
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/index.tsx [library-server] (ecmascript) ", ((__turbopack_context__) => {
+"use strict";
+
+var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$server$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/react.js [library-server] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$imported$2e$tsx__$5b$library$2d$server$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/imported.tsx [library-server] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$value$2d$namespace$2e$tsx__$5b$library$2d$server$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/value-namespace.tsx [library-server] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$commonjs$2e$js__$5b$library$2d$server$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/commonjs.js [library-server] (ecmascript)");
+const bareTsx = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$server$5d$__$28$ecmascript$29$__["m"].createElement("section", null, "tsx");
+const fragmentTsx = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$server$5d$__$28$ecmascript$29$__["m"].createElement(__TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$server$5d$__$28$ecmascript$29$__["m"].Fragment, null, "tsx fragment");
+;
+;
+;
+;
+;
+;
+;
+;
+;
+;
+__turbopack_context__.s([
+ "n",
+ 0,
+ bareTsx,
+ "h",
+ 0,
+ fragmentTsx
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/react.js [library-server] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+function createReact(factory) {
+ return {
+ Fragment: `${factory}-fragment`,
+ createElement (type, props, ...children) {
+ return {
+ factory,
+ type,
+ children
+ };
+ }
+ };
+}
+const providedReact = createReact("provider");
+const importedReact = createReact("imported");
+function providedFactory(type, props, ...children) {
+ return {
+ factory: "provided factory",
+ type,
+ children
+ };
+}
+__turbopack_context__.s([
+ "Z",
+ 0,
+ importedReact,
+ "X",
+ 0,
+ providedFactory,
+ "m",
+ 0,
+ providedReact
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/type-import.tsx [library-server] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$server$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/react.js [library-server] (ecmascript)");
+const typeImport = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$server$5d$__$28$ecmascript$29$__["m"].createElement("section", null, "type import");
+__turbopack_context__.s([
+ "f",
+ 0,
+ typeImport
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/type-namespace.tsx [library-server] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+var __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$server$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/basic/jsx_classic_provider/input/react.js [library-server] (ecmascript)");
+const typeNamespace = /*#__PURE__*/ __TURBOPACK__imported__module__$5b$project$5d2f$basic$2f$jsx_classic_provider$2f$input$2f$react$2e$js__$5b$library$2d$server$5d$__$28$ecmascript$29$__["m"].createElement("section", null, "type namespace");
+__turbopack_context__.s([
+ "f",
+ 0,
+ typeNamespace
+]);
+}),
+"[project]/basic/jsx_classic_provider/input/value-namespace.tsx [library-server] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+(function(React) {
+ function createElement(type, props, ...children) {
+ return {
+ factory: "namespace",
+ type,
+ children
+ };
+ }
+ React.createElement = createElement;
+})(React || (React = {}));
+const valueNamespace = /*#__PURE__*/ React.createElement("section", null, "value namespace");
+var React;
+__turbopack_context__.s([
+ "f",
+ 0,
+ valueNamespace
+]);
+}),
+],
+["main.js", {"otherChunks":[],"runtimeModuleIds":["[project]/basic/jsx_classic_provider/input/index.tsx [library-server] (ecmascript)"]}],
+]);
+
+
+//# sourceMappingURL=main.js.map
\ No newline at end of file
diff --git a/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider_node/output/main.js.map b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider_node/output/main.js.map
new file mode 100644
index 000000000..b26846f01
--- /dev/null
+++ b/crates/pack-tests/tests/snapshot/basic/jsx_classic_provider_node/output/main.js.map
@@ -0,0 +1,18 @@
+{
+ "version": 3,
+ "sources": [],
+ "sections": [
+ {"offset": {"line": 8, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/ambient.tsx"],"sourcesContent":["declare const React: any;\n\nexport const ambient = ;\n"],"names":["ambient"],"mappings":";AAEO,MAAMA,wBAAU,0KAAC,iBAAQ"}},
+ {"offset": {"line": 19, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/automatic-runtime/jsx-runtime.js"],"sourcesContent":["export function jsx(type, props) {\n return { factory: \"automatic\", type, children: [props.children] };\n}\n\nexport { jsx as jsxs };\n"],"names":["jsx","type","props","factory","children"],"mappings":"AAAO,SAASA,IAAIC,IAAI,EAAEC,KAAK;IAC7B,OAAO;QAAEC,SAAS;QAAaF;QAAMG,UAAU;YAACF,MAAME,QAAQ;SAAC;IAAC;AAClE"}},
+ {"offset": {"line": 38, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/automatic.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource ./automatic-runtime */\nexport const automatic = ;\n"],"names":["automatic"],"mappings":"AAAA,0BAA0B,GAC1B,yCAAyC;;AAClC,MAAMA,0BAAY,kMAAC;cAAQ"}},
+ {"offset": {"line": 52, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/bare.jsx"],"sourcesContent":["export const bareJsx = ;\nexport const fragmentJsx = <>jsx fragment>;\n"],"names":["bareJsx","fragmentJsx"],"mappings":";AAAO,MAAMA,wBAAU,0KAAC,iBAAQ;AACzB,MAAMC,4BAAc,sVAAE"}},
+ {"offset": {"line": 66, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/commonjs.js"],"sourcesContent":["if (1 < 2) {\n module.exports = 42;\n return;\n}\nmodule.exports = 0;\n"],"names":["module","exports"],"mappings":"AAAA,IAAI,IAAI,GAAG;IACTA,OAAOC,OAAO,GAAG;IACjB;AACF;AACAD,OAAOC,OAAO,GAAG"}},
+ {"offset": {"line": 75, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/custom.tsx"],"sourcesContent":["/** @jsx factory */\n/** @jsxFrag fragment */\nconst fragment = \"custom-fragment\";\nfunction factory(type, props, ...children) {\n return { factory: \"custom\", type, children };\n}\n\nexport const custom = <>custom pragma>;\n"],"names":["factory","fragment","type","props","children","custom"],"mappings":"AAAAA,iBAAiB,GACjBC,sBAAsB,GACtB,MAAMA,WAAW;AACjB,SAASD,QAAQE,IAAI,EAAEC,KAAK,EAAE,GAAGC,QAAQ;IACvC,OAAO;QAAEJ,SAAS;QAAUE;QAAME;IAAS;AAC7C;AAEO,MAAMC,uBAAS,AAPtBL,QACAC,gBAMwB"}},
+ {"offset": {"line": 93, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/factory.tsx"],"sourcesContent":["/** @jsx h */\nexport const providedFactory = ;\n"],"names":["providedFactory"],"mappings":"AAAA,WAAW,GAAX;AACO,MAAMA,gCAAkB,IAD/B,2JAAa,EACmB,iBAAQ"}},
+ {"offset": {"line": 104, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/imported.tsx"],"sourcesContent":["import { importedReact as React } from \"./react\";\n\nexport const imported = ;\n"],"names":["imported"],"mappings":"AAAA;;AAEO,MAAMA,yBAAW,0KAAC,iBAAQ"}},
+ {"offset": {"line": 154, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/index.tsx"],"sourcesContent":["export const bareTsx = ;\nexport const fragmentTsx = <>tsx fragment>;\nexport { bareJsx, fragmentJsx } from \"./bare\";\nexport { imported } from \"./imported\";\nexport { typeImport } from \"./type-import\";\nexport { typeNamespace } from \"./type-namespace\";\nexport { valueNamespace } from \"./value-namespace\";\nexport { ambient } from \"./ambient\";\nexport { custom } from \"./custom\";\nexport { providedFactory } from \"./factory\";\nexport { automatic } from \"./automatic\";\nexport { default as commonJS } from \"./commonjs\";\n"],"names":["bareTsx","fragmentTsx"],"mappings":";AAGA;AAGA;AAKA;AAXO,MAAMA,wBAAU,0KAAC,iBAAQ;AACzB,MAAMC,4BAAc,sVAAE"}},
+ {"offset": {"line": 182, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/react.js"],"sourcesContent":["function createReact(factory) {\n return {\n Fragment: `${factory}-fragment`,\n createElement(type, props, ...children) {\n return { factory, type, children };\n },\n };\n}\n\nexport const providedReact = createReact(\"provider\");\nexport const importedReact = createReact(\"imported\");\n\nexport function providedFactory(type, props, ...children) {\n return { factory: \"provided factory\", type, children };\n}\n"],"names":["createReact","factory","Fragment","createElement","type","props","children","providedReact","importedReact","providedFactory"],"mappings":"AAAA,SAASA,YAAYC,OAAO;IAC1B,OAAO;QACLC,UAAU,GAAGD,QAAQ,SAAS,CAAC;QAC/BE,eAAcC,IAAI,EAAEC,KAAK,EAAE,GAAGC,QAAQ;YACpC,OAAO;gBAAEL;gBAASG;gBAAME;YAAS;QACnC;IACF;AACF;AAEO,MAAMC,gBAAgBP,YAAY;AAClC,MAAMQ,gBAAgBR,YAAY;AAElC,SAASS,gBAAgBL,IAAI,EAAEC,KAAK,EAAE,GAAGC,QAAQ;IACtD,OAAO;QAAEL,SAAS;QAAoBG;QAAME;IAAS;AACvD"}},
+ {"offset": {"line": 218, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/type-import.tsx"],"sourcesContent":["import type React from \"./react\";\n\nexport const typeImport = ;\n"],"names":["typeImport"],"mappings":";AAEO,MAAMA,2BAAa,0KAAC,iBAAQ"}},
+ {"offset": {"line": 229, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/type-namespace.tsx"],"sourcesContent":["namespace React {\n export interface Props {}\n}\n\nexport const typeNamespace = ;\n"],"names":["typeNamespace"],"mappings":";AAIO,MAAMA,8BAAgB,0KAAC,iBAAQ"}},
+ {"offset": {"line": 240, "column": 0}, "map": {"version":3,"sources":["./../basic/jsx_classic_provider/input/value-namespace.tsx"],"sourcesContent":["namespace React {\n export function createElement(type, props, ...children) {\n return { factory: \"namespace\", type, children };\n }\n}\n\nexport const valueNamespace = ;\n"],"names":["React","createElement","type","props","children","factory","valueNamespace"],"mappings":"UAAUA;IACD,SAASC,cAAcC,IAAI,EAAEC,KAAK,EAAE,GAAGC,QAAQ;QACpD,OAAO;YAAEC,SAAS;YAAaH;YAAME;QAAS;IAChD;UAFgBH,gBAAAA;AAGlB,GAJUD,UAAAA;AAMH,MAAMM,+BAAiB,oBAAC,iBAAQ"}}]
+}
\ No newline at end of file
diff --git a/next.js b/next.js
index 815238d6a..7a29af12d 160000
--- a/next.js
+++ b/next.js
@@ -1 +1 @@
-Subproject commit 815238d6a4a18958c43a6875a86026d20a424dac
+Subproject commit 7a29af12d6e89139fc088b5e31d69d00fb0b108b