diff --git a/.changeset/silver-deers-buy.md b/.changeset/silver-deers-buy.md
new file mode 100644
index 00000000..39f5d506
--- /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 9a505b2b..494f1073 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 92373ba8..f78ff18b 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 241b349d..8beb19e7 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 239acebf..02dfd48e 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 aca3027e..8ac85802 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 762617a3..54163f1f 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 f1138567..10f71599 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,
});
});