From 32d6d870c24eee7c53558dd14ab59b5001b50a74 Mon Sep 17 00:00:00 2001 From: Florian Lefebvre Date: Thu, 25 Sep 2025 16:17:31 +0200 Subject: [PATCH 1/4] feat: enable prerelease mode --- .changeset/config.json | 2 +- .changeset/pre.json | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 .changeset/pre.json 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/pre.json b/.changeset/pre.json new file mode 100644 index 000000000..869058fcf --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,8 @@ +{ + "mode": "pre", + "tag": "next", + "initialVersions": { + "@astrojs/compiler": "2.13.0" + }, + "changesets": [] +} From bd5be73731d1a28a9188a748f2a46ef9f5030b16 Mon Sep 17 00:00:00 2001 From: Florian Lefebvre Date: Mon, 29 Sep 2025 17:35:39 +0200 Subject: [PATCH 2/4] feat!: remove $$result.createAstro() first arg (#1112) --- .changeset/little-spoons-search.md | 12 ++++++++++++ .changeset/pre.json | 8 -------- .../__printer_js__/React_framework_example.snap | 2 +- .../Use_of_interfaces_within_frontmatter.snap | 2 +- .../__printer_js__/class_list_with_spread.snap | 2 +- .../printer/__printer_js__/class_with_spread.snap | 2 +- .../__printer_js__/complex_recursive_component.snap | 2 +- internal/printer/__printer_js__/complex_table.snap | 2 +- internal/printer/__printer_js__/dynamic_import.snap | 2 +- .../expression_returning_multiple_elements.snap | 2 +- .../function_expression_slots_II___959_.snap | 2 +- internal/printer/__printer_js__/import.meta.env.snap | 2 +- .../printer/__printer_js__/nested_expressions.snap | 2 +- .../__printer_js__/nested_expressions_II.snap | 2 +- .../spread_with_style_but_no_explicit_class.snap | 2 +- .../spread_without_style_or_class.snap | 2 +- .../table_with_expression_in__th_.snap | 2 +- internal/printer/__printer_js__/ternary_layout.snap | 2 +- internal/printer/printer.go | 2 +- internal/printer/printer_test.go | 2 +- 20 files changed, 30 insertions(+), 26 deletions(-) create mode 100644 .changeset/little-spoons-search.md delete mode 100644 .changeset/pre.json 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/pre.json b/.changeset/pre.json deleted file mode 100644 index 869058fcf..000000000 --- a/.changeset/pre.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "mode": "pre", - "tag": "next", - "initialVersions": { - "@astrojs/compiler": "2.13.0" - }, - "changesets": [] -} 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(``)}`,})}`,})}`)}`; 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__/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__/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__/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_test.go b/internal/printer/printer_test.go index e71937138..241b349d8 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) + ` From ac52387c20bcbbd28c9b855edb9aa6329a18a0a2 Mon Sep 17 00:00:00 2001 From: Florian Lefebvre Date: Fri, 3 Oct 2025 14:01:13 +0200 Subject: [PATCH 3/4] feat: remove experimentalScriptOrder option (#1115) --- .changeset/silver-deers-buy.md | 5 +++++ cmd/astro-wasm/astro-wasm.go | 6 ------ internal/printer/printer_css_test.go | 2 +- internal/printer/printer_test.go | 1 - internal/transform/transform.go | 13 ++----------- packages/compiler/src/shared/types.ts | 1 - packages/compiler/test/scripts/order.ts | 5 +---- packages/compiler/test/styles/sass.ts | 1 - 8 files changed, 9 insertions(+), 25 deletions(-) create mode 100644 .changeset/silver-deers-buy.md 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..494f10738 100644 --- a/cmd/astro-wasm/astro-wasm.go +++ b/cmd/astro-wasm/astro-wasm.go @@ -140,11 +140,6 @@ func makeTransformOptions(options js.Value) transform.TransformOptions { renderScript = true } - experimentalScriptOrder := false - if jsBool(options.Get("experimentalScriptOrder")) { - experimentalScriptOrder = true - } - return transform.TransformOptions{ Filename: filename, NormalizedFilename: normalizedFilename, @@ -159,7 +154,6 @@ func makeTransformOptions(options js.Value) transform.TransformOptions { TransitionsAnimationURL: transitionsAnimationURL, AnnotateSourceFile: annotateSourceFile, RenderScript: renderScript, - ExperimentalScriptOrder: experimentalScriptOrder, } } 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 241b349d8..8beb19e7c 100644 --- a/internal/printer/printer_test.go +++ b/internal/printer/printer_test.go @@ -2109,7 +2109,6 @@ import Analytics from '../components/Analytics.astro'; 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..02dfd48e1 100644 --- a/internal/transform/transform.go +++ b/internal/transform/transform.go @@ -35,7 +35,6 @@ type TransformOptions struct { PreprocessStyle interface{} AnnotateSourceFile bool RenderScript bool - ExperimentalScriptOrder bool } func Transform(doc *astro.Node, opts TransformOptions, h *handler.Handler) *astro.Node { @@ -128,11 +127,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 @@ -443,11 +438,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/packages/compiler/src/shared/types.ts b/packages/compiler/src/shared/types.ts index aca3027e7..8ac858027 100644 --- a/packages/compiler/src/shared/types.ts +++ b/packages/compiler/src/shared/types.ts @@ -65,7 +65,6 @@ export interface TransformOptions { * @experimental */ renderScript?: boolean; - experimentalScriptOrder?: boolean; } export type ConvertToTSXOptions = Pick< 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, }); }); From f4d1a540748403904c7464302c4ec0573a402345 Mon Sep 17 00:00:00 2001 From: Florian Lefebvre Date: Fri, 3 Oct 2025 14:40:26 +0200 Subject: [PATCH 4/4] feat: remove renderScript option (#1114) --- .changeset/neat-camels-raise.md | 5 ++ cmd/astro-wasm/astro-wasm.go | 6 --- .../printer/__printer_js__/Empty_script.snap | 2 +- .../component_with_only_a_script.snap | 2 +- ...cript_with_StaticExpression_turned_on.snap | 2 +- ...rHead_not_printed_for_hoisted_scripts.snap | 2 +- .../multibyte_character___script.snap | 2 +- ...__renderScript__true_.snap => script.snap} | 2 +- .../script_before_elements.snap | 2 +- ...cript__true_.snap => script_external.snap} | 2 +- ...nap => script_external_in_expression.snap} | 2 +- ...l_in_expression__renderScript__false_.snap | 41 --------------- .../script_hoist_with_frontmatter.snap | 2 +- .../script_hoist_without_frontmatter.snap | 2 +- ...__true_.snap => script_in_expression.snap} | 2 +- ...t_in_expression__renderScript__false_.snap | 41 --------------- .../script_inline__renderScript__true_.snap | 41 --------------- ...p => script_mixed_handled_and_inline.snap} | 2 +- ...cript__true_.snap => script_multiple.snap} | 2 +- ...ontent_element_in_customizable_select.snap | 1 + .../selectedcontent_self-closing_element.snap | 1 + internal/printer/printer_test.go | 50 +++---------------- internal/transform/transform.go | 11 +--- internal/transform/transform_test.go | 4 +- internal/transform/utils.go | 4 +- packages/compiler/src/shared/types.ts | 6 --- .../compiler/test/basic/trailing-spaces-ii.ts | 5 +- 27 files changed, 37 insertions(+), 207 deletions(-) create mode 100644 .changeset/neat-camels-raise.md rename internal/printer/__printer_js__/{script__renderScript__true_.snap => script.snap} (96%) rename internal/printer/__printer_js__/{script_external__renderScript__true_.snap => script_external.snap} (95%) rename internal/printer/__printer_js__/{script_external_in_expression__renderScript__true_.snap => script_external_in_expression.snap} (94%) delete mode 100755 internal/printer/__printer_js__/script_external_in_expression__renderScript__false_.snap rename internal/printer/__printer_js__/{script_in_expression__renderScript__true_.snap => script_in_expression.snap} (95%) delete mode 100755 internal/printer/__printer_js__/script_in_expression__renderScript__false_.snap delete mode 100755 internal/printer/__printer_js__/script_inline__renderScript__true_.snap rename internal/printer/__printer_js__/{script_mixed_handled_and_inline__renderScript__true_.snap => script_mixed_handled_and_inline.snap} (95%) rename internal/printer/__printer_js__/{script_multiple__renderScript__true_.snap => script_multiple.snap} (96%) 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/cmd/astro-wasm/astro-wasm.go b/cmd/astro-wasm/astro-wasm.go index 494f10738..77ff82555 100644 --- a/cmd/astro-wasm/astro-wasm.go +++ b/cmd/astro-wasm/astro-wasm.go @@ -135,11 +135,6 @@ func makeTransformOptions(options js.Value) transform.TransformOptions { scopedStyleStrategy = "where" } - renderScript := false - if jsBool(options.Get("renderScript")) { - renderScript = true - } - return transform.TransformOptions{ Filename: filename, NormalizedFilename: normalizedFilename, @@ -153,7 +148,6 @@ func makeTransformOptions(options js.Value) transform.TransformOptions { ScopedStyleStrategy: scopedStyleStrategy, TransitionsAnimationURL: transitionsAnimationURL, AnnotateSourceFile: annotateSourceFile, - RenderScript: renderScript, } } 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__/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__/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__/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_test.go b/internal/printer/printer_test.go index 8beb19e7c..63ed50d63 100644 --- a/internal/printer/printer_test.go +++ b/internal/printer/printer_test.go @@ -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,10 +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, } 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 02dfd48e1..6714ca0f6 100644 --- a/internal/transform/transform.go +++ b/internal/transform/transform.go @@ -34,7 +34,6 @@ type TransformOptions struct { ResolvePath func(string) string PreprocessStyle interface{} AnnotateSourceFile bool - RenderScript bool } func Transform(doc *astro.Node, opts TransformOptions, h *handler.Handler) *astro.Node { @@ -87,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 { @@ -404,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 } 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 8ac858027..4c96cc683 100644 --- a/packages/compiler/src/shared/types.ts +++ b/packages/compiler/src/shared/types.ts @@ -59,12 +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; } 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")}\`` ); });