From 4ba38535c1c7bce6ddda333be6728d7a95affe81 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 22 May 2025 09:39:29 -0400 Subject: [PATCH] update names --- .changeset/smart-boats-accept.md | 2 +- .../client/transform-template/index.js | 2 +- packages/svelte/src/compiler/types/index.d.ts | 9 ++++++--- .../svelte/src/compiler/validate-options.js | 2 +- packages/svelte/tests/helpers.js | 3 +-- packages/svelte/tests/hydration/test.ts | 4 ++-- packages/svelte/tests/runtime-browser/test.ts | 4 ++-- packages/svelte/tests/runtime-legacy/shared.ts | 4 ++-- .../samples/functional-templating/_config.js | 2 +- .../samples/functional-templating/_config.js | 2 +- packages/svelte/types/index.d.ts | 18 ++++++++++++------ 11 files changed, 30 insertions(+), 22 deletions(-) diff --git a/.changeset/smart-boats-accept.md b/.changeset/smart-boats-accept.md index b08063eb8d..4cdfeb30d0 100644 --- a/.changeset/smart-boats-accept.md +++ b/.changeset/smart-boats-accept.md @@ -2,4 +2,4 @@ 'svelte': minor --- -feat: functional template generation +feat: add `fragments: 'html' | 'tree'` option for wider CSP compliance diff --git a/packages/svelte/src/compiler/phases/3-transform/client/transform-template/index.js b/packages/svelte/src/compiler/phases/3-transform/client/transform-template/index.js index 61ae9d9b27..01b0bcd1cc 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/transform-template/index.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/transform-template/index.js @@ -36,7 +36,7 @@ function build_locations(nodes) { * @param {number} [flags] */ export function transform_template(state, namespace, flags = 0) { - const tree = state.options.templatingMode === 'functional'; + const tree = state.options.fragments === 'tree'; const expression = tree ? state.template.as_tree() : state.template.as_html(); diff --git a/packages/svelte/src/compiler/types/index.d.ts b/packages/svelte/src/compiler/types/index.d.ts index f836ec7e1f..a53a431cf1 100644 --- a/packages/svelte/src/compiler/types/index.d.ts +++ b/packages/svelte/src/compiler/types/index.d.ts @@ -123,11 +123,14 @@ export interface CompileOptions extends ModuleCompileOptions { */ preserveWhitespace?: boolean; /** - * If `functional`, the template will get compiled to a series of `document.createElement` calls, if `string` it will render the template tp a string and use `template.innerHTML`. + * Which strategy to use when cloning DOM fragments: * - * @default 'string' + * - `html` populates a `