@maizzle/framework 6.0.0-rc.8 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/bin/maizzle.mjs +1 -1
- package/dist/build.d.ts +38 -0
- package/dist/build.d.ts.map +1 -0
- package/dist/build.js +234 -0
- package/dist/build.js.map +1 -0
- package/dist/components/Body.vue +32 -3
- package/dist/components/Button.vue +91 -62
- package/dist/components/CodeBlock.vue +6 -4
- package/dist/components/CodeInline.vue +77 -6
- package/dist/components/Column.vue +67 -31
- package/dist/components/Container.vue +73 -12
- package/dist/components/Font.vue +96 -0
- package/dist/components/Head.vue +1 -1
- package/dist/components/Heading.vue +1 -1
- package/dist/components/Hr.vue +33 -0
- package/dist/components/Html.vue +36 -3
- package/dist/components/Img.vue +332 -0
- package/dist/components/Layout.vue +71 -21
- package/dist/components/Link.vue +1 -1
- package/dist/components/Markdown.vue +56 -23
- package/dist/components/MarkdownLayout.vue +39 -0
- package/dist/components/NotPlaintext.vue +14 -0
- package/dist/components/Outlook.vue +38 -11
- package/dist/components/OutlookBg.vue +241 -0
- package/dist/components/Plaintext.vue +14 -0
- package/dist/components/Preheader.vue +35 -10
- package/dist/components/QrCode.vue +157 -0
- package/dist/components/Raw.vue +28 -0
- package/dist/components/Row.vue +115 -22
- package/dist/components/Section.vue +65 -26
- package/dist/components/Spacer.vue +35 -29
- package/dist/components/Tailwind.vue +45 -0
- package/dist/components/Text.vue +3 -3
- package/dist/components/Vml.vue +207 -94
- package/dist/components/utils.d.ts +53 -0
- package/dist/components/utils.d.ts.map +1 -0
- package/dist/components/utils.js +80 -0
- package/dist/components/utils.js.map +1 -0
- package/dist/components/utils.ts +102 -0
- package/dist/composables/defineConfig.d.ts +13 -0
- package/dist/composables/defineConfig.d.ts.map +1 -0
- package/dist/composables/{defineConfig.mjs → defineConfig.js} +7 -9
- package/dist/composables/defineConfig.js.map +1 -0
- package/dist/composables/renderContext.d.ts +37 -0
- package/dist/composables/renderContext.d.ts.map +1 -0
- package/dist/composables/renderContext.js +6 -0
- package/dist/composables/renderContext.js.map +1 -0
- package/dist/composables/useBaseUrl.d.ts +19 -0
- package/dist/composables/useBaseUrl.d.ts.map +1 -0
- package/dist/composables/useBaseUrl.js +26 -0
- package/dist/composables/useBaseUrl.js.map +1 -0
- package/dist/composables/useConfig.d.ts +16 -0
- package/dist/composables/useConfig.d.ts.map +1 -0
- package/dist/composables/useConfig.js +19 -0
- package/dist/composables/useConfig.js.map +1 -0
- package/dist/composables/useCurrentTemplate.d.ts +31 -0
- package/dist/composables/useCurrentTemplate.d.ts.map +1 -0
- package/dist/composables/useCurrentTemplate.js +42 -0
- package/dist/composables/useCurrentTemplate.js.map +1 -0
- package/dist/composables/{useDoctype.d.mts → useDoctype.d.ts} +1 -1
- package/dist/composables/useDoctype.d.ts.map +1 -0
- package/dist/composables/{useDoctype.mjs → useDoctype.js} +3 -4
- package/dist/composables/useDoctype.js.map +1 -0
- package/dist/composables/{useEvent.d.mts → useEvent.d.ts} +3 -3
- package/dist/composables/useEvent.d.ts.map +1 -0
- package/dist/composables/{useEvent.mjs → useEvent.js} +4 -5
- package/dist/composables/useEvent.js.map +1 -0
- package/dist/composables/useFont.d.ts +50 -0
- package/dist/composables/useFont.d.ts.map +1 -0
- package/dist/composables/useFont.js +92 -0
- package/dist/composables/useFont.js.map +1 -0
- package/dist/composables/useOutlookFallback.d.ts +21 -0
- package/dist/composables/useOutlookFallback.d.ts.map +1 -0
- package/dist/composables/useOutlookFallback.js +29 -0
- package/dist/composables/useOutlookFallback.js.map +1 -0
- package/dist/composables/useOutputPath.d.ts +17 -0
- package/dist/composables/useOutputPath.d.ts.map +1 -0
- package/dist/composables/useOutputPath.js +23 -0
- package/dist/composables/useOutputPath.js.map +1 -0
- package/dist/composables/{usePlaintext.d.mts → usePlaintext.d.ts} +3 -1
- package/dist/composables/usePlaintext.d.ts.map +1 -0
- package/dist/composables/{usePlaintext.mjs → usePlaintext.js} +4 -4
- package/dist/composables/usePlaintext.js.map +1 -0
- package/dist/composables/usePreheader.d.ts +25 -0
- package/dist/composables/usePreheader.d.ts.map +1 -0
- package/dist/composables/usePreheader.js +28 -0
- package/dist/composables/usePreheader.js.map +1 -0
- package/dist/composables/useTransformers.d.ts +34 -0
- package/dist/composables/useTransformers.d.ts.map +1 -0
- package/dist/composables/useTransformers.js +48 -0
- package/dist/composables/useTransformers.js.map +1 -0
- package/dist/composables/useUrlQuery.d.ts +19 -0
- package/dist/composables/useUrlQuery.d.ts.map +1 -0
- package/dist/composables/useUrlQuery.js +26 -0
- package/dist/composables/useUrlQuery.js.map +1 -0
- package/dist/config/{defaults.d.mts → defaults.d.ts} +2 -2
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/{defaults.mjs → defaults.js} +10 -6
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/index.d.ts +24 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/{index.mjs → index.js} +45 -14
- package/dist/config/index.js.map +1 -0
- package/dist/events/{index.d.mts → index.d.ts} +35 -12
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/{index.mjs → index.js} +31 -13
- package/dist/events/index.js.map +1 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.js +40 -0
- package/dist/{plaintext.d.mts → plaintext.d.ts} +1 -1
- package/dist/plaintext.d.ts.map +1 -0
- package/dist/{plaintext.mjs → plaintext.js} +4 -5
- package/dist/plaintext.js.map +1 -0
- package/dist/{plugin.d.mts → plugin.d.ts} +2 -2
- package/dist/plugin.d.ts.map +1 -0
- package/dist/{plugin.mjs → plugin.js} +16 -13
- package/dist/plugin.js.map +1 -0
- package/dist/plugins/postcss/{mergeMediaQueries.d.mts → mergeMediaQueries.d.ts} +2 -2
- package/dist/plugins/postcss/mergeMediaQueries.d.ts.map +1 -0
- package/dist/plugins/postcss/{mergeMediaQueries.mjs → mergeMediaQueries.js} +2 -3
- package/dist/plugins/postcss/mergeMediaQueries.js.map +1 -0
- package/dist/plugins/postcss/{pruneVars.d.mts → pruneVars.d.ts} +1 -1
- package/dist/plugins/postcss/pruneVars.d.ts.map +1 -0
- package/dist/plugins/postcss/{pruneVars.mjs → pruneVars.js} +2 -2
- package/dist/plugins/postcss/pruneVars.js.map +1 -0
- package/dist/plugins/postcss/quoteFontFamilies.d.ts +13 -0
- package/dist/plugins/postcss/quoteFontFamilies.d.ts.map +1 -0
- package/dist/plugins/postcss/quoteFontFamilies.js +84 -0
- package/dist/plugins/postcss/quoteFontFamilies.js.map +1 -0
- package/dist/plugins/postcss/{removeDeclarations.d.mts → removeDeclarations.d.ts} +1 -1
- package/dist/plugins/postcss/removeDeclarations.d.ts.map +1 -0
- package/dist/plugins/postcss/{removeDeclarations.mjs → removeDeclarations.js} +2 -2
- package/dist/plugins/postcss/removeDeclarations.js.map +1 -0
- package/dist/plugins/postcss/resolveMaizzleImports.d.ts +16 -0
- package/dist/plugins/postcss/resolveMaizzleImports.d.ts.map +1 -0
- package/dist/plugins/postcss/resolveMaizzleImports.js +39 -0
- package/dist/plugins/postcss/resolveMaizzleImports.js.map +1 -0
- package/dist/plugins/postcss/resolveProps.d.ts +8 -0
- package/dist/plugins/postcss/resolveProps.d.ts.map +1 -0
- package/dist/plugins/postcss/resolveProps.js +155 -0
- package/dist/plugins/postcss/resolveProps.js.map +1 -0
- package/dist/plugins/postcss/{tailwindCleanup.d.mts → tailwindCleanup.d.ts} +2 -2
- package/dist/plugins/postcss/tailwindCleanup.d.ts.map +1 -0
- package/dist/plugins/postcss/{tailwindCleanup.mjs → tailwindCleanup.js} +29 -5
- package/dist/plugins/postcss/tailwindCleanup.js.map +1 -0
- package/dist/prepare.d.ts +17 -0
- package/dist/prepare.d.ts.map +1 -0
- package/dist/prepare.js +44 -0
- package/dist/prepare.js.map +1 -0
- package/dist/render/active.d.ts +8 -0
- package/dist/render/active.d.ts.map +1 -0
- package/dist/render/active.js +12 -0
- package/dist/render/active.js.map +1 -0
- package/dist/render/buildTemplate.d.ts +49 -0
- package/dist/render/buildTemplate.d.ts.map +1 -0
- package/dist/render/buildTemplate.js +141 -0
- package/dist/render/buildTemplate.js.map +1 -0
- package/dist/render/{createRenderer.d.mts → createRenderer.d.ts} +17 -6
- package/dist/render/createRenderer.d.ts.map +1 -0
- package/dist/render/createRenderer.js +468 -0
- package/dist/render/createRenderer.js.map +1 -0
- package/dist/render/index.d.ts +18 -0
- package/dist/render/index.d.ts.map +1 -0
- package/dist/render/index.js +59 -0
- package/dist/render/index.js.map +1 -0
- package/dist/render/injectFonts.d.ts +15 -0
- package/dist/render/injectFonts.d.ts.map +1 -0
- package/dist/render/injectFonts.js +45 -0
- package/dist/render/injectFonts.js.map +1 -0
- package/dist/render/parallel/buildWorker.d.ts +31 -0
- package/dist/render/parallel/buildWorker.d.ts.map +1 -0
- package/dist/render/parallel/buildWorker.js +66 -0
- package/dist/render/parallel/buildWorker.js.map +1 -0
- package/dist/render/parallel/worker.mjs +28 -0
- package/dist/render/plugins/codeBlockExtract.d.ts +14 -0
- package/dist/render/plugins/codeBlockExtract.d.ts.map +1 -0
- package/dist/render/plugins/codeBlockExtract.js +38 -0
- package/dist/render/plugins/codeBlockExtract.js.map +1 -0
- package/dist/render/plugins/markdownExtract.d.ts +12 -0
- package/dist/render/plugins/markdownExtract.d.ts.map +1 -0
- package/dist/render/plugins/markdownExtract.js +49 -0
- package/dist/render/plugins/markdownExtract.js.map +1 -0
- package/dist/render/plugins/rawExtract.d.ts +14 -0
- package/dist/render/plugins/rawExtract.d.ts.map +1 -0
- package/dist/render/plugins/rawExtract.js +34 -0
- package/dist/render/plugins/rawExtract.js.map +1 -0
- package/dist/render/plugins/rowSourceLocation.d.ts +18 -0
- package/dist/render/plugins/rowSourceLocation.d.ts.map +1 -0
- package/dist/render/plugins/rowSourceLocation.js +45 -0
- package/dist/render/plugins/rowSourceLocation.js.map +1 -0
- package/dist/{serve.d.mts → serve.d.ts} +5 -3
- package/dist/serve.d.ts.map +1 -0
- package/dist/{serve.mjs → serve.js} +207 -106
- package/dist/serve.js.map +1 -0
- package/dist/server/compatibility.d.ts +59 -0
- package/dist/server/compatibility.d.ts.map +1 -0
- package/dist/server/compatibility.js +959 -0
- package/dist/server/compatibility.js.map +1 -0
- package/dist/server/{email.d.mts → email.d.ts} +2 -2
- package/dist/server/email.d.ts.map +1 -0
- package/dist/server/{email.mjs → email.js} +2 -3
- package/dist/server/email.js.map +1 -0
- package/dist/server/linter.d.ts +20 -0
- package/dist/server/linter.d.ts.map +1 -0
- package/dist/server/linter.js +345 -0
- package/dist/server/linter.js.map +1 -0
- package/dist/server/sfc-utils.d.ts +21 -0
- package/dist/server/sfc-utils.d.ts.map +1 -0
- package/dist/server/sfc-utils.js +198 -0
- package/dist/server/sfc-utils.js.map +1 -0
- package/dist/server/ui/.vite/deps/@lucide_vue.js +44967 -0
- package/dist/server/ui/.vite/deps/@lucide_vue.js.map +1 -0
- package/dist/server/ui/.vite/deps/@vueuse_core.js +8155 -0
- package/dist/server/ui/.vite/deps/@vueuse_core.js.map +1 -0
- package/dist/server/ui/.vite/deps/@vueuse_shared.js +1859 -0
- package/dist/server/ui/.vite/deps/@vueuse_shared.js.map +1 -0
- package/dist/server/ui/.vite/deps/_metadata.json +78 -0
- package/dist/server/ui/.vite/deps/chunk-EAsCxrDo.js +14 -0
- package/dist/server/ui/.vite/deps/class-variance-authority.js +57 -0
- package/dist/server/ui/.vite/deps/class-variance-authority.js.map +1 -0
- package/dist/server/ui/.vite/deps/clsx.js +18 -0
- package/dist/server/ui/.vite/deps/clsx.js.map +1 -0
- package/dist/server/ui/.vite/deps/culori.js +4312 -0
- package/dist/server/ui/.vite/deps/culori.js.map +1 -0
- package/dist/server/ui/.vite/deps/package.json +3 -0
- package/dist/server/ui/.vite/deps/reka-ui.js +44464 -0
- package/dist/server/ui/.vite/deps/reka-ui.js.map +1 -0
- package/dist/server/ui/.vite/deps/tailwind-merge.js +3458 -0
- package/dist/server/ui/.vite/deps/tailwind-merge.js.map +1 -0
- package/dist/server/ui/.vite/deps/vue-router.js +6383 -0
- package/dist/server/ui/.vite/deps/vue-router.js.map +1 -0
- package/dist/server/ui/.vite/deps/vue.js +2 -0
- package/dist/server/ui/.vite/deps/vue.runtime.esm-bundler-DaqjATE_.js +8785 -0
- package/dist/server/ui/.vite/deps/vue.runtime.esm-bundler-DaqjATE_.js.map +1 -0
- package/dist/server/ui/App.vue +106 -66
- package/dist/server/ui/components/SidebarClose.vue +12 -0
- package/dist/server/ui/components/ui/checkbox/Checkbox.vue +1 -1
- package/dist/server/ui/components/ui/command/Command.vue +5 -1
- package/dist/server/ui/components/ui/command/CommandInput.vue +2 -2
- package/dist/server/ui/components/ui/dialog/DialogContent.vue +1 -1
- package/dist/server/ui/components/ui/dialog/DialogScrollContent.vue +1 -1
- package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +1 -1
- package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +1 -1
- package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +1 -1
- package/dist/server/ui/components/ui/input/Input.vue +1 -1
- package/dist/server/ui/components/ui/sheet/SheetContent.vue +1 -1
- package/dist/server/ui/components/ui/sidebar/SidebarTrigger.vue +2 -2
- package/dist/server/ui/components/ui/tags-input/TagsInputInput.vue +1 -1
- package/dist/server/ui/components/ui/tags-input/TagsInputItemDelete.vue +1 -1
- package/dist/server/ui/lib/emulated-dark-mode.ts +146 -0
- package/dist/server/ui/main.css +25 -0
- package/dist/server/ui/pages/Home.vue +1 -1
- package/dist/server/ui/pages/Preview.vue +377 -186
- package/dist/server/ui/vite-env.d.ts +1 -0
- package/dist/tests/render/_helpers.d.ts +6 -0
- package/dist/tests/render/_helpers.d.ts.map +1 -0
- package/dist/tests/render/_helpers.js +16 -0
- package/dist/tests/render/_helpers.js.map +1 -0
- package/dist/transformers/addAttributes.d.ts +42 -0
- package/dist/transformers/addAttributes.d.ts.map +1 -0
- package/dist/transformers/{addAttributes.mjs → addAttributes.js} +40 -24
- package/dist/transformers/addAttributes.js.map +1 -0
- package/dist/transformers/attributeToStyle.d.ts +38 -0
- package/dist/transformers/attributeToStyle.d.ts.map +1 -0
- package/dist/transformers/attributeToStyle.js +94 -0
- package/dist/transformers/attributeToStyle.js.map +1 -0
- package/dist/transformers/base.d.ts +71 -0
- package/dist/transformers/base.d.ts.map +1 -0
- package/dist/transformers/{base.mjs → base.js} +65 -40
- package/dist/transformers/base.js.map +1 -0
- package/dist/transformers/columnWidth.d.ts +31 -0
- package/dist/transformers/columnWidth.d.ts.map +1 -0
- package/dist/transformers/columnWidth.js +527 -0
- package/dist/transformers/columnWidth.js.map +1 -0
- package/dist/transformers/entities.d.ts +37 -0
- package/dist/transformers/entities.d.ts.map +1 -0
- package/dist/transformers/entities.js +74 -0
- package/dist/transformers/entities.js.map +1 -0
- package/dist/transformers/filters/{defaults.d.mts → defaults.d.ts} +1 -1
- package/dist/transformers/filters/defaults.d.ts.map +1 -0
- package/dist/transformers/filters/{defaults.mjs → defaults.js} +2 -2
- package/dist/transformers/filters/defaults.js.map +1 -0
- package/dist/transformers/filters/index.d.ts +43 -0
- package/dist/transformers/filters/index.d.ts.map +1 -0
- package/dist/transformers/filters/index.js +89 -0
- package/dist/transformers/filters/index.js.map +1 -0
- package/dist/transformers/format.d.ts +22 -0
- package/dist/transformers/format.d.ts.map +1 -0
- package/dist/transformers/format.js +30 -0
- package/dist/transformers/format.js.map +1 -0
- package/dist/transformers/imgWidth.d.ts +20 -0
- package/dist/transformers/imgWidth.d.ts.map +1 -0
- package/dist/transformers/imgWidth.js +76 -0
- package/dist/transformers/imgWidth.js.map +1 -0
- package/dist/transformers/{index.d.mts → index.d.ts} +14 -12
- package/dist/transformers/index.d.ts.map +1 -0
- package/dist/transformers/index.js +163 -0
- package/dist/transformers/index.js.map +1 -0
- package/dist/transformers/inlineCss.d.ts +85 -0
- package/dist/transformers/inlineCss.d.ts.map +1 -0
- package/dist/transformers/inlineCss.js +112 -0
- package/dist/transformers/inlineCss.js.map +1 -0
- package/dist/transformers/inlineLink.d.ts +35 -0
- package/dist/transformers/inlineLink.d.ts.map +1 -0
- package/dist/transformers/{inlineLink.mjs → inlineLink.js} +35 -11
- package/dist/transformers/inlineLink.js.map +1 -0
- package/dist/transformers/minify.d.ts +21 -0
- package/dist/transformers/minify.d.ts.map +1 -0
- package/dist/transformers/minify.js +25 -0
- package/dist/transformers/minify.js.map +1 -0
- package/dist/transformers/minifyCodeInline.d.ts +29 -0
- package/dist/transformers/minifyCodeInline.d.ts.map +1 -0
- package/dist/transformers/minifyCodeInline.js +36 -0
- package/dist/transformers/minifyCodeInline.js.map +1 -0
- package/dist/transformers/msoPlaceholders.d.ts +33 -0
- package/dist/transformers/msoPlaceholders.d.ts.map +1 -0
- package/dist/transformers/msoPlaceholders.js +114 -0
- package/dist/transformers/msoPlaceholders.js.map +1 -0
- package/dist/transformers/purgeCss.d.ts +43 -0
- package/dist/transformers/purgeCss.d.ts.map +1 -0
- package/dist/transformers/purgeCss.js +207 -0
- package/dist/transformers/purgeCss.js.map +1 -0
- package/dist/transformers/removeAttributes.d.ts +54 -0
- package/dist/transformers/removeAttributes.d.ts.map +1 -0
- package/dist/transformers/removeAttributes.js +72 -0
- package/dist/transformers/removeAttributes.js.map +1 -0
- package/dist/transformers/{replaceStrings.d.mts → replaceStrings.d.ts} +2 -2
- package/dist/transformers/replaceStrings.d.ts.map +1 -0
- package/dist/transformers/{replaceStrings.mjs → replaceStrings.js} +2 -2
- package/dist/transformers/replaceStrings.js.map +1 -0
- package/dist/transformers/safeSelectors.d.ts +37 -0
- package/dist/transformers/safeSelectors.d.ts.map +1 -0
- package/dist/transformers/{safeClassNames.mjs → safeSelectors.js} +40 -10
- package/dist/transformers/safeSelectors.js.map +1 -0
- package/dist/transformers/shorthandCss.d.ts +47 -0
- package/dist/transformers/shorthandCss.d.ts.map +1 -0
- package/dist/transformers/shorthandCss.js +92 -0
- package/dist/transformers/shorthandCss.js.map +1 -0
- package/dist/transformers/sixHex.d.ts +25 -0
- package/dist/transformers/sixHex.d.ts.map +1 -0
- package/dist/transformers/sixHex.js +42 -0
- package/dist/transformers/sixHex.js.map +1 -0
- package/dist/transformers/tailwindComponent.d.ts +16 -0
- package/dist/transformers/tailwindComponent.d.ts.map +1 -0
- package/dist/transformers/tailwindComponent.js +101 -0
- package/dist/transformers/tailwindComponent.js.map +1 -0
- package/dist/transformers/{tailwindcss.d.mts → tailwindcss.d.ts} +2 -2
- package/dist/transformers/tailwindcss.d.ts.map +1 -0
- package/dist/transformers/{tailwindcss.mjs → tailwindcss.js} +33 -74
- package/dist/transformers/tailwindcss.js.map +1 -0
- package/dist/transformers/urlQuery.d.ts +36 -0
- package/dist/transformers/urlQuery.d.ts.map +1 -0
- package/dist/transformers/urlQuery.js +77 -0
- package/dist/transformers/urlQuery.js.map +1 -0
- package/dist/types/{config.d.mts → config.d.ts} +270 -40
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js +1 -0
- package/dist/utils/ast/index.d.ts +4 -0
- package/dist/utils/ast/index.js +4 -0
- package/dist/utils/ast/{parser.d.mts → parser.d.ts} +1 -1
- package/dist/utils/ast/parser.d.ts.map +1 -0
- package/dist/utils/ast/{parser.mjs → parser.js} +2 -3
- package/dist/utils/ast/parser.js.map +1 -0
- package/dist/utils/ast/{serializer.d.mts → serializer.d.ts} +1 -1
- package/dist/utils/ast/serializer.d.ts.map +1 -0
- package/dist/utils/ast/serializer.js +46 -0
- package/dist/utils/ast/serializer.js.map +1 -0
- package/dist/utils/ast/{walker.d.mts → walker.d.ts} +1 -1
- package/dist/utils/ast/walker.d.ts.map +1 -0
- package/dist/utils/ast/{walker.mjs → walker.js} +2 -2
- package/dist/utils/ast/walker.js.map +1 -0
- package/dist/utils/cloneConfig.d.ts +13 -0
- package/dist/utils/cloneConfig.d.ts.map +1 -0
- package/dist/utils/cloneConfig.js +21 -0
- package/dist/utils/cloneConfig.js.map +1 -0
- package/dist/utils/compileTailwindCss.d.ts +16 -0
- package/dist/utils/compileTailwindCss.d.ts.map +1 -0
- package/dist/utils/compileTailwindCss.js +55 -0
- package/dist/utils/compileTailwindCss.js.map +1 -0
- package/dist/utils/componentSources.d.ts +50 -0
- package/dist/utils/componentSources.d.ts.map +1 -0
- package/dist/utils/componentSources.js +50 -0
- package/dist/utils/componentSources.js.map +1 -0
- package/dist/utils/cssBox.d.ts +42 -0
- package/dist/utils/cssBox.d.ts.map +1 -0
- package/dist/utils/cssBox.js +151 -0
- package/dist/utils/cssBox.js.map +1 -0
- package/dist/utils/decodeStyleEntities.d.ts +15 -0
- package/dist/utils/decodeStyleEntities.d.ts.map +1 -0
- package/dist/utils/decodeStyleEntities.js +18 -0
- package/dist/utils/decodeStyleEntities.js.map +1 -0
- package/dist/utils/{detect.d.mts → detect.d.ts} +1 -1
- package/dist/utils/detect.d.ts.map +1 -0
- package/dist/utils/{detect.mjs → detect.js} +2 -3
- package/dist/utils/detect.js.map +1 -0
- package/dist/utils/output-markers.d.ts +29 -0
- package/dist/utils/output-markers.d.ts.map +1 -0
- package/dist/utils/output-markers.js +68 -0
- package/dist/utils/output-markers.js.map +1 -0
- package/dist/utils/{url.d.mts → url.d.ts} +1 -1
- package/dist/utils/url.d.ts.map +1 -0
- package/dist/utils/{url.mjs → url.js} +2 -3
- package/dist/utils/url.js.map +1 -0
- package/dist/utils/watchPaths.d.ts +11 -0
- package/dist/utils/watchPaths.d.ts.map +1 -0
- package/dist/utils/watchPaths.js +19 -0
- package/dist/utils/watchPaths.js.map +1 -0
- package/node_modules/@clack/core/CHANGELOG.md +44 -0
- package/node_modules/@clack/core/dist/index.d.mts +125 -5
- package/node_modules/@clack/core/dist/index.mjs +972 -11
- package/node_modules/@clack/core/package.json +6 -2
- package/node_modules/@clack/prompts/CHANGELOG.md +70 -0
- package/node_modules/@clack/prompts/README.md +129 -3
- package/node_modules/@clack/prompts/dist/index.d.mts +567 -33
- package/node_modules/@clack/prompts/dist/index.mjs +1378 -133
- package/node_modules/@clack/prompts/package.json +7 -4
- package/node_modules/fast-string-truncated-width/dist/index.js +36 -96
- package/node_modules/fast-string-truncated-width/dist/types.d.ts +0 -3
- package/node_modules/fast-string-truncated-width/dist/utils.d.ts +3 -3
- package/node_modules/fast-string-truncated-width/dist/utils.js +14 -9
- package/node_modules/fast-string-truncated-width/package.json +1 -1
- package/node_modules/fast-string-truncated-width/readme.md +2 -3
- package/node_modules/fast-string-width/package.json +2 -2
- package/node_modules/fast-string-width/readme.md +0 -3
- package/node_modules/fast-wrap-ansi/lib/main.js +4 -2
- package/node_modules/fast-wrap-ansi/package.json +11 -11
- package/node_modules/maizzle/README.md +24 -0
- package/node_modules/maizzle/dist/commands/make/component.mjs +1 -1
- package/node_modules/maizzle/dist/commands/make/config.mjs +8 -7
- package/node_modules/maizzle/dist/commands/make/layout.mjs +3 -3
- package/node_modules/maizzle/dist/commands/make/scaffold.mjs +1 -1
- package/node_modules/maizzle/dist/commands/make/stubs/Layout.vue +146 -0
- package/node_modules/maizzle/dist/commands/make/stubs/component.vue +2 -4
- package/node_modules/maizzle/dist/commands/make/stubs/config.ts +1 -5
- package/node_modules/maizzle/dist/commands/make/template.mjs +1 -1
- package/node_modules/maizzle/dist/commands/new.mjs +46 -135
- package/node_modules/maizzle/dist/index.d.mts +1 -0
- package/node_modules/maizzle/dist/index.mjs +30 -7
- package/node_modules/maizzle/package.json +5 -4
- package/node_modules/nypm/dist/cli.mjs +28 -5
- package/node_modules/nypm/dist/index.d.mts +0 -8
- package/node_modules/nypm/dist/index.mjs +27 -4
- package/node_modules/nypm/package.json +12 -12
- package/node_modules/tinyexec/README.md +9 -1
- package/node_modules/tinyexec/dist/main.d.mts +22 -7
- package/node_modules/tinyexec/dist/main.mjs +189 -491
- package/node_modules/tinyexec/package.json +14 -16
- package/package.json +38 -30
- package/dist/build.d.mts +0 -19
- package/dist/build.d.mts.map +0 -1
- package/dist/build.mjs +0 -140
- package/dist/build.mjs.map +0 -1
- package/dist/components/Divider.vue +0 -133
- package/dist/components/Image.vue +0 -70
- package/dist/components/Overlap.vue +0 -80
- package/dist/components/utils.d.mts +0 -5
- package/dist/components/utils.d.mts.map +0 -1
- package/dist/components/utils.mjs +0 -9
- package/dist/components/utils.mjs.map +0 -1
- package/dist/composables/defineConfig.d.mts +0 -14
- package/dist/composables/defineConfig.d.mts.map +0 -1
- package/dist/composables/defineConfig.mjs.map +0 -1
- package/dist/composables/renderContext.d.mts +0 -24
- package/dist/composables/renderContext.d.mts.map +0 -1
- package/dist/composables/renderContext.mjs +0 -6
- package/dist/composables/renderContext.mjs.map +0 -1
- package/dist/composables/useConfig.d.mts +0 -9
- package/dist/composables/useConfig.d.mts.map +0 -1
- package/dist/composables/useConfig.mjs +0 -13
- package/dist/composables/useConfig.mjs.map +0 -1
- package/dist/composables/useDoctype.d.mts.map +0 -1
- package/dist/composables/useDoctype.mjs.map +0 -1
- package/dist/composables/useEvent.d.mts.map +0 -1
- package/dist/composables/useEvent.mjs.map +0 -1
- package/dist/composables/usePlaintext.d.mts.map +0 -1
- package/dist/composables/usePlaintext.mjs.map +0 -1
- package/dist/composables/usePreviewText.d.mts +0 -24
- package/dist/composables/usePreviewText.d.mts.map +0 -1
- package/dist/composables/usePreviewText.mjs +0 -29
- package/dist/composables/usePreviewText.mjs.map +0 -1
- package/dist/config/defaults.d.mts.map +0 -1
- package/dist/config/defaults.mjs.map +0 -1
- package/dist/config/index.d.mts +0 -15
- package/dist/config/index.d.mts.map +0 -1
- package/dist/config/index.mjs.map +0 -1
- package/dist/events/index.d.mts.map +0 -1
- package/dist/events/index.mjs.map +0 -1
- package/dist/index.d.mts +0 -30
- package/dist/index.mjs +0 -30
- package/dist/plaintext.d.mts.map +0 -1
- package/dist/plaintext.mjs.map +0 -1
- package/dist/plugin.d.mts.map +0 -1
- package/dist/plugin.mjs.map +0 -1
- package/dist/plugins/postcss/mergeMediaQueries.d.mts.map +0 -1
- package/dist/plugins/postcss/mergeMediaQueries.mjs.map +0 -1
- package/dist/plugins/postcss/pruneVars.d.mts.map +0 -1
- package/dist/plugins/postcss/pruneVars.mjs.map +0 -1
- package/dist/plugins/postcss/removeDeclarations.d.mts.map +0 -1
- package/dist/plugins/postcss/removeDeclarations.mjs.map +0 -1
- package/dist/plugins/postcss/tailwindCleanup.d.mts.map +0 -1
- package/dist/plugins/postcss/tailwindCleanup.mjs.map +0 -1
- package/dist/render/createRenderer.d.mts.map +0 -1
- package/dist/render/createRenderer.mjs +0 -279
- package/dist/render/createRenderer.mjs.map +0 -1
- package/dist/render/index.d.mts +0 -26
- package/dist/render/index.d.mts.map +0 -1
- package/dist/render/index.mjs +0 -45
- package/dist/render/index.mjs.map +0 -1
- package/dist/serve.d.mts.map +0 -1
- package/dist/serve.mjs.map +0 -1
- package/dist/server/compatibility.d.mts +0 -5
- package/dist/server/compatibility.d.mts.map +0 -1
- package/dist/server/compatibility.mjs +0 -97
- package/dist/server/compatibility.mjs.map +0 -1
- package/dist/server/email.d.mts.map +0 -1
- package/dist/server/email.mjs.map +0 -1
- package/dist/server/linter.d.mts +0 -5
- package/dist/server/linter.d.mts.map +0 -1
- package/dist/server/linter.mjs +0 -189
- package/dist/server/linter.mjs.map +0 -1
- package/dist/transformers/addAttributes.d.mts +0 -32
- package/dist/transformers/addAttributes.d.mts.map +0 -1
- package/dist/transformers/addAttributes.mjs.map +0 -1
- package/dist/transformers/attributeToStyle.d.mts +0 -25
- package/dist/transformers/attributeToStyle.d.mts.map +0 -1
- package/dist/transformers/attributeToStyle.mjs +0 -80
- package/dist/transformers/attributeToStyle.mjs.map +0 -1
- package/dist/transformers/base.d.mts +0 -8
- package/dist/transformers/base.d.mts.map +0 -1
- package/dist/transformers/base.mjs.map +0 -1
- package/dist/transformers/entities.d.mts +0 -8
- package/dist/transformers/entities.d.mts.map +0 -1
- package/dist/transformers/entities.mjs +0 -41
- package/dist/transformers/entities.mjs.map +0 -1
- package/dist/transformers/filters/defaults.d.mts.map +0 -1
- package/dist/transformers/filters/defaults.mjs.map +0 -1
- package/dist/transformers/filters/index.d.mts +0 -22
- package/dist/transformers/filters/index.d.mts.map +0 -1
- package/dist/transformers/filters/index.mjs +0 -67
- package/dist/transformers/filters/index.mjs.map +0 -1
- package/dist/transformers/format.d.mts +0 -15
- package/dist/transformers/format.d.mts.map +0 -1
- package/dist/transformers/format.mjs +0 -26
- package/dist/transformers/format.mjs.map +0 -1
- package/dist/transformers/index.d.mts.map +0 -1
- package/dist/transformers/index.mjs +0 -78
- package/dist/transformers/index.mjs.map +0 -1
- package/dist/transformers/inlineCSS.d.mts +0 -17
- package/dist/transformers/inlineCSS.d.mts.map +0 -1
- package/dist/transformers/inlineCSS.mjs +0 -70
- package/dist/transformers/inlineCSS.mjs.map +0 -1
- package/dist/transformers/inlineLink.d.mts +0 -14
- package/dist/transformers/inlineLink.d.mts.map +0 -1
- package/dist/transformers/inlineLink.mjs.map +0 -1
- package/dist/transformers/minify.d.mts +0 -17
- package/dist/transformers/minify.d.mts.map +0 -1
- package/dist/transformers/minify.mjs +0 -24
- package/dist/transformers/minify.mjs.map +0 -1
- package/dist/transformers/purgeCSS.d.mts +0 -23
- package/dist/transformers/purgeCSS.d.mts.map +0 -1
- package/dist/transformers/purgeCSS.mjs +0 -132
- package/dist/transformers/purgeCSS.mjs.map +0 -1
- package/dist/transformers/removeAttributes.d.mts +0 -31
- package/dist/transformers/removeAttributes.d.mts.map +0 -1
- package/dist/transformers/removeAttributes.mjs +0 -63
- package/dist/transformers/removeAttributes.mjs.map +0 -1
- package/dist/transformers/replaceStrings.d.mts.map +0 -1
- package/dist/transformers/replaceStrings.mjs.map +0 -1
- package/dist/transformers/safeClassNames.d.mts +0 -22
- package/dist/transformers/safeClassNames.d.mts.map +0 -1
- package/dist/transformers/safeClassNames.mjs.map +0 -1
- package/dist/transformers/shorthandCSS.d.mts +0 -24
- package/dist/transformers/shorthandCSS.d.mts.map +0 -1
- package/dist/transformers/shorthandCSS.mjs +0 -48
- package/dist/transformers/shorthandCSS.mjs.map +0 -1
- package/dist/transformers/tailwindcss.d.mts.map +0 -1
- package/dist/transformers/tailwindcss.mjs.map +0 -1
- package/dist/transformers/urlQuery.d.mts +0 -24
- package/dist/transformers/urlQuery.d.mts.map +0 -1
- package/dist/transformers/urlQuery.mjs +0 -65
- package/dist/transformers/urlQuery.mjs.map +0 -1
- package/dist/types/config.d.mts.map +0 -1
- package/dist/types/config.mjs +0 -1
- package/dist/types/index.d.mts +0 -2
- package/dist/types/index.mjs +0 -1
- package/dist/utils/ast/index.d.mts +0 -4
- package/dist/utils/ast/index.mjs +0 -5
- package/dist/utils/ast/parser.d.mts.map +0 -1
- package/dist/utils/ast/parser.mjs.map +0 -1
- package/dist/utils/ast/serializer.d.mts.map +0 -1
- package/dist/utils/ast/serializer.mjs +0 -37
- package/dist/utils/ast/serializer.mjs.map +0 -1
- package/dist/utils/ast/walker.d.mts.map +0 -1
- package/dist/utils/ast/walker.mjs.map +0 -1
- package/dist/utils/detect.d.mts.map +0 -1
- package/dist/utils/detect.mjs.map +0 -1
- package/dist/utils/url.d.mts.map +0 -1
- package/dist/utils/url.mjs.map +0 -1
- package/node_modules/@clack/core/dist/index.mjs.map +0 -1
- package/node_modules/@clack/prompts/dist/index.mjs.map +0 -1
- package/node_modules/fast-wrap-ansi/lib/main.js.map +0 -1
- package/node_modules/maizzle/dist/commands/make/stubs/layout.vue +0 -39
- package/node_modules/tinyexec/dist/LICENSES.txt +0 -83
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { RemoveValue } from "../plugins/postcss/removeDeclarations.
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
1
|
+
import { RemoveValue } from "../plugins/postcss/removeDeclarations.js";
|
|
2
|
+
import { TemplateInfo } from "../events/index.js";
|
|
3
|
+
import { Directive, Plugin } from "vue";
|
|
4
|
+
import { InlineConfig } from "vite";
|
|
5
|
+
import juice from "juice";
|
|
6
|
+
import { Options } from "unplugin-vue-markdown/types";
|
|
6
7
|
|
|
7
8
|
//#region src/types/config.d.ts
|
|
9
|
+
type JuiceOptions = NonNullable<Parameters<typeof juice>[1]>;
|
|
8
10
|
interface UrlQueryOptions {
|
|
9
11
|
/**
|
|
10
12
|
* CSS selectors for elements to process.
|
|
@@ -93,7 +95,7 @@ interface CssConfig {
|
|
|
93
95
|
* }
|
|
94
96
|
* }
|
|
95
97
|
*/
|
|
96
|
-
inline?: boolean |
|
|
98
|
+
inline?: boolean | JuiceOptions & {
|
|
97
99
|
/**
|
|
98
100
|
* Convert HTML attributes like `width`, `height`, `bgcolor`, and `valign`
|
|
99
101
|
* to inline CSS styles. Set to `true` for all, or pass an array of attribute names.
|
|
@@ -184,25 +186,13 @@ interface CssConfig {
|
|
|
184
186
|
sort?: 'mobile-first' | 'desktop-first' | ((a: string, b: string) => number);
|
|
185
187
|
};
|
|
186
188
|
/**
|
|
187
|
-
*
|
|
189
|
+
* Strip units from zero values in inlined styles.
|
|
188
190
|
*
|
|
189
|
-
* For example, `
|
|
191
|
+
* For example, `padding: 0px 16px` becomes `padding: 0 16px`.
|
|
190
192
|
*
|
|
191
193
|
* @default true
|
|
192
194
|
*/
|
|
193
195
|
preferUnitless?: boolean;
|
|
194
|
-
/**
|
|
195
|
-
* Resolve CSS `calc()` expressions to static values where possible.
|
|
196
|
-
*
|
|
197
|
-
* @default true
|
|
198
|
-
*/
|
|
199
|
-
resolveCalc?: boolean;
|
|
200
|
-
/**
|
|
201
|
-
* Resolve CSS custom properties (`var()`) to their computed values.
|
|
202
|
-
*
|
|
203
|
-
* @default true
|
|
204
|
-
*/
|
|
205
|
-
resolveProps?: boolean;
|
|
206
196
|
/**
|
|
207
197
|
* Replace unsafe CSS class names with email-safe equivalents.
|
|
208
198
|
*
|
|
@@ -219,6 +209,14 @@ interface CssConfig {
|
|
|
219
209
|
shorthand?: boolean | {
|
|
220
210
|
tags?: string[];
|
|
221
211
|
};
|
|
212
|
+
/**
|
|
213
|
+
* Convert 3-digit HEX colors to 6-digit in `bgcolor` and `color` attributes.
|
|
214
|
+
*
|
|
215
|
+
* Some email clients don't support shorthand HEX like `#fff`.
|
|
216
|
+
*
|
|
217
|
+
* @default true
|
|
218
|
+
*/
|
|
219
|
+
sixHex?: boolean;
|
|
222
220
|
/**
|
|
223
221
|
* Remove specific CSS declarations by selector.
|
|
224
222
|
*
|
|
@@ -231,7 +229,11 @@ interface CssConfig {
|
|
|
231
229
|
*/
|
|
232
230
|
removeDeclarations?: Record<string, RemoveValue>;
|
|
233
231
|
/**
|
|
234
|
-
*
|
|
232
|
+
* Glob patterns or paths excluded from Tailwind's `@source` scanner.
|
|
233
|
+
*
|
|
234
|
+
* Tailwind won't generate utilities for classes used in these files.
|
|
235
|
+
* Useful for ignoring AMP variants or any templates whose classes
|
|
236
|
+
* shouldn't end up in the output CSS.
|
|
235
237
|
*
|
|
236
238
|
* @example
|
|
237
239
|
* css: {
|
|
@@ -244,6 +246,10 @@ interface AttributesConfig {
|
|
|
244
246
|
/**
|
|
245
247
|
* Add attributes to HTML elements.
|
|
246
248
|
*
|
|
249
|
+
* Set the whole map to `false` to disable auto-add. Set a selector
|
|
250
|
+
* entry to `false` to skip that selector. Set an individual attribute
|
|
251
|
+
* to `false` to skip just that attribute while keeping the rest.
|
|
252
|
+
*
|
|
247
253
|
* @example
|
|
248
254
|
* html: {
|
|
249
255
|
* attributes: {
|
|
@@ -254,14 +260,25 @@ interface AttributesConfig {
|
|
|
254
260
|
* }
|
|
255
261
|
* }
|
|
256
262
|
*/
|
|
257
|
-
add?: false | Record<string, Record<string, string | boolean | number>>;
|
|
263
|
+
add?: false | Record<string, false | Record<string, false | string | boolean | number>>;
|
|
258
264
|
/**
|
|
259
|
-
* Remove attributes from HTML elements
|
|
265
|
+
* Remove attributes from HTML elements.
|
|
266
|
+
*
|
|
267
|
+
* Empty `style` and `class` attributes are always stripped, regardless
|
|
268
|
+
* of config. Entries added here are appended to those defaults.
|
|
269
|
+
*
|
|
270
|
+
* - String — remove when the attribute's value is empty.
|
|
271
|
+
* - `{ name, value: 'literal' }` — remove when the value matches exactly.
|
|
272
|
+
* - `{ name, value: /regex/ }` — remove when the value matches the regex.
|
|
260
273
|
*
|
|
261
274
|
* @example
|
|
262
275
|
* html: {
|
|
263
276
|
* attributes: {
|
|
264
|
-
* remove: [
|
|
277
|
+
* remove: [
|
|
278
|
+
* 'data-foo',
|
|
279
|
+
* { name: 'role', value: 'none' },
|
|
280
|
+
* { name: 'class', value: /^js-/ },
|
|
281
|
+
* ],
|
|
265
282
|
* }
|
|
266
283
|
* }
|
|
267
284
|
*/
|
|
@@ -271,6 +288,28 @@ interface AttributesConfig {
|
|
|
271
288
|
}>;
|
|
272
289
|
}
|
|
273
290
|
type EntitiesConfig = boolean | Record<string, string>;
|
|
291
|
+
/**
|
|
292
|
+
* caniemail.com client family slugs. Maintained manually from
|
|
293
|
+
* https://www.caniemail.com/api/data.json — update this list when caniemail
|
|
294
|
+
* adds new clients.
|
|
295
|
+
*/
|
|
296
|
+
type CaniemailClient = 'gmail' | 'outlook' | 'yahoo' | 'apple-mail' | 'aol' | 'thunderbird' | 'microsoft' | 'samsung-email' | 'sfr' | 'orange' | 'protonmail' | 'hey' | 'mail-ru' | 'fastmail' | 'laposte' | 't-online-de' | 'free-fr' | 'gmx' | 'web-de' | 'ionos-1and1' | 'rainloop' | 'wp-pl';
|
|
297
|
+
interface ChecksConfig {
|
|
298
|
+
/**
|
|
299
|
+
* Client families to check against. Defaults to the four majors:
|
|
300
|
+
* Gmail, Apple Mail, Outlook, Yahoo. Pass `'all'` to check every client
|
|
301
|
+
* in the caniemail dataset.
|
|
302
|
+
*/
|
|
303
|
+
clients?: CaniemailClient[] | 'all';
|
|
304
|
+
/**
|
|
305
|
+
* Filter which severities are reported. Omit to show everything.
|
|
306
|
+
*
|
|
307
|
+
* - `'error'` — only errors (unsupported features, hard lint errors)
|
|
308
|
+
* - `'warning'` — only warnings (partial / unknown support, lint warnings)
|
|
309
|
+
* - `'lint'` — only lint items (both severities, no compat items)
|
|
310
|
+
*/
|
|
311
|
+
level?: 'error' | 'warning' | 'lint';
|
|
312
|
+
}
|
|
274
313
|
interface PostcssConfig {
|
|
275
314
|
/**
|
|
276
315
|
* Selector prefixes to strip from compiled CSS.
|
|
@@ -311,24 +350,129 @@ interface HtmlConfig {
|
|
|
311
350
|
*
|
|
312
351
|
* Set to `true` to enable with defaults, or pass options.
|
|
313
352
|
*/
|
|
314
|
-
format?: boolean | oxfmt.FormatOptions;
|
|
353
|
+
format?: boolean | import('oxfmt').FormatOptions;
|
|
315
354
|
/**
|
|
316
355
|
* Minify the HTML output.
|
|
317
356
|
*
|
|
318
|
-
* Set to `true` to enable with defaults, or pass
|
|
357
|
+
* Set to `true` to enable with defaults, or pass `html-crush`
|
|
358
|
+
* options to customize.
|
|
359
|
+
*
|
|
360
|
+
* @see https://codsen.com/os/html-crush
|
|
319
361
|
*/
|
|
320
|
-
minify?: boolean |
|
|
362
|
+
minify?: boolean | Partial<import('html-crush').Opts>;
|
|
321
363
|
}
|
|
322
364
|
type FilterFunction = (str: string, value: string) => string;
|
|
323
365
|
type FiltersConfig = false | Record<string, FilterFunction>;
|
|
324
|
-
interface MarkdownConfig extends Options
|
|
366
|
+
interface MarkdownConfig extends Options {
|
|
325
367
|
/**
|
|
326
368
|
* The shiki theme to use for syntax highlighting in Markdown fenced code blocks.
|
|
327
369
|
*
|
|
328
370
|
* @default 'github-light'
|
|
329
371
|
*/
|
|
330
|
-
shikiTheme?: shiki.BundledTheme;
|
|
372
|
+
shikiTheme?: import('shiki').BundledTheme;
|
|
373
|
+
}
|
|
374
|
+
interface VueConfig {
|
|
375
|
+
/**
|
|
376
|
+
* Vue plugins to register on the app instance before rendering.
|
|
377
|
+
*
|
|
378
|
+
* Pass a factory (`() => Plugin[]`) for stateful plugins like vue-i18n
|
|
379
|
+
* or Pinia to get a fresh instance per render — otherwise state leaks
|
|
380
|
+
* across templates (e.g. one template setting `locale.value = 'fr'`
|
|
381
|
+
* affects the next render).
|
|
382
|
+
*/
|
|
383
|
+
plugins?: Plugin[] | (() => Plugin[]);
|
|
384
|
+
/** Custom Vue directives to register globally. */
|
|
385
|
+
directives?: Record<string, Directive>;
|
|
386
|
+
/** Properties added to `app.config.globalProperties`, available in all templates. */
|
|
387
|
+
globalProperties?: Record<string, unknown>;
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* Per-transformer toggle map for `useTransformers`.
|
|
391
|
+
*
|
|
392
|
+
* - `false` skips the listed transformer.
|
|
393
|
+
* - `true` force-enables it for this run (only meaningful for boolean-driven
|
|
394
|
+
* transformers: inlineCss, purgeCss, prettify, minify, shorthandCss,
|
|
395
|
+
* sixHex, safeSelectors, entities). Layers on the matching
|
|
396
|
+
* `css.*` / `html.*` config slice.
|
|
397
|
+
* - missing keys keep their default behavior.
|
|
398
|
+
*
|
|
399
|
+
* Data-driven transformers (filters, baseURL, urlQuery, addAttributes,
|
|
400
|
+
* removeAttributes, replaceStrings, attributeToStyle) require actual
|
|
401
|
+
* config values — a bare `true` is a no-op for them.
|
|
402
|
+
*
|
|
403
|
+
* Transformers without a toggle (Tailwind, MSO placeholder resolution,
|
|
404
|
+
* column width math, link inlining) always run; they're driven by markup
|
|
405
|
+
* or framework state, not user opt-in.
|
|
406
|
+
*/
|
|
407
|
+
interface TransformerToggles {
|
|
408
|
+
safeSelectors?: boolean;
|
|
409
|
+
attributeToStyle?: boolean;
|
|
410
|
+
inlineCss?: boolean;
|
|
411
|
+
removeAttributes?: boolean;
|
|
412
|
+
shorthandCss?: boolean;
|
|
413
|
+
sixHex?: boolean;
|
|
414
|
+
addAttributes?: boolean;
|
|
415
|
+
filters?: boolean;
|
|
416
|
+
baseURL?: boolean;
|
|
417
|
+
urlQuery?: boolean;
|
|
418
|
+
purgeCss?: boolean;
|
|
419
|
+
entities?: boolean;
|
|
420
|
+
replaceStrings?: boolean;
|
|
421
|
+
prettify?: boolean;
|
|
422
|
+
minify?: boolean;
|
|
423
|
+
}
|
|
424
|
+
/**
|
|
425
|
+
* Plaintext generation options.
|
|
426
|
+
*
|
|
427
|
+
* Control where plaintext files are written, what extension they use,
|
|
428
|
+
* and the options forwarded to `string-strip-html`.
|
|
429
|
+
*/
|
|
430
|
+
interface PlaintextConfig {
|
|
431
|
+
/**
|
|
432
|
+
* Output directory for plaintext files. When omitted, files are written
|
|
433
|
+
* next to their HTML counterpart in `build.output.path`.
|
|
434
|
+
*/
|
|
435
|
+
destination?: string;
|
|
436
|
+
/**
|
|
437
|
+
* File extension for plaintext files (without the leading dot).
|
|
438
|
+
*
|
|
439
|
+
* @default 'txt'
|
|
440
|
+
*/
|
|
441
|
+
extension?: string;
|
|
442
|
+
/**
|
|
443
|
+
* Options forwarded to `string-strip-html`.
|
|
444
|
+
*
|
|
445
|
+
* @see https://codsen.com/os/string-strip-html
|
|
446
|
+
*/
|
|
447
|
+
options?: Partial<import('string-strip-html').Opts>;
|
|
331
448
|
}
|
|
449
|
+
/**
|
|
450
|
+
* Source directory entry for component auto-import.
|
|
451
|
+
*
|
|
452
|
+
* String → folder name becomes a namespace prefix automatically
|
|
453
|
+
* (e.g. `widgets/Button.vue` → `<WidgetsButton />`).
|
|
454
|
+
*
|
|
455
|
+
* Object → custom prefix overrides the folder-derived name. With
|
|
456
|
+
* `pathPrefix: false`, intermediate subfolders are dropped from the
|
|
457
|
+
* resolved name (useful for icon sets organized by category).
|
|
458
|
+
*/
|
|
459
|
+
type ComponentSource = string | {
|
|
460
|
+
/** Directory to scan, resolved relative to `cwd`. */path: string;
|
|
461
|
+
/**
|
|
462
|
+
* Custom prefix prepended to every resolved component name.
|
|
463
|
+
* Empty string disables the auto folder-name prefix.
|
|
464
|
+
*/
|
|
465
|
+
prefix?: string;
|
|
466
|
+
/**
|
|
467
|
+
* Include intermediate subfolder names in the resolved component
|
|
468
|
+
* name. Defaults to `true`.
|
|
469
|
+
*
|
|
470
|
+
* @example
|
|
471
|
+
* // pathPrefix: true → icons/social/twitter.vue → <IconSocialTwitter />
|
|
472
|
+
* // pathPrefix: false → icons/social/twitter.vue → <IconTwitter />
|
|
473
|
+
*/
|
|
474
|
+
pathPrefix?: boolean;
|
|
475
|
+
};
|
|
332
476
|
interface MaizzleConfig {
|
|
333
477
|
/**
|
|
334
478
|
* Root directory for the Maizzle email project.
|
|
@@ -375,6 +519,27 @@ interface MaizzleConfig {
|
|
|
375
519
|
*/
|
|
376
520
|
extension?: string;
|
|
377
521
|
};
|
|
522
|
+
/**
|
|
523
|
+
* Build templates in parallel across worker threads.
|
|
524
|
+
*
|
|
525
|
+
* - omitted (default): parallel when there are more than 50 templates
|
|
526
|
+
* - `true`: always parallel, using min(CPU count − 1, 8) workers
|
|
527
|
+
* - `false`: always sequential
|
|
528
|
+
* - `{ workers, threshold }`: parallel when the template count exceeds
|
|
529
|
+
* `threshold` (default 50), using `workers` threads (default
|
|
530
|
+
* min(CPU count − 1, 8)). Set `threshold: 0` to always parallelize.
|
|
531
|
+
*
|
|
532
|
+
* Note: more workers is not faster — each runs a full renderer, so ~8 is the
|
|
533
|
+
* sweet spot and over-provisioning slows builds down.
|
|
534
|
+
*
|
|
535
|
+
* Only applies to file-based configs (the CLI / a config path); an inline
|
|
536
|
+
* config object always builds sequentially. SFC-registered `afterBuild`
|
|
537
|
+
* handlers can't run in a worker — use the config `afterBuild` hook instead.
|
|
538
|
+
*/
|
|
539
|
+
parallel?: boolean | {
|
|
540
|
+
workers?: number;
|
|
541
|
+
threshold?: number;
|
|
542
|
+
};
|
|
378
543
|
/** Static file copying configuration. */
|
|
379
544
|
static?: {
|
|
380
545
|
/**
|
|
@@ -398,12 +563,20 @@ interface MaizzleConfig {
|
|
|
398
563
|
* Resolved relative to `cwd` (not `root`), so paths outside the
|
|
399
564
|
* email root directory work as expected.
|
|
400
565
|
*
|
|
566
|
+
* String entries use the folder name as a namespace prefix
|
|
567
|
+
* automatically (e.g. `widgets/Button.vue` → `<WidgetsButton />`).
|
|
568
|
+
* Object entries override that with a custom prefix.
|
|
569
|
+
*
|
|
401
570
|
* @example
|
|
402
571
|
* components: {
|
|
403
|
-
* source: [
|
|
572
|
+
* source: [
|
|
573
|
+
* 'resources/js/components/email',
|
|
574
|
+
* { path: 'src/widgets', prefix: 'W' },
|
|
575
|
+
* { path: 'src/icons', prefix: 'Icon', pathPrefix: false },
|
|
576
|
+
* ],
|
|
404
577
|
* }
|
|
405
578
|
*/
|
|
406
|
-
source?:
|
|
579
|
+
source?: ComponentSource | ComponentSource[];
|
|
407
580
|
};
|
|
408
581
|
/** Dev server configuration. */
|
|
409
582
|
server?: {
|
|
@@ -449,25 +622,52 @@ interface MaizzleConfig {
|
|
|
449
622
|
subject?: string; /** Nodemailer transport options (SMTP, SES, etc.). Omit to use Ethereal. */
|
|
450
623
|
transport?: Record<string, unknown>;
|
|
451
624
|
};
|
|
625
|
+
/**
|
|
626
|
+
* Configure or disable the Checks tab in the dev UI.
|
|
627
|
+
*
|
|
628
|
+
* Set to `false` to disable checks entirely (the tab is hidden).
|
|
629
|
+
*
|
|
630
|
+
* @example
|
|
631
|
+
* server: {
|
|
632
|
+
* checks: {
|
|
633
|
+
* clients: ['gmail', 'outlook', 'apple-mail'],
|
|
634
|
+
* level: 'error',
|
|
635
|
+
* }
|
|
636
|
+
* }
|
|
637
|
+
*/
|
|
638
|
+
checks?: false | ChecksConfig;
|
|
452
639
|
};
|
|
453
640
|
/** Tailwind CSS and email CSS optimization settings. */
|
|
454
641
|
css?: CssConfig;
|
|
455
642
|
/**
|
|
456
643
|
* Generate a plaintext version of the email.
|
|
457
644
|
*
|
|
458
|
-
* Set to `true` to enable, or pass
|
|
645
|
+
* Set to `true` to enable with defaults, or pass an object to configure
|
|
646
|
+
* destination directory, file extension, and `string-strip-html` options.
|
|
459
647
|
*
|
|
460
648
|
* @default false
|
|
649
|
+
* @example
|
|
650
|
+
* plaintext: {
|
|
651
|
+
* destination: 'build_production/plaintext',
|
|
652
|
+
* extension: 'txt',
|
|
653
|
+
* options: { ignoreTags: ['br'] },
|
|
654
|
+
* }
|
|
461
655
|
*/
|
|
462
|
-
plaintext?: boolean |
|
|
656
|
+
plaintext?: boolean | PlaintextConfig;
|
|
463
657
|
/** PostCSS processing options. */
|
|
464
658
|
postcss?: PostcssConfig;
|
|
465
659
|
/**
|
|
466
660
|
* Enable the transformer pipeline (CSS inlining, purging, shorthand, etc).
|
|
467
661
|
*
|
|
662
|
+
* Pass `false` to skip the entire pipeline. Pass an object to opt out of
|
|
663
|
+
* specific transformers while keeping the rest active — only keys set
|
|
664
|
+
* to `false` are skipped.
|
|
665
|
+
*
|
|
468
666
|
* @default true
|
|
667
|
+
* @example
|
|
668
|
+
* useTransformers: { inlineCss: false, minify: false }
|
|
469
669
|
*/
|
|
470
|
-
useTransformers?: boolean;
|
|
670
|
+
useTransformers?: boolean | TransformerToggles;
|
|
471
671
|
/**
|
|
472
672
|
* Replace strings in the final HTML output.
|
|
473
673
|
*
|
|
@@ -493,25 +693,55 @@ interface MaizzleConfig {
|
|
|
493
693
|
url?: UrlConfig;
|
|
494
694
|
/** HTML post-processing settings (attributes, formatting, minification). */
|
|
495
695
|
html?: HtmlConfig;
|
|
696
|
+
/**
|
|
697
|
+
* Vite configuration options passed to the internal Vite SSR server.
|
|
698
|
+
*
|
|
699
|
+
* Use this to add custom Vite plugins or other Vite options. The internal
|
|
700
|
+
* SSR server never loads a project `vite.config.{ts,js}` (it runs with
|
|
701
|
+
* `configFile: false`), so pass anything it needs here. These options are
|
|
702
|
+
* merged underneath Maizzle's required settings, which take precedence.
|
|
703
|
+
*
|
|
704
|
+
* @example
|
|
705
|
+
* vite: {
|
|
706
|
+
* plugins: [myPlugin()],
|
|
707
|
+
* }
|
|
708
|
+
*/
|
|
709
|
+
vite?: InlineConfig;
|
|
710
|
+
/**
|
|
711
|
+
* Vue app customization options.
|
|
712
|
+
*
|
|
713
|
+
* Register plugins, directives, or global properties on the
|
|
714
|
+
* internal Vue app instance used for SSR rendering.
|
|
715
|
+
*
|
|
716
|
+
* @example
|
|
717
|
+
* vue: {
|
|
718
|
+
* // Use a factory for stateful plugins (vue-i18n, Pinia, vue-router)
|
|
719
|
+
* // so each render gets a fresh instance.
|
|
720
|
+
* plugins: () => [createI18n({ locale: 'en', messages })],
|
|
721
|
+
* directives: { focus: vFocus },
|
|
722
|
+
* globalProperties: { $format: dateFormat },
|
|
723
|
+
* }
|
|
724
|
+
*/
|
|
725
|
+
vue?: VueConfig;
|
|
496
726
|
/** Called before any templates are processed. */
|
|
497
727
|
beforeCreate?: (params: {
|
|
498
728
|
config: MaizzleConfig;
|
|
499
729
|
}) => void | Promise<void>;
|
|
500
|
-
/** Called before each template is rendered. Return a string to replace
|
|
730
|
+
/** Called before each template is rendered. Return a string to replace `template.source`. */
|
|
501
731
|
beforeRender?: (params: {
|
|
502
732
|
config: MaizzleConfig;
|
|
503
|
-
template:
|
|
733
|
+
template: TemplateInfo;
|
|
504
734
|
}) => string | void | Promise<string | void>;
|
|
505
735
|
/** Called after each template is rendered but before transformers run. Return a string to replace the output HTML. */
|
|
506
736
|
afterRender?: (params: {
|
|
507
737
|
config: MaizzleConfig;
|
|
508
|
-
template:
|
|
738
|
+
template: TemplateInfo;
|
|
509
739
|
html: string;
|
|
510
740
|
}) => string | void | Promise<string | void>;
|
|
511
741
|
/** Called after transformers have run on each template. Return a string to replace the output HTML. */
|
|
512
742
|
afterTransform?: (params: {
|
|
513
743
|
config: MaizzleConfig;
|
|
514
|
-
template:
|
|
744
|
+
template: TemplateInfo;
|
|
515
745
|
html: string;
|
|
516
746
|
}) => string | void | Promise<string | void>;
|
|
517
747
|
/** Called after all templates have been built. */
|
|
@@ -522,5 +752,5 @@ interface MaizzleConfig {
|
|
|
522
752
|
[key: string]: any;
|
|
523
753
|
}
|
|
524
754
|
//#endregion
|
|
525
|
-
export { AttributesConfig, CssConfig, EntitiesConfig, FilterFunction, FiltersConfig, HtmlConfig, MaizzleConfig, MarkdownConfig, PostcssConfig, UrlConfig, UrlQuery, UrlQueryOptions };
|
|
526
|
-
//# sourceMappingURL=config.d.
|
|
755
|
+
export { AttributesConfig, CaniemailClient, ChecksConfig, ComponentSource, CssConfig, EntitiesConfig, FilterFunction, FiltersConfig, HtmlConfig, MaizzleConfig, MarkdownConfig, PlaintextConfig, PostcssConfig, TransformerToggles, UrlConfig, UrlQuery, UrlQueryOptions, VueConfig };
|
|
756
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","names":[],"sources":["../../src/types/config.ts"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { AttributesConfig, CaniemailClient, ChecksConfig, ComponentSource, CssConfig, EntitiesConfig, FilterFunction, FiltersConfig, HtmlConfig, MaizzleConfig, MarkdownConfig, PlaintextConfig, PostcssConfig, TransformerToggles, UrlConfig, UrlQuery, UrlQueryOptions } from "./config.js";
|
|
2
|
+
export type { AttributesConfig, CaniemailClient, ChecksConfig, ComponentSource, CssConfig, EntitiesConfig, FilterFunction, FiltersConfig, HtmlConfig, MaizzleConfig, MarkdownConfig, PlaintextConfig, PostcssConfig, TransformerToggles, UrlConfig, UrlQuery, UrlQueryOptions };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.d.ts","names":[],"sources":["../../../src/utils/ast/parser.ts"],"mappings":";;;iBAIgB,KAAA,CAAM,IAAA,UAAc,OAAA,GAAS,iBAAA,GAAyB,SAAS"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Parser } from "htmlparser2";
|
|
2
2
|
import { DomHandler } from "domhandler";
|
|
3
|
-
|
|
4
3
|
//#region src/utils/ast/parser.ts
|
|
5
4
|
function parse(html, options = {}) {
|
|
6
5
|
const handler = new DomHandler();
|
|
@@ -9,7 +8,7 @@ function parse(html, options = {}) {
|
|
|
9
8
|
parser.end();
|
|
10
9
|
return handler.dom;
|
|
11
10
|
}
|
|
12
|
-
|
|
13
11
|
//#endregion
|
|
14
12
|
export { parse };
|
|
15
|
-
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.js","names":[],"sources":["../../../src/utils/ast/parser.ts"],"sourcesContent":["import { Parser } from 'htmlparser2'\nimport { DomHandler } from 'domhandler'\nimport type { ChildNode, DomHandlerOptions } from 'domhandler'\n\nexport function parse(html: string, options: DomHandlerOptions = {}): ChildNode[] {\n const handler = new DomHandler()\n const parser = new Parser(handler, options)\n parser.write(html)\n parser.end()\n return handler.dom\n}\n"],"mappings":";;;AAIA,SAAgB,MAAM,MAAc,UAA6B,CAAC,GAAgB;CAChF,MAAM,UAAU,IAAI,WAAW;CAC/B,MAAM,SAAS,IAAI,OAAO,SAAS,OAAO;CAC1C,OAAO,MAAM,IAAI;CACjB,OAAO,IAAI;CACX,OAAO,QAAQ;AACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializer.d.ts","names":[],"sources":["../../../src/utils/ast/serializer.ts"],"mappings":";;;;iBA0CgB,SAAA,CAAU,GAAA,EAAK,SAAA,IAAa,OAAA,GAAU,oBAAoB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import render from "dom-serializer";
|
|
2
|
+
//#region src/utils/ast/serializer.ts
|
|
3
|
+
const RAW_TEXT_ELEMENTS = new Set(["script", "style"]);
|
|
4
|
+
/**
|
|
5
|
+
* Re-encode `<` and `>` in text nodes before serialization.
|
|
6
|
+
*
|
|
7
|
+
* The parser decodes entities like `<` into raw `<` in text nodes. With
|
|
8
|
+
* `encodeEntities: false` (needed so other transformers can emit entity
|
|
9
|
+
* strings such as ` ` verbatim), the serializer would write those raw
|
|
10
|
+
* `<` characters as-is, turning escaped text (e.g. a Vue `{{ html }}`
|
|
11
|
+
* interpolation containing `<p>...</p>`) into real DOM downstream.
|
|
12
|
+
*
|
|
13
|
+
* `&` is intentionally not re-encoded: the `entities` transformer writes
|
|
14
|
+
* literal entity strings (` `, `—`) directly into text-node data
|
|
15
|
+
* and relies on the serializer leaving them alone.
|
|
16
|
+
*
|
|
17
|
+
* Skip `<script>` / `<style>` — their children are raw-text containers, and
|
|
18
|
+
* CSS/JS legitimately contains `<` and `>`.
|
|
19
|
+
*/
|
|
20
|
+
function encodeTextNodes(dom, inRawText = false) {
|
|
21
|
+
for (const node of dom) {
|
|
22
|
+
if (node.type === "text") {
|
|
23
|
+
if (!inRawText) {
|
|
24
|
+
const text = node;
|
|
25
|
+
text.data = text.data.replace(/</g, "<").replace(/>/g, ">");
|
|
26
|
+
}
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
if ("children" in node && node.children?.length) {
|
|
30
|
+
const el = node;
|
|
31
|
+
const nextRaw = inRawText || RAW_TEXT_ELEMENTS.has(el.name);
|
|
32
|
+
encodeTextNodes(el.children, nextRaw);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function serialize(dom, options) {
|
|
37
|
+
encodeTextNodes(dom);
|
|
38
|
+
return render(dom, {
|
|
39
|
+
encodeEntities: false,
|
|
40
|
+
...options
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
//#endregion
|
|
44
|
+
export { serialize };
|
|
45
|
+
|
|
46
|
+
//# sourceMappingURL=serializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializer.js","names":[],"sources":["../../../src/utils/ast/serializer.ts"],"sourcesContent":["import render from 'dom-serializer'\nimport type { ChildNode, Element, Text } from 'domhandler'\nimport type { DomSerializerOptions } from 'dom-serializer'\n\nconst RAW_TEXT_ELEMENTS = new Set(['script', 'style'])\n\n/**\n * Re-encode `<` and `>` in text nodes before serialization.\n *\n * The parser decodes entities like `<` into raw `<` in text nodes. With\n * `encodeEntities: false` (needed so other transformers can emit entity\n * strings such as ` ` verbatim), the serializer would write those raw\n * `<` characters as-is, turning escaped text (e.g. a Vue `{{ html }}`\n * interpolation containing `<p>...</p>`) into real DOM downstream.\n *\n * `&` is intentionally not re-encoded: the `entities` transformer writes\n * literal entity strings (` `, `—`) directly into text-node data\n * and relies on the serializer leaving them alone.\n *\n * Skip `<script>` / `<style>` — their children are raw-text containers, and\n * CSS/JS legitimately contains `<` and `>`.\n */\nfunction encodeTextNodes(dom: ChildNode[], inRawText = false): void {\n for (const node of dom) {\n if (node.type === 'text') {\n if (!inRawText) {\n const text = node as Text\n text.data = text.data\n .replace(/</g, '<')\n .replace(/>/g, '>')\n }\n continue\n }\n\n if ('children' in node && (node as Element).children?.length) {\n const el = node as Element\n const nextRaw = inRawText || RAW_TEXT_ELEMENTS.has(el.name)\n encodeTextNodes(el.children as ChildNode[], nextRaw)\n }\n }\n}\n\nexport function serialize(dom: ChildNode[], options?: DomSerializerOptions): string {\n encodeTextNodes(dom)\n return render(dom, { encodeEntities: false, ...options })\n}\n"],"mappings":";;AAIA,MAAM,oBAAoB,IAAI,IAAI,CAAC,UAAU,OAAO,CAAC;;;;;;;;;;;;;;;;;AAkBrD,SAAS,gBAAgB,KAAkB,YAAY,OAAa;CAClE,KAAK,MAAM,QAAQ,KAAK;EACtB,IAAI,KAAK,SAAS,QAAQ;GACxB,IAAI,CAAC,WAAW;IACd,MAAM,OAAO;IACb,KAAK,OAAO,KAAK,KACd,QAAQ,MAAM,MAAM,CAAC,CACrB,QAAQ,MAAM,MAAM;GACzB;GACA;EACF;EAEA,IAAI,cAAc,QAAS,KAAiB,UAAU,QAAQ;GAC5D,MAAM,KAAK;GACX,MAAM,UAAU,aAAa,kBAAkB,IAAI,GAAG,IAAI;GAC1D,gBAAgB,GAAG,UAAyB,OAAO;EACrD;CACF;AACF;AAEA,SAAgB,UAAU,KAAkB,SAAwC;CAClF,gBAAgB,GAAG;CACnB,OAAO,OAAO,KAAK;EAAE,gBAAgB;EAAO,GAAG;CAAQ,CAAC;AAC1D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walker.d.ts","names":[],"sources":["../../../src/utils/ast/walker.ts"],"mappings":";;;iBAEgB,IAAA,CAAK,GAAA,EAAK,SAAA,IAAa,QAAA,GAAW,IAAA,EAAM,SAAS"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walker.js","names":[],"sources":["../../../src/utils/ast/walker.ts"],"sourcesContent":["import type { ChildNode } from 'domhandler'\n\nexport function walk(ast: ChildNode[], callback: (node: ChildNode) => void): void {\n function traverse(node: ChildNode) {\n callback(node)\n\n if ('children' in node && node.children && node.children.length > 0) {\n for (const child of node.children) {\n traverse(child)\n }\n }\n }\n\n for (const node of ast) {\n traverse(node)\n }\n}\n"],"mappings":";AAEA,SAAgB,KAAK,KAAkB,UAA2C;CAChF,SAAS,SAAS,MAAiB;EACjC,SAAS,IAAI;EAEb,IAAI,cAAc,QAAQ,KAAK,YAAY,KAAK,SAAS,SAAS,GAChE,KAAK,MAAM,SAAS,KAAK,UACvB,SAAS,KAAK;CAGpB;CAEA,KAAK,MAAM,QAAQ,KACjB,SAAS,IAAI;AAEjB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region src/utils/cloneConfig.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Deep-clone plain objects so per-template config mutations stay isolated.
|
|
4
|
+
*
|
|
5
|
+
* Arrays, functions, and class instances (Date, RegExp, Vite plugins, …) pass
|
|
6
|
+
* through by reference — only nested plain-object props are copied, which is
|
|
7
|
+
* what `beforeRender` mutations (`config.url.base`, `config.css.inline`, …)
|
|
8
|
+
* touch. Sharing arrays by reference matches the parallel worker's merge.
|
|
9
|
+
*/
|
|
10
|
+
declare function cloneConfig<T>(value: T): T;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { cloneConfig };
|
|
13
|
+
//# sourceMappingURL=cloneConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloneConfig.d.ts","names":[],"sources":["../../src/utils/cloneConfig.ts"],"mappings":";;AAQA;;;;;;;iBAAgB,WAAA,IAAe,KAAA,EAAO,CAAA,GAAI,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/utils/cloneConfig.ts
|
|
2
|
+
/**
|
|
3
|
+
* Deep-clone plain objects so per-template config mutations stay isolated.
|
|
4
|
+
*
|
|
5
|
+
* Arrays, functions, and class instances (Date, RegExp, Vite plugins, …) pass
|
|
6
|
+
* through by reference — only nested plain-object props are copied, which is
|
|
7
|
+
* what `beforeRender` mutations (`config.url.base`, `config.css.inline`, …)
|
|
8
|
+
* touch. Sharing arrays by reference matches the parallel worker's merge.
|
|
9
|
+
*/
|
|
10
|
+
function cloneConfig(value) {
|
|
11
|
+
if (value === null || typeof value !== "object") return value;
|
|
12
|
+
if (Array.isArray(value)) return value;
|
|
13
|
+
if (Object.getPrototypeOf(value) !== Object.prototype) return value;
|
|
14
|
+
const out = {};
|
|
15
|
+
for (const key of Object.keys(value)) out[key] = cloneConfig(value[key]);
|
|
16
|
+
return out;
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { cloneConfig };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=cloneConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloneConfig.js","names":[],"sources":["../../src/utils/cloneConfig.ts"],"sourcesContent":["/**\n * Deep-clone plain objects so per-template config mutations stay isolated.\n *\n * Arrays, functions, and class instances (Date, RegExp, Vite plugins, …) pass\n * through by reference — only nested plain-object props are copied, which is\n * what `beforeRender` mutations (`config.url.base`, `config.css.inline`, …)\n * touch. Sharing arrays by reference matches the parallel worker's merge.\n */\nexport function cloneConfig<T>(value: T): T {\n if (value === null || typeof value !== 'object') return value\n if (Array.isArray(value)) return value\n if (Object.getPrototypeOf(value) !== Object.prototype) return value\n\n const out: Record<string, unknown> = {}\n for (const key of Object.keys(value as object)) {\n out[key] = cloneConfig((value as Record<string, unknown>)[key])\n }\n\n return out as T\n}\n"],"mappings":";;;;;;;;;AAQA,SAAgB,YAAe,OAAa;CAC1C,IAAI,UAAU,QAAQ,OAAO,UAAU,UAAU,OAAO;CACxD,IAAI,MAAM,QAAQ,KAAK,GAAG,OAAO;CACjC,IAAI,OAAO,eAAe,KAAK,MAAM,OAAO,WAAW,OAAO;CAE9D,MAAM,MAA+B,CAAC;CACtC,KAAK,MAAM,OAAO,OAAO,KAAK,KAAe,GAC3C,IAAI,OAAO,YAAa,MAAkC,IAAI;CAGhE,OAAO;AACT"}
|