diff --git a/.changeset/config.json b/.changeset/config.json
index 5603f988b..b914a3fb5 100644
--- a/.changeset/config.json
+++ b/.changeset/config.json
@@ -4,7 +4,7 @@
"commit": false,
"linked": [],
"access": "public",
- "baseBranch": "main",
+ "baseBranch": "next",
"updateInternalDependencies": "patch",
"ignore": []
}
diff --git a/.changeset/little-spoons-search.md b/.changeset/little-spoons-search.md
new file mode 100644
index 000000000..e912dcebb
--- /dev/null
+++ b/.changeset/little-spoons-search.md
@@ -0,0 +1,12 @@
+---
+"@astrojs/compiler": major
+---
+
+Removes the first argument of `$$result.createAstro()`
+
+`$$result.createAstro()` does not accept an `AstroGlobalPartial` as the first argument anymore:
+
+```diff
+-const Astro = $$result.createAstro($$Astro, $$props, $$slots);
++const Astro = $$result.createAstro($$props, $$slots);
+```
diff --git a/.changeset/neat-camels-raise.md b/.changeset/neat-camels-raise.md
new file mode 100644
index 000000000..982b775a0
--- /dev/null
+++ b/.changeset/neat-camels-raise.md
@@ -0,0 +1,5 @@
+---
+"@astrojs/compiler": major
+---
+
+Removes `renderScript` from `TransformOptions`. It is now the default and only behavior
diff --git a/.changeset/silver-deers-buy.md b/.changeset/silver-deers-buy.md
new file mode 100644
index 000000000..39f5d506a
--- /dev/null
+++ b/.changeset/silver-deers-buy.md
@@ -0,0 +1,5 @@
+---
+"@astrojs/compiler": major
+---
+
+Removes `experimentalScriptOrder` from `TransformOptions`. It is now the default and only behavior
diff --git a/cmd/astro-wasm/astro-wasm.go b/cmd/astro-wasm/astro-wasm.go
index 9a505b2be..77ff82555 100644
--- a/cmd/astro-wasm/astro-wasm.go
+++ b/cmd/astro-wasm/astro-wasm.go
@@ -135,16 +135,6 @@ func makeTransformOptions(options js.Value) transform.TransformOptions {
scopedStyleStrategy = "where"
}
- renderScript := false
- if jsBool(options.Get("renderScript")) {
- renderScript = true
- }
-
- experimentalScriptOrder := false
- if jsBool(options.Get("experimentalScriptOrder")) {
- experimentalScriptOrder = true
- }
-
return transform.TransformOptions{
Filename: filename,
NormalizedFilename: normalizedFilename,
@@ -158,8 +148,6 @@ func makeTransformOptions(options js.Value) transform.TransformOptions {
ScopedStyleStrategy: scopedStyleStrategy,
TransitionsAnimationURL: transitionsAnimationURL,
AnnotateSourceFile: annotateSourceFile,
- RenderScript: renderScript,
- ExperimentalScriptOrder: experimentalScriptOrder,
}
}
diff --git a/internal/printer/__printer_js__/Empty_script.snap b/internal/printer/__printer_js__/Empty_script.snap
index 14e2b9d99..3a191abb8 100755
--- a/internal/printer/__printer_js__/Empty_script.snap
+++ b/internal/printer/__printer_js__/Empty_script.snap
@@ -34,7 +34,7 @@ export const $$metadata = $$createMetadata(import.meta.url, { modules: [], hydra
const $$Component = $$createComponent(($$result, $$props, $$slots) => {
-return $$render``;
+return $$render`${$$renderScript($$result,"?astro&type=script&index=0&lang.ts")}`;
}, undefined, undefined);
export default $$Component;
```
diff --git a/internal/printer/__printer_js__/React_framework_example.snap b/internal/printer/__printer_js__/React_framework_example.snap
index d7dceb9f0..e0d5fc1f0 100755
--- a/internal/printer/__printer_js__/React_framework_example.snap
+++ b/internal/printer/__printer_js__/React_framework_example.snap
@@ -83,7 +83,7 @@ export const $$metadata = $$createMetadata(import.meta.url, { modules: [{ module
const $$Astro = $$createAstro('https://astro.build');
const Astro = $$Astro;
const $$Component = $$createComponent(($$result, $$props, $$slots) => {
-const Astro = $$result.createAstro($$Astro, $$props, $$slots);
+const Astro = $$result.createAstro($$props, $$slots);
Astro.self = $$Component;
// Component Imports
diff --git a/internal/printer/__printer_js__/Use_of_interfaces_within_frontmatter.snap b/internal/printer/__printer_js__/Use_of_interfaces_within_frontmatter.snap
index 7e1ddec92..b81fe0cda 100755
--- a/internal/printer/__printer_js__/Use_of_interfaces_within_frontmatter.snap
+++ b/internal/printer/__printer_js__/Use_of_interfaces_within_frontmatter.snap
@@ -43,7 +43,7 @@ export const $$metadata = $$createMetadata(import.meta.url, { modules: [], hydra
const $$Astro = $$createAstro('https://astro.build');
const Astro = $$Astro;
const $$Component = $$createComponent(($$result, $$props, $$slots) => {
-const Astro = $$result.createAstro($$Astro, $$props, $$slots);
+const Astro = $$result.createAstro($$props, $$slots);
Astro.self = $$Component;
interface MarkdownFrontmatter {
diff --git a/internal/printer/__printer_js__/class_list_with_spread.snap b/internal/printer/__printer_js__/class_list_with_spread.snap
index 2243489b9..6ca931d69 100755
--- a/internal/printer/__printer_js__/class_list_with_spread.snap
+++ b/internal/printer/__printer_js__/class_list_with_spread.snap
@@ -35,7 +35,7 @@ export const $$metadata = $$createMetadata(import.meta.url, { modules: [], hydra
const $$Astro = $$createAstro('https://astro.build');
const Astro = $$Astro;
const $$Component = $$createComponent(($$result, $$props, $$slots) => {
-const Astro = $$result.createAstro($$Astro, $$props, $$slots);
+const Astro = $$result.createAstro($$props, $$slots);
Astro.self = $$Component;
return $$render`${$$maybeRenderHead($$result)}
`;
diff --git a/internal/printer/__printer_js__/class_with_spread.snap b/internal/printer/__printer_js__/class_with_spread.snap
index b0aa07b43..d4e1bd647 100755
--- a/internal/printer/__printer_js__/class_with_spread.snap
+++ b/internal/printer/__printer_js__/class_with_spread.snap
@@ -35,7 +35,7 @@ export const $$metadata = $$createMetadata(import.meta.url, { modules: [], hydra
const $$Astro = $$createAstro('https://astro.build');
const Astro = $$Astro;
const $$Component = $$createComponent(($$result, $$props, $$slots) => {
-const Astro = $$result.createAstro($$Astro, $$props, $$slots);
+const Astro = $$result.createAstro($$props, $$slots);
Astro.self = $$Component;
return $$render`${$$maybeRenderHead($$result)}`;
diff --git a/internal/printer/__printer_js__/complex_recursive_component.snap b/internal/printer/__printer_js__/complex_recursive_component.snap
index b18163aa5..34535d107 100755
--- a/internal/printer/__printer_js__/complex_recursive_component.snap
+++ b/internal/printer/__printer_js__/complex_recursive_component.snap
@@ -35,7 +35,7 @@ export const $$metadata = $$createMetadata("/projects/app/src/components/RenderN
const $$Astro = $$createAstro('https://astro.build');
const Astro = $$Astro;
const $$RenderNode = $$createComponent(($$result, $$props, $$slots) => {
-const Astro = $$result.createAstro($$Astro, $$props, $$slots);
+const Astro = $$result.createAstro($$props, $$slots);
Astro.self = $$RenderNode;
return $$render`${($$render`${$$renderComponent($$result,'Fragment',Fragment,{},{"default": () => $$render`${$$renderComponent($$result,'Fragment',Fragment,{},{"default": () => $$render`${$$unescapeHTML(`<${Node.tag} ${stringifyAttributes(Node.attributes)}>`)}`,})}${Node.children.map((child) => ($$render`${$$renderComponent($$result,'Astro.self',Astro.self,{"node":(child)})}`))}${$$renderComponent($$result,'Fragment',Fragment,{},{"default": () => $$render`${$$unescapeHTML(`${Node.tag}>`)}`,})}`,})}`)}`;
diff --git a/internal/printer/__printer_js__/complex_table.snap b/internal/printer/__printer_js__/complex_table.snap
index 2ccfb7a3d..aaf6958b1 100755
--- a/internal/printer/__printer_js__/complex_table.snap
+++ b/internal/printer/__printer_js__/complex_table.snap
@@ -78,7 +78,7 @@ export const $$metadata = $$createMetadata(import.meta.url, { modules: [], hydra
const $$Astro = $$createAstro('https://astro.build');
const Astro = $$Astro;
const $$Component = $$createComponent(($$result, $$props, $$slots) => {
-const Astro = $$result.createAstro($$Astro, $$props, $$slots);
+const Astro = $$result.createAstro($$props, $$slots);
Astro.self = $$Component;
return $$render`
diff --git a/internal/printer/__printer_js__/component_with_only_a_script.snap b/internal/printer/__printer_js__/component_with_only_a_script.snap
index 9209c351e..6f3e8c3e2 100755
--- a/internal/printer/__printer_js__/component_with_only_a_script.snap
+++ b/internal/printer/__printer_js__/component_with_only_a_script.snap
@@ -34,7 +34,7 @@ export const $$metadata = $$createMetadata(import.meta.url, { modules: [], hydra
const $$Component = $$createComponent(($$result, $$props, $$slots) => {
-return $$render``;
+return $$render`${$$renderScript($$result,"?astro&type=script&index=0&lang.ts")}`;
}, undefined, undefined);
export default $$Component;
```
diff --git a/internal/printer/__printer_js__/define_vars_on_script_with_StaticExpression_turned_on.snap b/internal/printer/__printer_js__/define_vars_on_script_with_StaticExpression_turned_on.snap
index 88fc47e28..a5889f920 100755
--- a/internal/printer/__printer_js__/define_vars_on_script_with_StaticExpression_turned_on.snap
+++ b/internal/printer/__printer_js__/define_vars_on_script_with_StaticExpression_turned_on.snap
@@ -34,7 +34,7 @@ export const $$metadata = $$createMetadata(import.meta.url, { modules: [], hydra
const $$Component = $$createComponent(($$result, $$props, $$slots) => {
-return $$render``;
+return $$render`${$$renderScript($$result,"?astro&type=script&index=0&lang.ts")}`;
}, undefined, undefined);
export default $$Component;
```
diff --git a/internal/printer/__printer_js__/dynamic_import.snap b/internal/printer/__printer_js__/dynamic_import.snap
index 660742d98..1bce3c3db 100755
--- a/internal/printer/__printer_js__/dynamic_import.snap
+++ b/internal/printer/__printer_js__/dynamic_import.snap
@@ -39,7 +39,7 @@ export const $$metadata = $$createMetadata(import.meta.url, { modules: [], hydra
const $$Astro = $$createAstro('https://astro.build');
const Astro = $$Astro;
const $$Component = $$createComponent(async ($$result, $$props, $$slots) => {
-const Astro = $$result.createAstro($$Astro, $$props, $$slots);
+const Astro = $$result.createAstro($$props, $$slots);
Astro.self = $$Component;
const markdownDocs = await Astro.glob('../markdown/*.md')
diff --git a/internal/printer/__printer_js__/expression_returning_multiple_elements.snap b/internal/printer/__printer_js__/expression_returning_multiple_elements.snap
index 536a09632..aecca2141 100755
--- a/internal/printer/__printer_js__/expression_returning_multiple_elements.snap
+++ b/internal/printer/__printer_js__/expression_returning_multiple_elements.snap
@@ -57,7 +57,7 @@ export const $$metadata = $$createMetadata(import.meta.url, { modules: [], hydra
const $$Astro = $$createAstro('https://astro.build');
const Astro = $$Astro;
const $$Component = $$createComponent(($$result, $$props, $$slots) => {
-const Astro = $$result.createAstro($$Astro, $$props, $$slots);
+const Astro = $$result.createAstro($$props, $$slots);
Astro.self = $$Component;
return $$render`${$$renderComponent($$result,'Layout',Layout,{"title":"Welcome to Astro."},{"default": () => $$render`
diff --git a/internal/printer/__printer_js__/function_expression_slots_II___959_.snap b/internal/printer/__printer_js__/function_expression_slots_II___959_.snap
index 54d22d1c2..bbb96ef9d 100755
--- a/internal/printer/__printer_js__/function_expression_slots_II___959_.snap
+++ b/internal/printer/__printer_js__/function_expression_slots_II___959_.snap
@@ -48,7 +48,7 @@ export const $$metadata = $$createMetadata(import.meta.url, { modules: [], hydra
const $$Astro = $$createAstro('https://astro.build');
const Astro = $$Astro;
const $$Component = $$createComponent(($$result, $$props, $$slots) => {
-const Astro = $$result.createAstro($$Astro, $$props, $$slots);
+const Astro = $$result.createAstro($$props, $$slots);
Astro.self = $$Component;
return $$render`${$$renderComponent($$result,'Layout',Layout,{"title":"Welcome to Astro."},{"default": () => $$render`
diff --git a/internal/printer/__printer_js__/import.meta.env.snap b/internal/printer/__printer_js__/import.meta.env.snap
index a2bdb6686..f0603bba5 100755
--- a/internal/printer/__printer_js__/import.meta.env.snap
+++ b/internal/printer/__printer_js__/import.meta.env.snap
@@ -100,7 +100,7 @@ export async function getStaticPaths() {
});
}
const $$Component = $$createComponent(async ($$result, $$props, $$slots) => {
-const Astro = $$result.createAstro($$Astro, $$props, $$slots);
+const Astro = $$result.createAstro($$props, $$slots);
Astro.self = $$Component;
const { product } = Astro.props;
diff --git a/internal/printer/__printer_js__/maybeRenderHead_not_printed_for_hoisted_scripts.snap b/internal/printer/__printer_js__/maybeRenderHead_not_printed_for_hoisted_scripts.snap
index a640a1749..96dc905f3 100755
--- a/internal/printer/__printer_js__/maybeRenderHead_not_printed_for_hoisted_scripts.snap
+++ b/internal/printer/__printer_js__/maybeRenderHead_not_printed_for_hoisted_scripts.snap
@@ -34,7 +34,7 @@ export const $$metadata = $$createMetadata("/projects/app/src/pages/page.astro",
const $$Page = $$createComponent(($$result, $$props, $$slots) => {
-return $$render`${$$renderComponent($$result,'Layout',Layout,{})}`;
+return $$render`${$$renderScript($$result,"/projects/app/src/pages/page.astro?astro&type=script&index=0&lang.ts")}${$$renderComponent($$result,'Layout',Layout,{})}`;
}, '/projects/app/src/pages/page.astro', undefined);
export default $$Page;
```
diff --git a/internal/printer/__printer_js__/multibyte_character___script.snap b/internal/printer/__printer_js__/multibyte_character___script.snap
index a74ff64f2..1e7dc2561 100755
--- a/internal/printer/__printer_js__/multibyte_character___script.snap
+++ b/internal/printer/__printer_js__/multibyte_character___script.snap
@@ -34,7 +34,7 @@ export const $$metadata = $$createMetadata(import.meta.url, { modules: [], hydra
const $$Component = $$createComponent(($$result, $$props, $$slots) => {
-return $$render`${$$maybeRenderHead($$result)}ツ`;
+return $$render`${$$renderScript($$result,"?astro&type=script&index=0&lang.ts")}${$$maybeRenderHead($$result)}ツ`;
}, undefined, undefined);
export default $$Component;
```
diff --git a/internal/printer/__printer_js__/nested_expressions.snap b/internal/printer/__printer_js__/nested_expressions.snap
index 209aef555..ed8d05d0b 100755
--- a/internal/printer/__printer_js__/nested_expressions.snap
+++ b/internal/printer/__printer_js__/nested_expressions.snap
@@ -35,7 +35,7 @@ export const $$metadata = $$createMetadata(import.meta.url, { modules: [], hydra
const $$Astro = $$createAstro('https://astro.build');
const Astro = $$Astro;
const $$Component = $$createComponent(($$result, $$props, $$slots) => {
-const Astro = $$result.createAstro($$Astro, $$props, $$slots);
+const Astro = $$result.createAstro($$props, $$slots);
Astro.self = $$Component;
return $$render`${$$maybeRenderHead($$result)}${(previous || next) && $$render``}`;
diff --git a/internal/printer/__printer_js__/nested_expressions_II.snap b/internal/printer/__printer_js__/nested_expressions_II.snap
index e59e39aa1..a45c5a714 100755
--- a/internal/printer/__printer_js__/nested_expressions_II.snap
+++ b/internal/printer/__printer_js__/nested_expressions_II.snap
@@ -35,7 +35,7 @@ export const $$metadata = $$createMetadata(import.meta.url, { modules: [], hydra
const $$Astro = $$createAstro('https://astro.build');
const Astro = $$Astro;
const $$Component = $$createComponent(($$result, $$props, $$slots) => {
-const Astro = $$result.createAstro($$Astro, $$props, $$slots);
+const Astro = $$result.createAstro($$props, $$slots);
Astro.self = $$Component;
return $$render`${$$maybeRenderHead($$result)}${(previous || next) && $$render``}`;
diff --git a/internal/printer/__printer_js__/script__renderScript__true_.snap b/internal/printer/__printer_js__/script.snap
similarity index 96%
rename from internal/printer/__printer_js__/script__renderScript__true_.snap
rename to internal/printer/__printer_js__/script.snap
index e9fee4c87..d8c5ae58b 100755
--- a/internal/printer/__printer_js__/script__renderScript__true_.snap
+++ b/internal/printer/__printer_js__/script.snap
@@ -1,5 +1,5 @@
-[TestPrinter/script_(renderScript:_true) - 1]
+[TestPrinter/script - 1]
## Input
```
diff --git a/internal/printer/__printer_js__/script_before_elements.snap b/internal/printer/__printer_js__/script_before_elements.snap
index f1fbc30a3..8c6251b64 100755
--- a/internal/printer/__printer_js__/script_before_elements.snap
+++ b/internal/printer/__printer_js__/script_before_elements.snap
@@ -34,7 +34,7 @@ export const $$metadata = $$createMetadata(import.meta.url, { modules: [], hydra
const $$Component = $$createComponent(($$result, $$props, $$slots) => {
-return $$render`${$$maybeRenderHead($$result)}`;
+return $$render`${$$renderScript($$result,"?astro&type=script&index=0&lang.ts")}${$$maybeRenderHead($$result)}`;
}, undefined, undefined);
export default $$Component;
```
diff --git a/internal/printer/__printer_js__/script_external__renderScript__true_.snap b/internal/printer/__printer_js__/script_external.snap
similarity index 95%
rename from internal/printer/__printer_js__/script_external__renderScript__true_.snap
rename to internal/printer/__printer_js__/script_external.snap
index 88be65653..f91ad29c6 100755
--- a/internal/printer/__printer_js__/script_external__renderScript__true_.snap
+++ b/internal/printer/__printer_js__/script_external.snap
@@ -1,5 +1,5 @@
-[TestPrinter/script_external_(renderScript:_true) - 1]
+[TestPrinter/script_external - 1]
## Input
```
diff --git a/internal/printer/__printer_js__/script_external_in_expression__renderScript__true_.snap b/internal/printer/__printer_js__/script_external_in_expression.snap
similarity index 94%
rename from internal/printer/__printer_js__/script_external_in_expression__renderScript__true_.snap
rename to internal/printer/__printer_js__/script_external_in_expression.snap
index 179e57092..dbae81039 100755
--- a/internal/printer/__printer_js__/script_external_in_expression__renderScript__true_.snap
+++ b/internal/printer/__printer_js__/script_external_in_expression.snap
@@ -1,5 +1,5 @@
-[TestPrinter/script_external_in_expression_(renderScript:_true) - 1]
+[TestPrinter/script_external_in_expression - 1]
## Input
```
diff --git a/internal/printer/__printer_js__/script_external_in_expression__renderScript__false_.snap b/internal/printer/__printer_js__/script_external_in_expression__renderScript__false_.snap
deleted file mode 100755
index 685add517..000000000
--- a/internal/printer/__printer_js__/script_external_in_expression__renderScript__false_.snap
+++ /dev/null
@@ -1,41 +0,0 @@
-
-[TestPrinter/script_external_in_expression_(renderScript:_false) - 1]
-## Input
-
-```
-{}
-```
-
-## Output
-
-```js
-import {
- Fragment,
- render as $$render,
- createAstro as $$createAstro,
- createComponent as $$createComponent,
- renderComponent as $$renderComponent,
- renderHead as $$renderHead,
- maybeRenderHead as $$maybeRenderHead,
- unescapeHTML as $$unescapeHTML,
- renderSlot as $$renderSlot,
- mergeSlots as $$mergeSlots,
- addAttribute as $$addAttribute,
- spreadAttributes as $$spreadAttributes,
- defineStyleVars as $$defineStyleVars,
- defineScriptVars as $$defineScriptVars,
- renderTransition as $$renderTransition,
- createTransitionScope as $$createTransitionScope,
- renderScript as $$renderScript,
- createMetadata as $$createMetadata
-} from "http://localhost:3000/";
-
-export const $$metadata = $$createMetadata("/src/pages/index.astro", { modules: [], hydratedComponents: [], clientOnlyComponents: [], hydrationDirectives: new Set([]), hoisted: [] });
-
-const $$Index = $$createComponent(($$result, $$props, $$slots) => {
-
-return $$render`${$$maybeRenderHead($$result)}${$$render``}`;
-}, '/src/pages/index.astro', undefined);
-export default $$Index;
-```
----
diff --git a/internal/printer/__printer_js__/script_hoist_with_frontmatter.snap b/internal/printer/__printer_js__/script_hoist_with_frontmatter.snap
index 6cbde7c78..0866b5be9 100755
--- a/internal/printer/__printer_js__/script_hoist_with_frontmatter.snap
+++ b/internal/printer/__printer_js__/script_hoist_with_frontmatter.snap
@@ -36,7 +36,7 @@ export const $$metadata = $$createMetadata(import.meta.url, { modules: [], hydra
const $$Component = $$createComponent(($$result, $$props, $$slots) => {
-return $$render``;
+return $$render`${$$renderScript($$result,"?astro&type=script&index=0&lang.ts")}`;
}, undefined, undefined);
export default $$Component;
```
diff --git a/internal/printer/__printer_js__/script_hoist_without_frontmatter.snap b/internal/printer/__printer_js__/script_hoist_without_frontmatter.snap
index 7abf3adc4..4e25fa4eb 100755
--- a/internal/printer/__printer_js__/script_hoist_without_frontmatter.snap
+++ b/internal/printer/__printer_js__/script_hoist_without_frontmatter.snap
@@ -36,7 +36,7 @@ export const $$metadata = $$createMetadata(import.meta.url, { modules: [], hydra
const $$Component = $$createComponent(($$result, $$props, $$slots) => {
return $$render`${$$maybeRenderHead($$result)}
-
+ ${$$renderScript($$result,"?astro&type=script&index=0&lang.ts")}
`;
}, undefined, undefined);
export default $$Component;
diff --git a/internal/printer/__printer_js__/script_in_expression__renderScript__true_.snap b/internal/printer/__printer_js__/script_in_expression.snap
similarity index 95%
rename from internal/printer/__printer_js__/script_in_expression__renderScript__true_.snap
rename to internal/printer/__printer_js__/script_in_expression.snap
index 6a96b9642..2483db758 100755
--- a/internal/printer/__printer_js__/script_in_expression__renderScript__true_.snap
+++ b/internal/printer/__printer_js__/script_in_expression.snap
@@ -1,5 +1,5 @@
-[TestPrinter/script_in_expression_(renderScript:_true) - 1]
+[TestPrinter/script_in_expression - 1]
## Input
```
diff --git a/internal/printer/__printer_js__/script_in_expression__renderScript__false_.snap b/internal/printer/__printer_js__/script_in_expression__renderScript__false_.snap
deleted file mode 100755
index 79ac613b5..000000000
--- a/internal/printer/__printer_js__/script_in_expression__renderScript__false_.snap
+++ /dev/null
@@ -1,41 +0,0 @@
-
-[TestPrinter/script_in_expression_(renderScript:_false) - 1]
-## Input
-
-```
-{false && }
-```
-
-## Output
-
-```js
-import {
- Fragment,
- render as $$render,
- createAstro as $$createAstro,
- createComponent as $$createComponent,
- renderComponent as $$renderComponent,
- renderHead as $$renderHead,
- maybeRenderHead as $$maybeRenderHead,
- unescapeHTML as $$unescapeHTML,
- renderSlot as $$renderSlot,
- mergeSlots as $$mergeSlots,
- addAttribute as $$addAttribute,
- spreadAttributes as $$spreadAttributes,
- defineStyleVars as $$defineStyleVars,
- defineScriptVars as $$defineScriptVars,
- renderTransition as $$renderTransition,
- createTransitionScope as $$createTransitionScope,
- renderScript as $$renderScript,
- createMetadata as $$createMetadata
-} from "http://localhost:3000/";
-
-export const $$metadata = $$createMetadata("/src/pages/index.astro", { modules: [], hydratedComponents: [], clientOnlyComponents: [], hydrationDirectives: new Set([]), hoisted: [] });
-
-const $$Index = $$createComponent(($$result, $$props, $$slots) => {
-
-return $$render`${$$maybeRenderHead($$result)}${false && $$render``}`;
-}, '/src/pages/index.astro', undefined);
-export default $$Index;
-```
----
diff --git a/internal/printer/__printer_js__/script_inline__renderScript__true_.snap b/internal/printer/__printer_js__/script_inline__renderScript__true_.snap
deleted file mode 100755
index b32089fc8..000000000
--- a/internal/printer/__printer_js__/script_inline__renderScript__true_.snap
+++ /dev/null
@@ -1,41 +0,0 @@
-
-[TestPrinter/script_inline_(renderScript:_true) - 1]
-## Input
-
-```
-
-```
-
-## Output
-
-```js
-import {
- Fragment,
- render as $$render,
- createAstro as $$createAstro,
- createComponent as $$createComponent,
- renderComponent as $$renderComponent,
- renderHead as $$renderHead,
- maybeRenderHead as $$maybeRenderHead,
- unescapeHTML as $$unescapeHTML,
- renderSlot as $$renderSlot,
- mergeSlots as $$mergeSlots,
- addAttribute as $$addAttribute,
- spreadAttributes as $$spreadAttributes,
- defineStyleVars as $$defineStyleVars,
- defineScriptVars as $$defineScriptVars,
- renderTransition as $$renderTransition,
- createTransitionScope as $$createTransitionScope,
- renderScript as $$renderScript,
- createMetadata as $$createMetadata
-} from "http://localhost:3000/";
-
-export const $$metadata = $$createMetadata(import.meta.url, { modules: [], hydratedComponents: [], clientOnlyComponents: [], hydrationDirectives: new Set([]), hoisted: [] });
-
-const $$Component = $$createComponent(($$result, $$props, $$slots) => {
-
-return $$render`${$$maybeRenderHead($$result)}`;
-}, undefined, undefined);
-export default $$Component;
-```
----
diff --git a/internal/printer/__printer_js__/script_mixed_handled_and_inline__renderScript__true_.snap b/internal/printer/__printer_js__/script_mixed_handled_and_inline.snap
similarity index 95%
rename from internal/printer/__printer_js__/script_mixed_handled_and_inline__renderScript__true_.snap
rename to internal/printer/__printer_js__/script_mixed_handled_and_inline.snap
index 87d237a04..3bd54dd61 100755
--- a/internal/printer/__printer_js__/script_mixed_handled_and_inline__renderScript__true_.snap
+++ b/internal/printer/__printer_js__/script_mixed_handled_and_inline.snap
@@ -1,5 +1,5 @@
-[TestPrinter/script_mixed_handled_and_inline_(renderScript:_true) - 1]
+[TestPrinter/script_mixed_handled_and_inline - 1]
## Input
```
diff --git a/internal/printer/__printer_js__/script_multiple__renderScript__true_.snap b/internal/printer/__printer_js__/script_multiple.snap
similarity index 96%
rename from internal/printer/__printer_js__/script_multiple__renderScript__true_.snap
rename to internal/printer/__printer_js__/script_multiple.snap
index 8526ea485..223ab7d29 100755
--- a/internal/printer/__printer_js__/script_multiple__renderScript__true_.snap
+++ b/internal/printer/__printer_js__/script_multiple.snap
@@ -1,5 +1,5 @@
-[TestPrinter/script_multiple_(renderScript:_true) - 1]
+[TestPrinter/script_multiple - 1]
## Input
```
diff --git a/internal/printer/__printer_js__/selectedcontent_element_in_customizable_select.snap b/internal/printer/__printer_js__/selectedcontent_element_in_customizable_select.snap
index cf64eb0ed..9890275f3 100755
--- a/internal/printer/__printer_js__/selectedcontent_element_in_customizable_select.snap
+++ b/internal/printer/__printer_js__/selectedcontent_element_in_customizable_select.snap
@@ -1,3 +1,4 @@
+
[TestPrinter/selectedcontent_element_in_customizable_select - 1]
## Input
diff --git a/internal/printer/__printer_js__/selectedcontent_self-closing_element.snap b/internal/printer/__printer_js__/selectedcontent_self-closing_element.snap
index 767835155..23deb4fe3 100755
--- a/internal/printer/__printer_js__/selectedcontent_self-closing_element.snap
+++ b/internal/printer/__printer_js__/selectedcontent_self-closing_element.snap
@@ -1,3 +1,4 @@
+
[TestPrinter/selectedcontent_self-closing_element - 1]
## Input
diff --git a/internal/printer/__printer_js__/spread_with_style_but_no_explicit_class.snap b/internal/printer/__printer_js__/spread_with_style_but_no_explicit_class.snap
index b5ddae568..7bf79a244 100755
--- a/internal/printer/__printer_js__/spread_with_style_but_no_explicit_class.snap
+++ b/internal/printer/__printer_js__/spread_with_style_but_no_explicit_class.snap
@@ -35,7 +35,7 @@ export const $$metadata = $$createMetadata(import.meta.url, { modules: [], hydra
const $$Astro = $$createAstro('https://astro.build');
const Astro = $$Astro;
const $$Component = $$createComponent(($$result, $$props, $$slots) => {
-const Astro = $$result.createAstro($$Astro, $$props, $$slots);
+const Astro = $$result.createAstro($$props, $$slots);
Astro.self = $$Component;
return $$render`${$$maybeRenderHead($$result)}`;
diff --git a/internal/printer/__printer_js__/spread_without_style_or_class.snap b/internal/printer/__printer_js__/spread_without_style_or_class.snap
index 3a490af24..1edee9cc2 100755
--- a/internal/printer/__printer_js__/spread_without_style_or_class.snap
+++ b/internal/printer/__printer_js__/spread_without_style_or_class.snap
@@ -35,7 +35,7 @@ export const $$metadata = $$createMetadata(import.meta.url, { modules: [], hydra
const $$Astro = $$createAstro('https://astro.build');
const Astro = $$Astro;
const $$Component = $$createComponent(($$result, $$props, $$slots) => {
-const Astro = $$result.createAstro($$Astro, $$props, $$slots);
+const Astro = $$result.createAstro($$props, $$slots);
Astro.self = $$Component;
return $$render`${$$maybeRenderHead($$result)}`;
diff --git a/internal/printer/__printer_js__/table_with_expression_in__th_.snap b/internal/printer/__printer_js__/table_with_expression_in__th_.snap
index 6459a0d10..2c70790c0 100755
--- a/internal/printer/__printer_js__/table_with_expression_in__th_.snap
+++ b/internal/printer/__printer_js__/table_with_expression_in__th_.snap
@@ -80,7 +80,7 @@ export const $$metadata = $$createMetadata(import.meta.url, { modules: [], hydra
const $$Astro = $$createAstro('https://astro.build');
const Astro = $$Astro;
const $$Component = $$createComponent(($$result, $$props, $$slots) => {
-const Astro = $$result.createAstro($$Astro, $$props, $$slots);
+const Astro = $$result.createAstro($$props, $$slots);
Astro.self = $$Component;
const { title, footnotes, tables } = Astro.props;
diff --git a/internal/printer/__printer_js__/ternary_layout.snap b/internal/printer/__printer_js__/ternary_layout.snap
index 812e6d87f..78b780c87 100755
--- a/internal/printer/__printer_js__/ternary_layout.snap
+++ b/internal/printer/__printer_js__/ternary_layout.snap
@@ -35,7 +35,7 @@ export const $$metadata = $$createMetadata(import.meta.url, { modules: [], hydra
const $$Astro = $$createAstro('https://astro.build');
const Astro = $$Astro;
const $$Component = $$createComponent(($$result, $$props, $$slots) => {
-const Astro = $$result.createAstro($$Astro, $$props, $$slots);
+const Astro = $$result.createAstro($$props, $$slots);
Astro.self = $$Component;
return $$render`${toggleError ? $$render`${$$renderComponent($$result,'BaseLayout',BaseLayout,{},{"default": () => $$render`${$$maybeRenderHead($$result)}SITE: ${Astro.site}
`,})}` : $$render`${$$renderComponent($$result,'Fragment',Fragment,{},{"default": () => $$render`SITE: ${Astro.site}
`,})}`}`;
diff --git a/internal/printer/printer.go b/internal/printer/printer.go
index 0c31c194c..048a06d3d 100644
--- a/internal/printer/printer.go
+++ b/internal/printer/printer.go
@@ -349,7 +349,7 @@ func (p *printer) printFuncPrelude(opts transform.TransformOptions, printAstroGl
p.println(fmt.Sprintf("const %s = %s(%s(%s, $$props, %s) => {", componentName, CREATE_COMPONENT, p.getAsyncFuncPrefix(), RESULT, SLOTS))
if printAstroGlobal {
p.addNilSourceMapping()
- p.println(fmt.Sprintf("const Astro = %s.createAstro($$Astro, $$props, %s);", RESULT, SLOTS))
+ p.println(fmt.Sprintf("const Astro = %s.createAstro($$props, %s);", RESULT, SLOTS))
p.addNilSourceMapping()
p.println(fmt.Sprintf("Astro.self = %s;", componentName))
}
diff --git a/internal/printer/printer_css_test.go b/internal/printer/printer_css_test.go
index 92373ba8c..f78ff18b5 100644
--- a/internal/printer/printer_css_test.go
+++ b/internal/printer/printer_css_test.go
@@ -87,7 +87,7 @@ func TestPrinterCSS(t *testing.T) {
}
hash := astro.HashString(code)
- opts := transform.TransformOptions{Scope: hash, ScopedStyleStrategy: scopedStyleStrategy, ExperimentalScriptOrder: true}
+ opts := transform.TransformOptions{Scope: hash, ScopedStyleStrategy: scopedStyleStrategy}
transform.ExtractStyles(doc, &opts)
transform.Transform(doc, opts, handler.NewHandler(code, "/test.astro")) // note: we want to test Transform in context here, but more advanced cases could be tested separately
result := PrintCSS(code, doc, transform.TransformOptions{
diff --git a/internal/printer/printer_test.go b/internal/printer/printer_test.go
index e71937138..63ed50d63 100644
--- a/internal/printer/printer_test.go
+++ b/internal/printer/printer_test.go
@@ -34,7 +34,7 @@ var INTERNAL_IMPORTS = fmt.Sprintf("import {\n %s\n} from \"%s\";\n", strings.J
}, ",\n "), "http://localhost:3000/")
var PRELUDE = fmt.Sprintf(`const $$Component = %s(($$result, $$props, %s) => {`, CREATE_COMPONENT, SLOTS)
var PRELUDE_WITH_ASYNC = fmt.Sprintf(`const $$Component = %s(async ($$result, $$props, %s) => {`, CREATE_COMPONENT, SLOTS)
-var PRELUDE_ASTRO_GLOBAL = fmt.Sprintf(`const Astro = $$result.createAstro($$Astro, $$props, %s);
+var PRELUDE_ASTRO_GLOBAL = fmt.Sprintf(`const Astro = $$result.createAstro($$props, %s);
Astro.self = $$Component;`, SLOTS)
var RETURN = fmt.Sprintf("return %s%s", TEMPLATE_TAG, BACKTICK)
var SUFFIX = fmt.Sprintf("%s;", BACKTICK) + `
@@ -51,7 +51,6 @@ type testcase struct {
source string
only bool
transitions bool
- transformOptions transform.TransformOptions
filename string
}
@@ -845,70 +844,37 @@ import Widget2 from '../components/Widget2.astro';
source: ``,
},
{
- name: "script (renderScript: true)",
+ name: "script",
source: ``,
- transformOptions: transform.TransformOptions{
- RenderScript: true,
- },
filename: "/src/pages/index.astro",
},
{
- name: "script multiple (renderScript: true)",
+ name: "script multiple",
source: ``,
- transformOptions: transform.TransformOptions{
- RenderScript: true,
- },
filename: "/src/pages/index.astro",
},
{
- name: "script external (renderScript: true)",
+ name: "script external",
source: ``,
- transformOptions: transform.TransformOptions{
- RenderScript: true,
- },
filename: "/src/pages/index.astro",
},
{
- name: "script external in expression (renderScript: true)",
+ name: "script external in expression",
source: `{}`,
- transformOptions: transform.TransformOptions{
- RenderScript: true,
- },
filename: "/src/pages/index.astro",
},
{
- // maintain the original behavior, though it may be
- // unneeded as renderScript is now on by default
- name: "script external in expression (renderScript: false)",
- source: `{}`,
- filename: "/src/pages/index.astro",
- },
- {
- name: "script in expression (renderScript: true)",
+ name: "script in expression",
source: `{true && }`,
- transformOptions: transform.TransformOptions{
- RenderScript: true,
- },
- filename: "/src/pages/index.astro",
- },
- {
- name: "script in expression (renderScript: false)",
- source: `{false && }`,
filename: "/src/pages/index.astro",
},
{
- name: "script inline (renderScript: true)",
+ name: "script inline",
source: ``,
- transformOptions: transform.TransformOptions{
- RenderScript: true,
- },
},
{
- name: "script mixed handled and inline (renderScript: true)",
+ name: "script mixed handled and inline",
source: ``,
- transformOptions: transform.TransformOptions{
- RenderScript: true,
- },
filename: "/src/pages/index.astro",
},
{
@@ -2105,11 +2071,8 @@ import Analytics from '../components/Analytics.astro';
}
hash := astro.HashString(code)
- // combine from tt.transformOptions
transformOptions := transform.TransformOptions{
Scope: hash,
- RenderScript: tt.transformOptions.RenderScript,
- ExperimentalScriptOrder: true,
}
transform.ExtractStyles(doc, &transformOptions)
transform.Transform(doc, transformOptions, h) // note: we want to test Transform in context here, but more advanced cases could be tested separately
diff --git a/internal/transform/transform.go b/internal/transform/transform.go
index 239acebff..6714ca0f6 100644
--- a/internal/transform/transform.go
+++ b/internal/transform/transform.go
@@ -34,8 +34,6 @@ type TransformOptions struct {
ResolvePath func(string) string
PreprocessStyle interface{}
AnnotateSourceFile bool
- RenderScript bool
- ExperimentalScriptOrder bool
}
func Transform(doc *astro.Node, opts TransformOptions, h *handler.Handler) *astro.Node {
@@ -88,13 +86,6 @@ func Transform(doc *astro.Node, opts TransformOptions, h *handler.Handler) *astr
}
NormalizeSetDirectives(doc, h)
- // Important! Remove scripts from original location *after* walking the doc
- if !opts.RenderScript {
- for _, script := range doc.Scripts {
- script.Parent.RemoveChild(script)
- }
- }
-
// If we've emptied out all the nodes, this was a Fragment that only contained hoisted elements
// Add an empty FrontmatterNode to allow the empty component to be printed
if doc.FirstChild == nil {
@@ -128,11 +119,7 @@ func ExtractStyles(doc *astro.Node, opts *TransformOptions) {
return
}
// append node to maintain authored order
- if opts.ExperimentalScriptOrder {
- doc.Styles = append(doc.Styles, n)
- } else {
- doc.Styles = append([]*astro.Node{n}, doc.Styles...)
- }
+ doc.Styles = append(doc.Styles, n)
}
})
// Important! Remove styles from original location *after* walking the doc
@@ -409,8 +396,7 @@ func ExtractScript(doc *astro.Node, n *astro.Node, opts *TransformOptions, h *ha
return
}
// Ignore scripts in svg/noscript/etc
- // In expressions ignore scripts, unless `RenderScript` is true
- if !IsHoistable(n, opts.RenderScript) {
+ if !IsHoistable(n, true) {
return
}
@@ -443,11 +429,7 @@ func ExtractScript(doc *astro.Node, n *astro.Node, opts *TransformOptions, h *ha
// append node to maintain authored order
if shouldAdd {
- if opts.ExperimentalScriptOrder {
- doc.Scripts = append(doc.Scripts, n)
- } else {
- doc.Scripts = append([]*astro.Node{n}, doc.Scripts...)
- }
+ doc.Scripts = append(doc.Scripts, n)
n.HandledScript = true
}
} else {
diff --git a/internal/transform/transform_test.go b/internal/transform/transform_test.go
index 1da0cbe2b..6de58be1d 100644
--- a/internal/transform/transform_test.go
+++ b/internal/transform/transform_test.go
@@ -390,8 +390,8 @@ func TestCompactTransform(t *testing.T) {
},
{
name: "remove whitespace only",
- source: ` `,
- want: ``,
+ source: ` `,
+ want: ``,
},
{
name: "collapse surrounding whitespace",
diff --git a/internal/transform/utils.go b/internal/transform/utils.go
index 1a6bbe5e4..dc42a498f 100644
--- a/internal/transform/utils.go
+++ b/internal/transform/utils.go
@@ -47,12 +47,12 @@ func GetAttr(n *astro.Node, key string) *astro.Attribute {
return nil
}
-func IsHoistable(n *astro.Node, renderScriptEnabled bool) bool {
+func IsHoistable(n *astro.Node, renderScript bool) bool {
parent := n.Closest(func(p *astro.Node) bool {
return p.DataAtom == atom.Svg || p.DataAtom == atom.Noscript || p.DataAtom == atom.Template
})
- if renderScriptEnabled && parent != nil && parent.Expression {
+ if renderScript && parent != nil && parent.Expression {
return true
}
diff --git a/packages/compiler/src/shared/types.ts b/packages/compiler/src/shared/types.ts
index aca3027e7..4c96cc683 100644
--- a/packages/compiler/src/shared/types.ts
+++ b/packages/compiler/src/shared/types.ts
@@ -59,13 +59,6 @@ export interface TransformOptions {
attrs: Record
) => null | Promise;
annotateSourceFile?: boolean;
- /**
- * Render script tags to be processed (e.g. script tags that have no attributes or only a `src` attribute)
- * using a `renderScript` function from `internalURL`, instead of stripping the script entirely.
- * @experimental
- */
- renderScript?: boolean;
- experimentalScriptOrder?: boolean;
}
export type ConvertToTSXOptions = Pick<
diff --git a/packages/compiler/test/basic/trailing-spaces-ii.ts b/packages/compiler/test/basic/trailing-spaces-ii.ts
index 77b5a4993..762a81cc1 100644
--- a/packages/compiler/test/basic/trailing-spaces-ii.ts
+++ b/packages/compiler/test/basic/trailing-spaces-ii.ts
@@ -28,7 +28,10 @@ test('trailing space', () => {
result.code,
`
\${$$renderSlot($$result,$$slots["default"])}
-\``
+
+
+
+\${$$renderScript($$result,"?astro&type=script&index=0&lang.ts")}\``
);
});
diff --git a/packages/compiler/test/scripts/order.ts b/packages/compiler/test/scripts/order.ts
index 762617a32..54163f1ff 100644
--- a/packages/compiler/test/scripts/order.ts
+++ b/packages/compiler/test/scripts/order.ts
@@ -6,10 +6,7 @@ test('outputs scripts in expected order', async () => {
const result = await transform(
`
- `,
- {
- experimentalScriptOrder: true,
- }
+ `
);
const scripts = result.scripts;
diff --git a/packages/compiler/test/styles/sass.ts b/packages/compiler/test/styles/sass.ts
index f11385672..10f71599f 100644
--- a/packages/compiler/test/styles/sass.ts
+++ b/packages/compiler/test/styles/sass.ts
@@ -33,7 +33,6 @@ test.before(async () => {
result = await transform(FIXTURE, {
sourcemap: true,
preprocessStyle,
- experimentalScriptOrder: true,
});
});