@maizzle/framework 6.0.0-9 → 6.0.0-rc.1
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/bin/maizzle.mjs +10 -0
- package/dist/build.d.mts +19 -0
- package/dist/build.d.mts.map +1 -0
- package/dist/build.mjs +138 -0
- package/dist/build.mjs.map +1 -0
- package/dist/components/Button.vue +141 -0
- package/dist/components/Divider.vue +105 -0
- package/dist/components/NoWidows.vue +123 -0
- package/dist/components/NotOutlook.vue +17 -0
- package/dist/components/Outlook.vue +74 -0
- package/dist/components/Spacer.vue +36 -0
- package/dist/components/Vml.vue +89 -0
- package/dist/components/WithUrl.vue +190 -0
- package/dist/components/utils.d.mts +5 -0
- package/dist/components/utils.d.mts.map +1 -0
- package/dist/components/utils.mjs +9 -0
- package/dist/components/utils.mjs.map +1 -0
- package/dist/components/utils.ts +6 -0
- package/dist/composables/defineConfig.d.mts +14 -0
- package/dist/composables/defineConfig.d.mts.map +1 -0
- package/dist/composables/defineConfig.mjs +34 -0
- package/dist/composables/defineConfig.mjs.map +1 -0
- package/dist/composables/renderContext.d.mts +19 -0
- package/dist/composables/renderContext.d.mts.map +1 -0
- package/dist/composables/renderContext.mjs +6 -0
- package/dist/composables/renderContext.mjs.map +1 -0
- package/dist/composables/useConfig.d.mts +9 -0
- package/dist/composables/useConfig.d.mts.map +1 -0
- package/dist/composables/useConfig.mjs +13 -0
- package/dist/composables/useConfig.mjs.map +1 -0
- package/dist/composables/useDoctype.d.mts +13 -0
- package/dist/composables/useDoctype.d.mts.map +1 -0
- package/dist/composables/useDoctype.mjs +20 -0
- package/dist/composables/useDoctype.mjs.map +1 -0
- package/dist/composables/useEvent.d.mts +17 -0
- package/dist/composables/useEvent.d.mts.map +1 -0
- package/dist/composables/useEvent.mjs +25 -0
- package/dist/composables/useEvent.mjs.map +1 -0
- package/dist/composables/usePlaintext.d.mts +19 -0
- package/dist/composables/usePlaintext.d.mts.map +1 -0
- package/dist/composables/usePlaintext.mjs +22 -0
- package/dist/composables/usePlaintext.mjs.map +1 -0
- package/dist/config/defaults.d.mts +6 -0
- package/dist/config/defaults.d.mts.map +1 -0
- package/dist/config/defaults.mjs +28 -0
- package/dist/config/defaults.mjs.map +1 -0
- package/dist/config/index.d.mts +15 -0
- package/dist/config/index.d.mts.map +1 -0
- package/dist/config/index.mjs +64 -0
- package/dist/config/index.mjs.map +1 -0
- package/dist/events/index.d.mts +91 -0
- package/dist/events/index.d.mts.map +1 -0
- package/dist/events/index.mjs +110 -0
- package/dist/events/index.mjs.map +1 -0
- package/dist/index.d.mts +29 -0
- package/dist/index.mjs +29 -0
- package/dist/plaintext.d.mts +5 -0
- package/dist/plaintext.d.mts.map +1 -0
- package/dist/plaintext.mjs +15 -0
- package/dist/plaintext.mjs.map +1 -0
- package/dist/plugin.d.mts +17 -0
- package/dist/plugin.d.mts.map +1 -0
- package/dist/plugin.mjs +41 -0
- package/dist/plugin.mjs.map +1 -0
- package/dist/plugins/postcss/mergeMediaQueries.d.mts +18 -0
- package/dist/plugins/postcss/mergeMediaQueries.d.mts.map +1 -0
- package/dist/plugins/postcss/mergeMediaQueries.mjs +22 -0
- package/dist/plugins/postcss/mergeMediaQueries.mjs.map +1 -0
- package/dist/plugins/postcss/pruneVars.d.mts +8 -0
- package/dist/plugins/postcss/pruneVars.d.mts.map +1 -0
- package/dist/plugins/postcss/pruneVars.mjs +49 -0
- package/dist/plugins/postcss/pruneVars.mjs.map +1 -0
- package/dist/plugins/postcss/removeDeclarations.d.mts +12 -0
- package/dist/plugins/postcss/removeDeclarations.d.mts.map +1 -0
- package/dist/plugins/postcss/removeDeclarations.mjs +45 -0
- package/dist/plugins/postcss/removeDeclarations.mjs.map +1 -0
- package/dist/plugins/postcss/tailwindCleanup.d.mts +18 -0
- package/dist/plugins/postcss/tailwindCleanup.d.mts.map +1 -0
- package/dist/plugins/postcss/tailwindCleanup.mjs +35 -0
- package/dist/plugins/postcss/tailwindCleanup.mjs.map +1 -0
- package/dist/render/createRenderer.d.mts +36 -0
- package/dist/render/createRenderer.d.mts.map +1 -0
- package/dist/render/createRenderer.mjs +150 -0
- package/dist/render/createRenderer.mjs.map +1 -0
- package/dist/render/index.d.mts +26 -0
- package/dist/render/index.d.mts.map +1 -0
- package/dist/render/index.mjs +43 -0
- package/dist/render/index.mjs.map +1 -0
- package/dist/serve.d.mts +25 -0
- package/dist/serve.d.mts.map +1 -0
- package/dist/serve.mjs +404 -0
- package/dist/serve.mjs.map +1 -0
- package/dist/server/compatibility.d.mts +6 -0
- package/dist/server/compatibility.d.mts.map +1 -0
- package/dist/server/compatibility.mjs +83 -0
- package/dist/server/compatibility.mjs.map +1 -0
- package/dist/server/linter.d.mts +6 -0
- package/dist/server/linter.d.mts.map +1 -0
- package/dist/server/linter.mjs +200 -0
- package/dist/server/linter.mjs.map +1 -0
- package/dist/server/ui/App.vue +360 -0
- package/dist/server/ui/components/ui/button/Button.vue +31 -0
- package/dist/server/ui/components/ui/button/index.ts +38 -0
- package/dist/server/ui/components/ui/command/Command.vue +87 -0
- package/dist/server/ui/components/ui/command/CommandDialog.vue +31 -0
- package/dist/server/ui/components/ui/command/CommandEmpty.vue +27 -0
- package/dist/server/ui/components/ui/command/CommandGroup.vue +45 -0
- package/dist/server/ui/components/ui/command/CommandInput.vue +39 -0
- package/dist/server/ui/components/ui/command/CommandItem.vue +76 -0
- package/dist/server/ui/components/ui/command/CommandList.vue +25 -0
- package/dist/server/ui/components/ui/command/CommandSeparator.vue +21 -0
- package/dist/server/ui/components/ui/command/CommandShortcut.vue +17 -0
- package/dist/server/ui/components/ui/command/index.ts +25 -0
- package/dist/server/ui/components/ui/dialog/Dialog.vue +19 -0
- package/dist/server/ui/components/ui/dialog/DialogClose.vue +15 -0
- package/dist/server/ui/components/ui/dialog/DialogContent.vue +53 -0
- package/dist/server/ui/components/ui/dialog/DialogDescription.vue +23 -0
- package/dist/server/ui/components/ui/dialog/DialogFooter.vue +27 -0
- package/dist/server/ui/components/ui/dialog/DialogHeader.vue +17 -0
- package/dist/server/ui/components/ui/dialog/DialogOverlay.vue +21 -0
- package/dist/server/ui/components/ui/dialog/DialogScrollContent.vue +59 -0
- package/dist/server/ui/components/ui/dialog/DialogTitle.vue +23 -0
- package/dist/server/ui/components/ui/dialog/DialogTrigger.vue +15 -0
- package/dist/server/ui/components/ui/dialog/index.ts +10 -0
- package/dist/server/ui/components/ui/dropdown-menu/DropdownMenu.vue +19 -0
- package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -0
- package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuContent.vue +39 -0
- package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuGroup.vue +15 -0
- package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuItem.vue +31 -0
- package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuLabel.vue +23 -0
- package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -0
- package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -0
- package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -0
- package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -0
- package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuSub.vue +18 -0
- package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -0
- package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
- package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -0
- package/dist/server/ui/components/ui/dropdown-menu/index.ts +16 -0
- package/dist/server/ui/components/ui/empty/Empty.vue +20 -0
- package/dist/server/ui/components/ui/empty/EmptyContent.vue +20 -0
- package/dist/server/ui/components/ui/empty/EmptyDescription.vue +20 -0
- package/dist/server/ui/components/ui/empty/EmptyHeader.vue +20 -0
- package/dist/server/ui/components/ui/empty/EmptyMedia.vue +21 -0
- package/dist/server/ui/components/ui/empty/EmptyTitle.vue +17 -0
- package/dist/server/ui/components/ui/empty/index.ts +26 -0
- package/dist/server/ui/components/ui/input/Input.vue +33 -0
- package/dist/server/ui/components/ui/input/index.ts +1 -0
- package/dist/server/ui/components/ui/kbd/Kbd.vue +20 -0
- package/dist/server/ui/components/ui/kbd/KbdGroup.vue +17 -0
- package/dist/server/ui/components/ui/kbd/index.ts +2 -0
- package/dist/server/ui/components/ui/resizable/ResizableHandle.vue +30 -0
- package/dist/server/ui/components/ui/resizable/ResizablePanel.vue +21 -0
- package/dist/server/ui/components/ui/resizable/ResizablePanelGroup.vue +25 -0
- package/dist/server/ui/components/ui/resizable/index.ts +3 -0
- package/dist/server/ui/components/ui/scroll-area/ScrollArea.vue +33 -0
- package/dist/server/ui/components/ui/scroll-area/ScrollBar.vue +32 -0
- package/dist/server/ui/components/ui/scroll-area/index.ts +2 -0
- package/dist/server/ui/components/ui/separator/Separator.vue +29 -0
- package/dist/server/ui/components/ui/separator/index.ts +1 -0
- package/dist/server/ui/components/ui/sheet/Sheet.vue +19 -0
- package/dist/server/ui/components/ui/sheet/SheetClose.vue +15 -0
- package/dist/server/ui/components/ui/sheet/SheetContent.vue +62 -0
- package/dist/server/ui/components/ui/sheet/SheetDescription.vue +21 -0
- package/dist/server/ui/components/ui/sheet/SheetFooter.vue +16 -0
- package/dist/server/ui/components/ui/sheet/SheetHeader.vue +15 -0
- package/dist/server/ui/components/ui/sheet/SheetOverlay.vue +21 -0
- package/dist/server/ui/components/ui/sheet/SheetTitle.vue +21 -0
- package/dist/server/ui/components/ui/sheet/SheetTrigger.vue +15 -0
- package/dist/server/ui/components/ui/sheet/index.ts +8 -0
- package/dist/server/ui/components/ui/sidebar/Sidebar.vue +96 -0
- package/dist/server/ui/components/ui/sidebar/SidebarContent.vue +18 -0
- package/dist/server/ui/components/ui/sidebar/SidebarFooter.vue +18 -0
- package/dist/server/ui/components/ui/sidebar/SidebarGroup.vue +18 -0
- package/dist/server/ui/components/ui/sidebar/SidebarGroupAction.vue +27 -0
- package/dist/server/ui/components/ui/sidebar/SidebarGroupContent.vue +18 -0
- package/dist/server/ui/components/ui/sidebar/SidebarGroupLabel.vue +25 -0
- package/dist/server/ui/components/ui/sidebar/SidebarHeader.vue +18 -0
- package/dist/server/ui/components/ui/sidebar/SidebarInput.vue +31 -0
- package/dist/server/ui/components/ui/sidebar/SidebarInset.vue +21 -0
- package/dist/server/ui/components/ui/sidebar/SidebarMenu.vue +18 -0
- package/dist/server/ui/components/ui/sidebar/SidebarMenuAction.vue +35 -0
- package/dist/server/ui/components/ui/sidebar/SidebarMenuBadge.vue +26 -0
- package/dist/server/ui/components/ui/sidebar/SidebarMenuButton.vue +48 -0
- package/dist/server/ui/components/ui/sidebar/SidebarMenuButtonChild.vue +36 -0
- package/dist/server/ui/components/ui/sidebar/SidebarMenuItem.vue +18 -0
- package/dist/server/ui/components/ui/sidebar/SidebarMenuSkeleton.vue +35 -0
- package/dist/server/ui/components/ui/sidebar/SidebarMenuSub.vue +22 -0
- package/dist/server/ui/components/ui/sidebar/SidebarMenuSubButton.vue +36 -0
- package/dist/server/ui/components/ui/sidebar/SidebarMenuSubItem.vue +18 -0
- package/dist/server/ui/components/ui/sidebar/SidebarProvider.vue +82 -0
- package/dist/server/ui/components/ui/sidebar/SidebarRail.vue +33 -0
- package/dist/server/ui/components/ui/sidebar/SidebarSeparator.vue +19 -0
- package/dist/server/ui/components/ui/sidebar/SidebarTrigger.vue +28 -0
- package/dist/server/ui/components/ui/sidebar/index.ts +60 -0
- package/dist/server/ui/components/ui/sidebar/utils.ts +19 -0
- package/dist/server/ui/components/ui/skeleton/Skeleton.vue +17 -0
- package/dist/server/ui/components/ui/skeleton/index.ts +1 -0
- package/dist/server/ui/components/ui/tabs/Tabs.vue +24 -0
- package/dist/server/ui/components/ui/tabs/TabsContent.vue +21 -0
- package/dist/server/ui/components/ui/tabs/TabsList.vue +24 -0
- package/dist/server/ui/components/ui/tabs/TabsTrigger.vue +26 -0
- package/dist/server/ui/components/ui/tabs/index.ts +4 -0
- package/dist/server/ui/components/ui/toggle/Toggle.vue +35 -0
- package/dist/server/ui/components/ui/toggle/index.ts +28 -0
- package/dist/server/ui/components/ui/toggle-group/ToggleGroup.vue +49 -0
- package/dist/server/ui/components/ui/toggle-group/ToggleGroupItem.vue +46 -0
- package/dist/server/ui/components/ui/toggle-group/index.ts +2 -0
- package/dist/server/ui/components/ui/tooltip/Tooltip.vue +19 -0
- package/dist/server/ui/components/ui/tooltip/TooltipContent.vue +34 -0
- package/dist/server/ui/components/ui/tooltip/TooltipProvider.vue +14 -0
- package/dist/server/ui/components/ui/tooltip/TooltipTrigger.vue +15 -0
- package/dist/server/ui/components/ui/tooltip/index.ts +4 -0
- package/dist/server/ui/favicon.svg +1 -0
- package/dist/server/ui/index.html +13 -0
- package/dist/server/ui/lib/utils.ts +7 -0
- package/dist/server/ui/logo-gradient.svg +1 -0
- package/dist/server/ui/logo.svg +1 -0
- package/dist/server/ui/main.css +129 -0
- package/dist/server/ui/main.ts +16 -0
- package/dist/server/ui/mark-gradient.svg +1 -0
- package/dist/server/ui/mark.svg +1 -0
- package/dist/server/ui/pages/Home.vue +39 -0
- package/dist/server/ui/pages/Preview.vue +609 -0
- package/dist/server/ui/stripes.svg +174 -0
- package/dist/transformers/addAttributes.d.mts +32 -0
- package/dist/transformers/addAttributes.d.mts.map +1 -0
- package/dist/transformers/addAttributes.mjs +101 -0
- package/dist/transformers/addAttributes.mjs.map +1 -0
- package/dist/transformers/attributeToStyle.d.mts +25 -0
- package/dist/transformers/attributeToStyle.d.mts.map +1 -0
- package/dist/transformers/attributeToStyle.mjs +80 -0
- package/dist/transformers/attributeToStyle.mjs.map +1 -0
- package/dist/transformers/base.d.mts +8 -0
- package/dist/transformers/base.d.mts.map +1 -0
- package/dist/transformers/base.mjs +160 -0
- package/dist/transformers/base.mjs.map +1 -0
- package/dist/transformers/entities.d.mts +8 -0
- package/dist/transformers/entities.d.mts.map +1 -0
- package/dist/transformers/entities.mjs +38 -0
- package/dist/transformers/entities.mjs.map +1 -0
- package/dist/transformers/format.d.mts +15 -0
- package/dist/transformers/format.d.mts.map +1 -0
- package/dist/transformers/format.mjs +26 -0
- package/dist/transformers/format.mjs.map +1 -0
- package/dist/transformers/index.d.mts +35 -0
- package/dist/transformers/index.d.mts.map +1 -0
- package/dist/transformers/index.mjs +73 -0
- package/dist/transformers/index.mjs.map +1 -0
- package/dist/transformers/inlineCSS.d.mts +30 -0
- package/dist/transformers/inlineCSS.d.mts.map +1 -0
- package/dist/transformers/inlineCSS.mjs +79 -0
- package/dist/transformers/inlineCSS.mjs.map +1 -0
- package/dist/transformers/inlineLink.d.mts +14 -0
- package/dist/transformers/inlineLink.d.mts.map +1 -0
- package/dist/transformers/inlineLink.mjs +76 -0
- package/dist/transformers/inlineLink.mjs.map +1 -0
- package/dist/transformers/minify.d.mts +17 -0
- package/dist/transformers/minify.d.mts.map +1 -0
- package/dist/transformers/minify.mjs +24 -0
- package/dist/transformers/minify.mjs.map +1 -0
- package/dist/transformers/purgeCSS.d.mts +23 -0
- package/dist/transformers/purgeCSS.d.mts.map +1 -0
- package/dist/transformers/purgeCSS.mjs +66 -0
- package/dist/transformers/purgeCSS.mjs.map +1 -0
- package/dist/transformers/removeAttributes.d.mts +31 -0
- package/dist/transformers/removeAttributes.d.mts.map +1 -0
- package/dist/transformers/removeAttributes.mjs +63 -0
- package/dist/transformers/removeAttributes.mjs.map +1 -0
- package/dist/transformers/replaceStrings.d.mts +16 -0
- package/dist/transformers/replaceStrings.d.mts.map +1 -0
- package/dist/transformers/replaceStrings.mjs +19 -0
- package/dist/transformers/replaceStrings.mjs.map +1 -0
- package/dist/transformers/safeClassNames.d.mts +22 -0
- package/dist/transformers/safeClassNames.d.mts.map +1 -0
- package/dist/transformers/safeClassNames.mjs +103 -0
- package/dist/transformers/safeClassNames.mjs.map +1 -0
- package/dist/transformers/shorthandCSS.d.mts +24 -0
- package/dist/transformers/shorthandCSS.d.mts.map +1 -0
- package/dist/transformers/shorthandCSS.mjs +48 -0
- package/dist/transformers/shorthandCSS.mjs.map +1 -0
- package/dist/transformers/tailwindcss.d.mts +20 -0
- package/dist/transformers/tailwindcss.d.mts.map +1 -0
- package/dist/transformers/tailwindcss.mjs +136 -0
- package/dist/transformers/tailwindcss.mjs.map +1 -0
- package/dist/transformers/urlQuery.d.mts +24 -0
- package/dist/transformers/urlQuery.d.mts.map +1 -0
- package/dist/transformers/urlQuery.mjs +65 -0
- package/dist/transformers/urlQuery.mjs.map +1 -0
- package/dist/types/config.d.mts +146 -0
- package/dist/types/config.d.mts.map +1 -0
- package/dist/types/config.mjs +1 -0
- package/dist/types/index.d.mts +2 -0
- package/dist/types/index.mjs +1 -0
- package/dist/utils/ast/index.d.mts +4 -0
- package/dist/utils/ast/index.mjs +5 -0
- package/dist/utils/ast/parser.d.mts +7 -0
- package/dist/utils/ast/parser.d.mts.map +1 -0
- package/dist/utils/ast/parser.mjs +15 -0
- package/dist/utils/ast/parser.mjs.map +1 -0
- package/dist/utils/ast/serializer.d.mts +7 -0
- package/dist/utils/ast/serializer.d.mts.map +1 -0
- package/dist/utils/ast/serializer.mjs +13 -0
- package/dist/utils/ast/serializer.mjs.map +1 -0
- package/dist/utils/ast/walker.d.mts +7 -0
- package/dist/utils/ast/walker.d.mts.map +1 -0
- package/dist/utils/ast/walker.mjs +12 -0
- package/dist/utils/ast/walker.mjs.map +1 -0
- package/dist/utils/url.d.mts +8 -0
- package/dist/utils/url.d.mts.map +1 -0
- package/dist/utils/url.mjs +32 -0
- package/dist/utils/url.mjs.map +1 -0
- package/node_modules/@clack/core/CHANGELOG.md +257 -0
- package/node_modules/@clack/core/LICENSE +9 -0
- package/node_modules/@clack/core/README.md +22 -0
- package/node_modules/@clack/core/dist/index.cjs +15 -0
- package/node_modules/@clack/core/dist/index.cjs.map +1 -0
- package/node_modules/@clack/core/dist/index.d.cts +211 -0
- package/node_modules/@clack/core/dist/index.d.mts +211 -0
- package/node_modules/@clack/core/dist/index.d.ts +211 -0
- package/node_modules/@clack/core/dist/index.mjs +15 -0
- package/node_modules/@clack/core/dist/index.mjs.map +1 -0
- package/node_modules/@clack/core/package.json +62 -0
- package/node_modules/@clack/prompts/CHANGELOG.md +412 -0
- package/node_modules/@clack/prompts/LICENSE +9 -0
- package/node_modules/@clack/prompts/README.md +207 -0
- package/node_modules/@clack/prompts/dist/index.cjs +87 -0
- package/node_modules/@clack/prompts/dist/index.cjs.map +1 -0
- package/node_modules/@clack/prompts/dist/index.d.cts +165 -0
- package/node_modules/@clack/prompts/dist/index.d.mts +165 -0
- package/node_modules/@clack/prompts/dist/index.d.ts +165 -0
- package/node_modules/@clack/prompts/dist/index.mjs +87 -0
- package/node_modules/@clack/prompts/dist/index.mjs.map +1 -0
- package/node_modules/@clack/prompts/package.json +61 -0
- package/node_modules/@maizzle/cli/LICENSE +21 -0
- package/node_modules/@maizzle/cli/README.md +58 -0
- package/node_modules/@maizzle/cli/dist/commands/make/component.d.mts +4 -0
- package/node_modules/@maizzle/cli/dist/commands/make/component.mjs +31 -0
- package/node_modules/@maizzle/cli/dist/commands/make/config.d.mts +4 -0
- package/node_modules/@maizzle/cli/dist/commands/make/config.mjs +21 -0
- package/node_modules/@maizzle/cli/dist/commands/make/layout.d.mts +4 -0
- package/node_modules/@maizzle/cli/dist/commands/make/layout.mjs +31 -0
- package/node_modules/@maizzle/cli/dist/commands/make/scaffold.d.mts +5 -0
- package/node_modules/@maizzle/cli/dist/commands/make/scaffold.mjs +28 -0
- package/node_modules/@maizzle/cli/dist/commands/make/stubs/component.vue +9 -0
- package/node_modules/@maizzle/cli/dist/commands/make/stubs/config.ts +9 -0
- package/node_modules/@maizzle/cli/dist/commands/make/stubs/layout.vue +39 -0
- package/node_modules/@maizzle/cli/dist/commands/make/stubs/template.vue +8 -0
- package/node_modules/@maizzle/cli/dist/commands/make/template.d.mts +4 -0
- package/node_modules/@maizzle/cli/dist/commands/make/template.mjs +31 -0
- package/node_modules/@maizzle/cli/dist/index.d.mts +8 -0
- package/node_modules/@maizzle/cli/dist/index.mjs +42 -0
- package/node_modules/@maizzle/cli/package.json +59 -0
- package/node_modules/citty/LICENSE +36 -0
- package/node_modules/citty/README.md +134 -0
- package/node_modules/citty/dist/index.cjs +475 -0
- package/node_modules/citty/dist/index.d.cts +80 -0
- package/node_modules/citty/dist/index.d.mts +80 -0
- package/node_modules/citty/dist/index.d.ts +80 -0
- package/node_modules/citty/dist/index.mjs +463 -0
- package/node_modules/citty/package.json +49 -0
- package/node_modules/commander/LICENSE +22 -0
- package/node_modules/commander/Readme.md +1149 -0
- package/node_modules/commander/esm.mjs +16 -0
- package/node_modules/commander/index.js +24 -0
- package/node_modules/commander/lib/argument.js +149 -0
- package/node_modules/commander/lib/command.js +2662 -0
- package/node_modules/commander/lib/error.js +39 -0
- package/node_modules/commander/lib/help.js +709 -0
- package/node_modules/commander/lib/option.js +367 -0
- package/node_modules/commander/lib/suggestSimilar.js +101 -0
- package/node_modules/commander/package-support.json +16 -0
- package/node_modules/commander/package.json +82 -0
- package/node_modules/commander/typings/esm.d.mts +3 -0
- package/node_modules/commander/typings/index.d.ts +1045 -0
- package/node_modules/consola/LICENSE +47 -0
- package/node_modules/consola/README.md +352 -0
- package/node_modules/consola/basic.d.ts +1 -0
- package/node_modules/consola/browser.d.ts +1 -0
- package/node_modules/consola/core.d.ts +1 -0
- package/node_modules/consola/dist/basic.cjs +32 -0
- package/node_modules/consola/dist/basic.d.cts +23 -0
- package/node_modules/consola/dist/basic.d.mts +21 -0
- package/node_modules/consola/dist/basic.d.ts +23 -0
- package/node_modules/consola/dist/basic.mjs +24 -0
- package/node_modules/consola/dist/browser.cjs +84 -0
- package/node_modules/consola/dist/browser.d.cts +23 -0
- package/node_modules/consola/dist/browser.d.mts +21 -0
- package/node_modules/consola/dist/browser.d.ts +23 -0
- package/node_modules/consola/dist/browser.mjs +76 -0
- package/node_modules/consola/dist/chunks/prompt.cjs +288 -0
- package/node_modules/consola/dist/chunks/prompt.mjs +280 -0
- package/node_modules/consola/dist/core.cjs +517 -0
- package/node_modules/consola/dist/core.d.cts +459 -0
- package/node_modules/consola/dist/core.d.mts +459 -0
- package/node_modules/consola/dist/core.d.ts +459 -0
- package/node_modules/consola/dist/core.mjs +512 -0
- package/node_modules/consola/dist/index.cjs +663 -0
- package/node_modules/consola/dist/index.d.cts +24 -0
- package/node_modules/consola/dist/index.d.mts +22 -0
- package/node_modules/consola/dist/index.d.ts +24 -0
- package/node_modules/consola/dist/index.mjs +651 -0
- package/node_modules/consola/dist/shared/consola.DCGIlDNP.cjs +75 -0
- package/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs +72 -0
- package/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs +288 -0
- package/node_modules/consola/dist/shared/consola.DwRq1yyg.cjs +312 -0
- package/node_modules/consola/dist/utils.cjs +64 -0
- package/node_modules/consola/dist/utils.d.cts +286 -0
- package/node_modules/consola/dist/utils.d.mts +286 -0
- package/node_modules/consola/dist/utils.d.ts +286 -0
- package/node_modules/consola/dist/utils.mjs +54 -0
- package/node_modules/consola/lib/index.cjs +10 -0
- package/node_modules/consola/package.json +136 -0
- package/node_modules/consola/utils.d.ts +1 -0
- package/node_modules/create-maizzle/README.md +86 -0
- package/node_modules/create-maizzle/bin/create-maizzle.mjs +4 -0
- package/node_modules/create-maizzle/node_modules/@clack/core/CHANGELOG.md +340 -0
- package/node_modules/create-maizzle/node_modules/@clack/core/LICENSE +9 -0
- package/node_modules/create-maizzle/node_modules/@clack/core/README.md +22 -0
- package/node_modules/create-maizzle/node_modules/@clack/core/dist/index.d.mts +349 -0
- package/node_modules/create-maizzle/node_modules/@clack/core/dist/index.mjs +11 -0
- package/node_modules/create-maizzle/node_modules/@clack/core/dist/index.mjs.map +1 -0
- package/node_modules/create-maizzle/node_modules/@clack/core/package.json +60 -0
- package/node_modules/create-maizzle/node_modules/@clack/prompts/CHANGELOG.md +576 -0
- package/node_modules/create-maizzle/node_modules/@clack/prompts/LICENSE +9 -0
- package/node_modules/create-maizzle/node_modules/@clack/prompts/README.md +270 -0
- package/node_modules/create-maizzle/node_modules/@clack/prompts/dist/index.d.mts +391 -0
- package/node_modules/create-maizzle/node_modules/@clack/prompts/dist/index.mjs +137 -0
- package/node_modules/create-maizzle/node_modules/@clack/prompts/dist/index.mjs.map +1 -0
- package/node_modules/create-maizzle/node_modules/@clack/prompts/package.json +65 -0
- package/node_modules/create-maizzle/package.json +47 -0
- package/node_modules/create-maizzle/src/index.js +242 -0
- package/node_modules/defu/LICENSE +21 -0
- package/node_modules/defu/README.md +171 -0
- package/node_modules/defu/dist/defu.cjs +77 -0
- package/node_modules/defu/dist/defu.d.cts +31 -0
- package/node_modules/defu/dist/defu.d.mts +29 -0
- package/node_modules/defu/dist/defu.d.ts +31 -0
- package/node_modules/defu/dist/defu.mjs +69 -0
- package/node_modules/defu/lib/defu.cjs +10 -0
- package/node_modules/defu/lib/defu.d.cts +12 -0
- package/node_modules/defu/package.json +48 -0
- package/node_modules/fast-string-truncated-width/dist/index.d.ts +4 -0
- package/node_modules/fast-string-truncated-width/dist/index.js +171 -0
- package/node_modules/fast-string-truncated-width/dist/types.d.ts +22 -0
- package/node_modules/fast-string-truncated-width/dist/types.js +2 -0
- package/node_modules/fast-string-truncated-width/dist/utils.d.ts +4 -0
- package/node_modules/fast-string-truncated-width/dist/utils.js +15 -0
- package/node_modules/fast-string-truncated-width/license +21 -0
- package/node_modules/fast-string-truncated-width/package.json +35 -0
- package/node_modules/fast-string-truncated-width/readme.md +60 -0
- package/node_modules/fast-string-width/dist/index.d.ts +4 -0
- package/node_modules/fast-string-width/dist/index.js +14 -0
- package/node_modules/fast-string-width/license +21 -0
- package/node_modules/fast-string-width/package.json +34 -0
- package/node_modules/fast-string-width/readme.md +45 -0
- package/node_modules/fast-wrap-ansi/LICENSE +23 -0
- package/node_modules/fast-wrap-ansi/README.md +26 -0
- package/node_modules/fast-wrap-ansi/lib/main.d.ts +6 -0
- package/node_modules/fast-wrap-ansi/lib/main.js +216 -0
- package/node_modules/fast-wrap-ansi/lib/main.js.map +1 -0
- package/node_modules/fast-wrap-ansi/package.json +51 -0
- package/node_modules/giget/LICENSE +184 -0
- package/node_modules/giget/README.md +248 -0
- package/node_modules/giget/dist/cli.mjs +112 -0
- package/node_modules/giget/dist/index.d.mts +49 -0
- package/node_modules/giget/dist/index.mjs +22 -0
- package/node_modules/giget/dist/shared/giget.OCaTp9b-.mjs +468 -0
- package/node_modules/giget/package.json +62 -0
- package/node_modules/node-fetch-native/LICENSE +114 -0
- package/node_modules/node-fetch-native/README.md +225 -0
- package/node_modules/node-fetch-native/dist/chunks/multipart-parser.cjs +2 -0
- package/node_modules/node-fetch-native/dist/chunks/multipart-parser.mjs +2 -0
- package/node_modules/node-fetch-native/dist/index.cjs +1 -0
- package/node_modules/node-fetch-native/dist/index.mjs +1 -0
- package/node_modules/node-fetch-native/dist/native.cjs +1 -0
- package/node_modules/node-fetch-native/dist/native.mjs +1 -0
- package/node_modules/node-fetch-native/dist/node.cjs +19 -0
- package/node_modules/node-fetch-native/dist/node.mjs +19 -0
- package/node_modules/node-fetch-native/dist/polyfill.cjs +1 -0
- package/node_modules/node-fetch-native/dist/polyfill.mjs +1 -0
- package/node_modules/node-fetch-native/dist/proxy-stub.cjs +1 -0
- package/node_modules/node-fetch-native/dist/proxy-stub.mjs +1 -0
- package/node_modules/node-fetch-native/dist/proxy.cjs +58 -0
- package/node_modules/node-fetch-native/dist/shared/node-fetch-native.DfbY2q-x.mjs +1 -0
- package/node_modules/node-fetch-native/dist/shared/node-fetch-native.DhEqb06g.cjs +1 -0
- package/node_modules/node-fetch-native/index.d.ts +1 -0
- package/node_modules/node-fetch-native/lib/empty.cjs +0 -0
- package/node_modules/node-fetch-native/lib/empty.mjs +0 -0
- package/node_modules/node-fetch-native/lib/index.cjs +11 -0
- package/node_modules/node-fetch-native/lib/index.d.cts +10 -0
- package/node_modules/node-fetch-native/lib/index.d.mts +10 -0
- package/node_modules/node-fetch-native/lib/index.d.ts +10 -0
- package/node_modules/node-fetch-native/lib/native.cjs +11 -0
- package/node_modules/node-fetch-native/lib/polyfill.d.cts +1 -0
- package/node_modules/node-fetch-native/lib/polyfill.d.mts +1 -0
- package/node_modules/node-fetch-native/lib/polyfill.d.ts +1 -0
- package/node_modules/node-fetch-native/lib/proxy.d.ts +32 -0
- package/node_modules/node-fetch-native/node.d.ts +1 -0
- package/node_modules/node-fetch-native/package.json +138 -0
- package/node_modules/node-fetch-native/polyfill.d.ts +1 -0
- package/node_modules/node-fetch-native/proxy.d.ts +1 -0
- package/node_modules/nypm/LICENSE +21 -0
- package/node_modules/nypm/README.md +152 -0
- package/node_modules/nypm/dist/cli.d.mts +1 -0
- package/node_modules/nypm/dist/cli.mjs +460 -0
- package/node_modules/nypm/dist/index.d.mts +209 -0
- package/node_modules/nypm/dist/index.mjs +423 -0
- package/node_modules/nypm/node_modules/citty/LICENSE +21 -0
- package/node_modules/nypm/node_modules/citty/README.md +231 -0
- package/node_modules/nypm/node_modules/citty/dist/THIRD-PARTY-LICENSES.md +33 -0
- package/node_modules/nypm/node_modules/citty/dist/_chunks/libs/scule.mjs +70 -0
- package/node_modules/nypm/node_modules/citty/dist/index.d.mts +112 -0
- package/node_modules/nypm/node_modules/citty/dist/index.mjs +425 -0
- package/node_modules/nypm/node_modules/citty/package.json +42 -0
- package/node_modules/nypm/package.json +54 -0
- package/node_modules/pathe/LICENSE +70 -0
- package/node_modules/pathe/README.md +73 -0
- package/node_modules/pathe/dist/index.cjs +39 -0
- package/node_modules/pathe/dist/index.d.cts +47 -0
- package/node_modules/pathe/dist/index.d.mts +47 -0
- package/node_modules/pathe/dist/index.d.ts +47 -0
- package/node_modules/pathe/dist/index.mjs +19 -0
- package/node_modules/pathe/dist/shared/pathe.BSlhyZSM.cjs +266 -0
- package/node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs +249 -0
- package/node_modules/pathe/dist/utils.cjs +82 -0
- package/node_modules/pathe/dist/utils.d.cts +32 -0
- package/node_modules/pathe/dist/utils.d.mts +32 -0
- package/node_modules/pathe/dist/utils.d.ts +32 -0
- package/node_modules/pathe/dist/utils.mjs +77 -0
- package/node_modules/pathe/package.json +61 -0
- package/node_modules/pathe/utils.d.ts +1 -0
- package/node_modules/picocolors/LICENSE +15 -0
- package/node_modules/picocolors/README.md +21 -0
- package/node_modules/picocolors/package.json +25 -0
- package/node_modules/picocolors/picocolors.browser.js +4 -0
- package/node_modules/picocolors/picocolors.d.ts +5 -0
- package/node_modules/picocolors/picocolors.js +75 -0
- package/node_modules/picocolors/types.d.ts +51 -0
- package/node_modules/sisteransi/license +21 -0
- package/node_modules/sisteransi/package.json +34 -0
- package/node_modules/sisteransi/readme.md +113 -0
- package/node_modules/sisteransi/src/index.js +58 -0
- package/node_modules/sisteransi/src/sisteransi.d.ts +35 -0
- package/node_modules/tinyexec/LICENSE +21 -0
- package/node_modules/tinyexec/README.md +269 -0
- package/node_modules/tinyexec/dist/LICENSES.txt +83 -0
- package/node_modules/tinyexec/dist/main.d.mts +71 -0
- package/node_modules/tinyexec/dist/main.mjs +642 -0
- package/node_modules/tinyexec/package.json +62 -0
- package/package.json +74 -73
- package/CHANGELOG.md +0 -770
- package/bin/maizzle +0 -5
- package/src/commands/build.js +0 -348
- package/src/commands/serve.js +0 -3
- package/src/generators/plaintext.js +0 -222
- package/src/generators/render.js +0 -129
- package/src/index.js +0 -49
- package/src/posthtml/defaultComponentsConfig.js +0 -19
- package/src/posthtml/defaultConfig.js +0 -14
- package/src/posthtml/index.js +0 -102
- package/src/posthtml/plugins/combineMediaQueries.js +0 -42
- package/src/posthtml/plugins/envAttributes.js +0 -32
- package/src/posthtml/plugins/envTags.js +0 -33
- package/src/posthtml/plugins/expandLinkTag.js +0 -59
- package/src/posthtml/plugins/postcss/compileCss.js +0 -125
- package/src/posthtml/plugins/removeRawStyleAttributes.js +0 -30
- package/src/server/client.js +0 -182
- package/src/server/index.js +0 -464
- package/src/server/routes/hmr.js +0 -26
- package/src/server/routes/index.js +0 -77
- package/src/server/views/404.html +0 -59
- package/src/server/views/error.html +0 -83
- package/src/server/views/index.html +0 -172
- package/src/server/websockets.js +0 -27
- package/src/transformers/addAttributes.js +0 -29
- package/src/transformers/attributeToStyle.js +0 -90
- package/src/transformers/baseUrl.js +0 -154
- package/src/transformers/core.js +0 -32
- package/src/transformers/filters/defaultFilters.js +0 -146
- package/src/transformers/filters/index.js +0 -18
- package/src/transformers/index.js +0 -259
- package/src/transformers/inline.js +0 -306
- package/src/transformers/markdown.js +0 -26
- package/src/transformers/minify.js +0 -27
- package/src/transformers/posthtmlMso.js +0 -14
- package/src/transformers/prettify.js +0 -29
- package/src/transformers/preventWidows.js +0 -37
- package/src/transformers/purge.js +0 -56
- package/src/transformers/removeAttributes.js +0 -55
- package/src/transformers/replaceStrings.js +0 -37
- package/src/transformers/safeClassNames.js +0 -29
- package/src/transformers/shorthandCss.js +0 -20
- package/src/transformers/sixHex.js +0 -30
- package/src/transformers/template.js +0 -26
- package/src/transformers/urlParameters.js +0 -20
- package/src/transformers/useAttributeSizes.js +0 -63
- package/src/utils/getConfigByFilePath.js +0 -143
- package/src/utils/node.js +0 -68
- package/src/utils/string.js +0 -186
- package/types/build.d.ts +0 -166
- package/types/config.d.ts +0 -638
- package/types/css/combineMediaQueries.d.ts +0 -90
- package/types/css/inline.d.ts +0 -218
- package/types/css/purge.d.ts +0 -125
- package/types/events.d.ts +0 -153
- package/types/index.d.ts +0 -232
- package/types/markdown.d.ts +0 -33
- package/types/minify.d.ts +0 -138
- package/types/plaintext.d.ts +0 -56
- package/types/posthtml.d.ts +0 -162
- package/types/render.d.ts +0 -13
- package/types/urlParameters.d.ts +0 -40
- package/types/widowWords.d.ts +0 -38
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { defaults } from "./defaults.mjs";
|
|
2
|
+
import { defineConfig } from "../composables/defineConfig.mjs";
|
|
3
|
+
import { existsSync } from "node:fs";
|
|
4
|
+
import { resolve } from "node:path";
|
|
5
|
+
import { createJiti } from "jiti";
|
|
6
|
+
import { fileURLToPath } from "node:url";
|
|
7
|
+
import { createDefu } from "defu";
|
|
8
|
+
|
|
9
|
+
//#region src/config/index.ts
|
|
10
|
+
const merge = createDefu((obj, key, value) => {
|
|
11
|
+
if (Array.isArray(obj[key])) {
|
|
12
|
+
obj[key] = value;
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
const CONFIG_FILES = ["maizzle.config.ts", "maizzle.config.js"];
|
|
17
|
+
/**
|
|
18
|
+
* Resolve the Maizzle config.
|
|
19
|
+
*
|
|
20
|
+
* Always loads from the config file on disk (maizzle.config.{ts,js}),
|
|
21
|
+
* then merges the programmatic config on top, then fills in defaults.
|
|
22
|
+
*/
|
|
23
|
+
async function resolveConfig(config, cwd = process.cwd()) {
|
|
24
|
+
const fileConfig = await loadConfig(typeof config === "string" ? config : void 0, cwd);
|
|
25
|
+
const programmaticConfig = typeof config === "object" && config !== null ? config : {};
|
|
26
|
+
const merged = merge(programmaticConfig, fileConfig, defaults);
|
|
27
|
+
const hasExplicitRoot = !!(programmaticConfig.root ?? fileConfig.root);
|
|
28
|
+
const root = resolve(cwd, merged.root ?? ".");
|
|
29
|
+
merged.root = root;
|
|
30
|
+
if (merged.content) merged.content = merged.content.map((p) => {
|
|
31
|
+
if (p.startsWith("/") || p.startsWith("!")) return p;
|
|
32
|
+
return resolve(root, p).replace(/\\/g, "/");
|
|
33
|
+
});
|
|
34
|
+
if (merged.static?.source) merged.static.source = merged.static.source.map((p) => {
|
|
35
|
+
if (p.startsWith("/") || p.startsWith("!")) return p;
|
|
36
|
+
return resolve(root, p).replace(/\\/g, "/");
|
|
37
|
+
});
|
|
38
|
+
if (hasExplicitRoot && !merged.css?.base) {
|
|
39
|
+
if (!merged.css) merged.css = {};
|
|
40
|
+
merged.css.base = root;
|
|
41
|
+
}
|
|
42
|
+
return merged;
|
|
43
|
+
}
|
|
44
|
+
async function loadConfig(configPath, cwd = process.cwd()) {
|
|
45
|
+
const jiti = createJiti(fileURLToPath(import.meta.url), { moduleCache: false });
|
|
46
|
+
if (configPath) {
|
|
47
|
+
const absolutePath = resolve(cwd, configPath);
|
|
48
|
+
if (!existsSync(absolutePath)) throw new Error(`Config file not found: ${absolutePath}`);
|
|
49
|
+
const mod = await jiti.import(absolutePath);
|
|
50
|
+
return mod.default ?? mod;
|
|
51
|
+
}
|
|
52
|
+
for (const filename of CONFIG_FILES) {
|
|
53
|
+
const filepath = resolve(cwd, filename);
|
|
54
|
+
if (existsSync(filepath)) {
|
|
55
|
+
const mod = await jiti.import(filepath);
|
|
56
|
+
return mod.default ?? mod;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return {};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
//#endregion
|
|
63
|
+
export { defaults, defineConfig, resolveConfig };
|
|
64
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/config/index.ts"],"sourcesContent":["import { existsSync } from 'node:fs'\nimport { resolve } from 'node:path'\nimport { createJiti } from 'jiti'\nimport { fileURLToPath } from 'node:url'\nimport { createDefu } from 'defu'\n\n// defu that replaces arrays: if user provides content: ['x'], it replaces the default, not appends\nconst merge = createDefu((obj, key, value) => {\n if (Array.isArray(obj[key])) {\n obj[key] = value\n return true\n }\n})\nimport { defaults } from './defaults.ts'\nimport type { MaizzleConfig } from '../types/index.ts'\n\nexport { defineConfig } from '../composables/defineConfig.ts'\nexport { defaults } from './defaults.ts'\n\nconst CONFIG_FILES = [\n 'maizzle.config.ts',\n 'maizzle.config.js',\n]\n\n/**\n * Resolve the Maizzle config.\n *\n * Always loads from the config file on disk (maizzle.config.{ts,js}),\n * then merges the programmatic config on top, then fills in defaults.\n */\nexport async function resolveConfig(\n config?: Partial<MaizzleConfig> | string,\n cwd: string = process.cwd(),\n): Promise<MaizzleConfig> {\n // If a string path was provided, load that specific file\n const fileConfig = await loadConfig(\n typeof config === 'string' ? config : undefined,\n cwd,\n )\n\n // Programmatic config (object) overrides file config, which overrides defaults\n const programmaticConfig = typeof config === 'object' && config !== null ? config : {}\n\n const merged = merge(programmaticConfig, fileConfig, defaults) as MaizzleConfig\n\n // Check if root was explicitly provided before resolving\n const hasExplicitRoot = !!(programmaticConfig.root ?? fileConfig.root)\n\n // Resolve root to an absolute path (defaults to cwd)\n const root = resolve(cwd, merged.root ?? '.')\n merged.root = root\n\n // Resolve content patterns relative to root\n if (merged.content) {\n merged.content = merged.content.map(p => {\n // Skip already-absolute or negated patterns\n if (p.startsWith('/') || p.startsWith('!')) return p\n return resolve(root, p).replace(/\\\\/g, '/')\n })\n }\n\n // Resolve static source patterns relative to root\n if (merged.static?.source) {\n merged.static.source = merged.static.source.map(p => {\n if (p.startsWith('/') || p.startsWith('!')) return p\n return resolve(root, p).replace(/\\\\/g, '/')\n })\n }\n\n // Default css.base to root when root is explicitly set,\n // so Tailwind resolves @source from the right directory.\n // When root is not set, leave css.base undefined so Tailwind\n // uses its own default (the template file's directory).\n if (hasExplicitRoot && !merged.css?.base) {\n if (!merged.css) merged.css = {}\n merged.css.base = root\n }\n\n return merged\n}\n\nasync function loadConfig(\n configPath?: string,\n cwd: string = process.cwd(),\n): Promise<MaizzleConfig> {\n const jiti = createJiti(fileURLToPath(import.meta.url), { moduleCache: false })\n\n // If an explicit path was provided, use it directly\n if (configPath) {\n const absolutePath = resolve(cwd, configPath)\n\n if (!existsSync(absolutePath)) {\n throw new Error(`Config file not found: ${absolutePath}`)\n }\n\n const mod = await jiti.import(absolutePath) as any\n return mod.default ?? mod\n }\n\n // Otherwise scan cwd for known config file names\n for (const filename of CONFIG_FILES) {\n const filepath = resolve(cwd, filename)\n\n if (existsSync(filepath)) {\n const mod = await jiti.import(filepath) as any\n return mod.default ?? mod\n }\n }\n\n // No config file found, return empty (defaults will be applied by resolveConfig)\n return {}\n}\n"],"mappings":";;;;;;;;;AAOA,MAAM,QAAQ,YAAY,KAAK,KAAK,UAAU;AAC5C,KAAI,MAAM,QAAQ,IAAI,KAAK,EAAE;AAC3B,MAAI,OAAO;AACX,SAAO;;EAET;AAOF,MAAM,eAAe,CACnB,qBACA,oBACD;;;;;;;AAQD,eAAsB,cACpB,QACA,MAAc,QAAQ,KAAK,EACH;CAExB,MAAM,aAAa,MAAM,WACvB,OAAO,WAAW,WAAW,SAAS,QACtC,IACD;CAGD,MAAM,qBAAqB,OAAO,WAAW,YAAY,WAAW,OAAO,SAAS,EAAE;CAEtF,MAAM,SAAS,MAAM,oBAAoB,YAAY,SAAS;CAG9D,MAAM,kBAAkB,CAAC,EAAE,mBAAmB,QAAQ,WAAW;CAGjE,MAAM,OAAO,QAAQ,KAAK,OAAO,QAAQ,IAAI;AAC7C,QAAO,OAAO;AAGd,KAAI,OAAO,QACT,QAAO,UAAU,OAAO,QAAQ,KAAI,MAAK;AAEvC,MAAI,EAAE,WAAW,IAAI,IAAI,EAAE,WAAW,IAAI,CAAE,QAAO;AACnD,SAAO,QAAQ,MAAM,EAAE,CAAC,QAAQ,OAAO,IAAI;GAC3C;AAIJ,KAAI,OAAO,QAAQ,OACjB,QAAO,OAAO,SAAS,OAAO,OAAO,OAAO,KAAI,MAAK;AACnD,MAAI,EAAE,WAAW,IAAI,IAAI,EAAE,WAAW,IAAI,CAAE,QAAO;AACnD,SAAO,QAAQ,MAAM,EAAE,CAAC,QAAQ,OAAO,IAAI;GAC3C;AAOJ,KAAI,mBAAmB,CAAC,OAAO,KAAK,MAAM;AACxC,MAAI,CAAC,OAAO,IAAK,QAAO,MAAM,EAAE;AAChC,SAAO,IAAI,OAAO;;AAGpB,QAAO;;AAGT,eAAe,WACb,YACA,MAAc,QAAQ,KAAK,EACH;CACxB,MAAM,OAAO,WAAW,cAAc,OAAO,KAAK,IAAI,EAAE,EAAE,aAAa,OAAO,CAAC;AAG/E,KAAI,YAAY;EACd,MAAM,eAAe,QAAQ,KAAK,WAAW;AAE7C,MAAI,CAAC,WAAW,aAAa,CAC3B,OAAM,IAAI,MAAM,0BAA0B,eAAe;EAG3D,MAAM,MAAM,MAAM,KAAK,OAAO,aAAa;AAC3C,SAAO,IAAI,WAAW;;AAIxB,MAAK,MAAM,YAAY,cAAc;EACnC,MAAM,WAAW,QAAQ,KAAK,SAAS;AAEvC,MAAI,WAAW,SAAS,EAAE;GACxB,MAAM,MAAM,MAAM,KAAK,OAAO,SAAS;AACvC,UAAO,IAAI,WAAW;;;AAK1B,QAAO,EAAE"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { MaizzleConfig } from "../types/config.mjs";
|
|
2
|
+
//#region src/events/index.d.ts
|
|
3
|
+
type EventName = 'beforeCreate' | 'beforeRender' | 'afterRender' | 'afterTransform' | 'afterBuild';
|
|
4
|
+
interface EventMap {
|
|
5
|
+
beforeCreate: (params: {
|
|
6
|
+
config: MaizzleConfig;
|
|
7
|
+
}) => void | Promise<void>;
|
|
8
|
+
beforeRender: (params: {
|
|
9
|
+
config: MaizzleConfig;
|
|
10
|
+
template: string;
|
|
11
|
+
}) => string | void | Promise<string | void>;
|
|
12
|
+
afterRender: (params: {
|
|
13
|
+
config: MaizzleConfig;
|
|
14
|
+
template: string;
|
|
15
|
+
html: string;
|
|
16
|
+
}) => string | void | Promise<string | void>;
|
|
17
|
+
afterTransform: (params: {
|
|
18
|
+
config: MaizzleConfig;
|
|
19
|
+
template: string;
|
|
20
|
+
html: string;
|
|
21
|
+
}) => string | void | Promise<string | void>;
|
|
22
|
+
afterBuild: (params: {
|
|
23
|
+
files: string[];
|
|
24
|
+
config: MaizzleConfig;
|
|
25
|
+
}) => void | Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Central event manager that collects handlers from config and useEvent() calls.
|
|
29
|
+
*
|
|
30
|
+
* Handlers are run in order: config handler first, then SFC handlers in registration order.
|
|
31
|
+
* For events that return a value (beforeRender, afterRender, afterTransform),
|
|
32
|
+
* the returned value replaces the corresponding input for the next handler.
|
|
33
|
+
*/
|
|
34
|
+
declare class EventManager {
|
|
35
|
+
private handlers;
|
|
36
|
+
/**
|
|
37
|
+
* Register handlers from the Maizzle config.
|
|
38
|
+
*/
|
|
39
|
+
registerConfig(config: MaizzleConfig): void;
|
|
40
|
+
/**
|
|
41
|
+
* Register a handler for an event (used by useEvent composable).
|
|
42
|
+
*/
|
|
43
|
+
on<K extends EventName>(name: K, handler: EventMap[K]): void;
|
|
44
|
+
/**
|
|
45
|
+
* Fire beforeCreate — runs all handlers, config is mutated in place.
|
|
46
|
+
*/
|
|
47
|
+
fireBeforeCreate(params: {
|
|
48
|
+
config: MaizzleConfig;
|
|
49
|
+
}): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Fire beforeRender — if a handler returns a string, it replaces `template`.
|
|
52
|
+
*/
|
|
53
|
+
fireBeforeRender(params: {
|
|
54
|
+
config: MaizzleConfig;
|
|
55
|
+
template: string;
|
|
56
|
+
}): Promise<string>;
|
|
57
|
+
/**
|
|
58
|
+
* Fire afterRender — if a handler returns a string, it replaces `html`.
|
|
59
|
+
*/
|
|
60
|
+
fireAfterRender(params: {
|
|
61
|
+
config: MaizzleConfig;
|
|
62
|
+
template: string;
|
|
63
|
+
html: string;
|
|
64
|
+
}): Promise<string>;
|
|
65
|
+
/**
|
|
66
|
+
* Fire afterTransform — if a handler returns a string, it replaces `html`.
|
|
67
|
+
*/
|
|
68
|
+
fireAfterTransform(params: {
|
|
69
|
+
config: MaizzleConfig;
|
|
70
|
+
template: string;
|
|
71
|
+
html: string;
|
|
72
|
+
}): Promise<string>;
|
|
73
|
+
/**
|
|
74
|
+
* Fire afterBuild — runs all handlers with the file list.
|
|
75
|
+
*/
|
|
76
|
+
fireAfterBuild(params: {
|
|
77
|
+
files: string[];
|
|
78
|
+
config: MaizzleConfig;
|
|
79
|
+
}): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* Clear all handlers (useful between builds or for per-template SFC handlers).
|
|
82
|
+
*/
|
|
83
|
+
clearSfcHandlers(): void;
|
|
84
|
+
/**
|
|
85
|
+
* Clear all handlers entirely.
|
|
86
|
+
*/
|
|
87
|
+
clear(): void;
|
|
88
|
+
}
|
|
89
|
+
//#endregion
|
|
90
|
+
export { EventManager, EventMap, EventName };
|
|
91
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/events/index.ts"],"mappings":";;KAEY,SAAA;AAAA,UAEK,QAAA;EACf,YAAA,GAAe,MAAA;IAAU,MAAA,EAAQ,aAAA;EAAA,aAA2B,OAAA;EAC5D,YAAA,GAAe,MAAA;IAAU,MAAA,EAAQ,aAAA;IAAe,QAAA;EAAA,sBAAuC,OAAA;EACvF,WAAA,GAAc,MAAA;IAAU,MAAA,EAAQ,aAAA;IAAe,QAAA;IAAkB,IAAA;EAAA,sBAAmC,OAAA;EACpG,cAAA,GAAiB,MAAA;IAAU,MAAA,EAAQ,aAAA;IAAe,QAAA;IAAkB,IAAA;EAAA,sBAAmC,OAAA;EACvG,UAAA,GAAa,MAAA;IAAU,KAAA;IAAiB,MAAA,EAAQ,aAAA;EAAA,aAA2B,OAAA;AAAA;;;;;;;;cAUhE,YAAA;EAAA,QACH,QAAA;EAd+E;;;EAmBvF,cAAA,CAAe,MAAA,EAAQ,aAAA;EAlBwB;;;EAgC/C,EAAA,WAAa,SAAA,CAAA,CAAW,IAAA,EAAM,CAAA,EAAG,OAAA,EAAS,QAAA,CAAS,CAAA;EA/BnD;;;EA0CM,gBAAA,CAAiB,MAAA;IAAU,MAAA,EAAQ,aAAA;EAAA,IAAe,OAAA;EA1C+C;;;EAqDjG,gBAAA,CAAiB,MAAA;IAAU,MAAA,EAAQ,aAAA;IAAe,QAAA;EAAA,IAAqB,OAAA;EApDK;;AAUpF;EA6DQ,eAAA,CAAgB,MAAA;IAAU,MAAA,EAAQ,aAAA;IAAe,QAAA;IAAkB,IAAA;EAAA,IAAiB,OAAA;EAzChD;;;EA4DpC,kBAAA,CAAmB,MAAA;IAAU,MAAA,EAAQ,aAAA;IAAe,QAAA;IAAkB,IAAA;EAAA,IAAiB,OAAA;EAAlD;;;EAmBrC,cAAA,CAAe,MAAA;IAAU,KAAA;IAAiB,MAAA,EAAQ,aAAA;EAAA,IAAe,OAAA;EA7FvE;;;EAwGA,gBAAA,CAAA;EA1FG;;;EAsGH,KAAA,CAAA;AAAA"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
//#region src/events/index.ts
|
|
2
|
+
/**
|
|
3
|
+
* Central event manager that collects handlers from config and useEvent() calls.
|
|
4
|
+
*
|
|
5
|
+
* Handlers are run in order: config handler first, then SFC handlers in registration order.
|
|
6
|
+
* For events that return a value (beforeRender, afterRender, afterTransform),
|
|
7
|
+
* the returned value replaces the corresponding input for the next handler.
|
|
8
|
+
*/
|
|
9
|
+
var EventManager = class {
|
|
10
|
+
handlers = /* @__PURE__ */ new Map();
|
|
11
|
+
/**
|
|
12
|
+
* Register handlers from the Maizzle config.
|
|
13
|
+
*/
|
|
14
|
+
registerConfig(config) {
|
|
15
|
+
for (const name of [
|
|
16
|
+
"beforeCreate",
|
|
17
|
+
"beforeRender",
|
|
18
|
+
"afterRender",
|
|
19
|
+
"afterTransform",
|
|
20
|
+
"afterBuild"
|
|
21
|
+
]) {
|
|
22
|
+
const handler = config[name];
|
|
23
|
+
if (typeof handler === "function") this.on(name, handler);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Register a handler for an event (used by useEvent composable).
|
|
28
|
+
*/
|
|
29
|
+
on(name, handler) {
|
|
30
|
+
if (!this.handlers.has(name)) this.handlers.set(name, []);
|
|
31
|
+
this.handlers.get(name).push(handler);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Fire beforeCreate — runs all handlers, config is mutated in place.
|
|
35
|
+
*/
|
|
36
|
+
async fireBeforeCreate(params) {
|
|
37
|
+
const handlers = this.handlers.get("beforeCreate") ?? [];
|
|
38
|
+
for (const handler of handlers) await handler(params);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Fire beforeRender — if a handler returns a string, it replaces `template`.
|
|
42
|
+
*/
|
|
43
|
+
async fireBeforeRender(params) {
|
|
44
|
+
const handlers = this.handlers.get("beforeRender") ?? [];
|
|
45
|
+
let { template } = params;
|
|
46
|
+
for (const handler of handlers) {
|
|
47
|
+
const result = await handler({
|
|
48
|
+
config: params.config,
|
|
49
|
+
template
|
|
50
|
+
});
|
|
51
|
+
if (typeof result === "string") template = result;
|
|
52
|
+
}
|
|
53
|
+
return template;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Fire afterRender — if a handler returns a string, it replaces `html`.
|
|
57
|
+
*/
|
|
58
|
+
async fireAfterRender(params) {
|
|
59
|
+
const handlers = this.handlers.get("afterRender") ?? [];
|
|
60
|
+
let { html } = params;
|
|
61
|
+
for (const handler of handlers) {
|
|
62
|
+
const result = await handler({
|
|
63
|
+
config: params.config,
|
|
64
|
+
template: params.template,
|
|
65
|
+
html
|
|
66
|
+
});
|
|
67
|
+
if (typeof result === "string") html = result;
|
|
68
|
+
}
|
|
69
|
+
return html;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Fire afterTransform — if a handler returns a string, it replaces `html`.
|
|
73
|
+
*/
|
|
74
|
+
async fireAfterTransform(params) {
|
|
75
|
+
const handlers = this.handlers.get("afterTransform") ?? [];
|
|
76
|
+
let { html } = params;
|
|
77
|
+
for (const handler of handlers) {
|
|
78
|
+
const result = await handler({
|
|
79
|
+
config: params.config,
|
|
80
|
+
template: params.template,
|
|
81
|
+
html
|
|
82
|
+
});
|
|
83
|
+
if (typeof result === "string") html = result;
|
|
84
|
+
}
|
|
85
|
+
return html;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Fire afterBuild — runs all handlers with the file list.
|
|
89
|
+
*/
|
|
90
|
+
async fireAfterBuild(params) {
|
|
91
|
+
const handlers = this.handlers.get("afterBuild") ?? [];
|
|
92
|
+
for (const handler of handlers) await handler(params);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Clear all handlers (useful between builds or for per-template SFC handlers).
|
|
96
|
+
*/
|
|
97
|
+
clearSfcHandlers() {
|
|
98
|
+
for (const [name, handlers] of this.handlers) if (handlers.length > 1) this.handlers.set(name, [handlers[0]]);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Clear all handlers entirely.
|
|
102
|
+
*/
|
|
103
|
+
clear() {
|
|
104
|
+
this.handlers.clear();
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
//#endregion
|
|
109
|
+
export { EventManager };
|
|
110
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/events/index.ts"],"sourcesContent":["import type { MaizzleConfig } from '../types/index.ts'\n\nexport type EventName = 'beforeCreate' | 'beforeRender' | 'afterRender' | 'afterTransform' | 'afterBuild'\n\nexport interface EventMap {\n beforeCreate: (params: { config: MaizzleConfig }) => void | Promise<void>\n beforeRender: (params: { config: MaizzleConfig; template: string }) => string | void | Promise<string | void>\n afterRender: (params: { config: MaizzleConfig; template: string; html: string }) => string | void | Promise<string | void>\n afterTransform: (params: { config: MaizzleConfig; template: string; html: string }) => string | void | Promise<string | void>\n afterBuild: (params: { files: string[]; config: MaizzleConfig }) => void | Promise<void>\n}\n\n/**\n * Central event manager that collects handlers from config and useEvent() calls.\n *\n * Handlers are run in order: config handler first, then SFC handlers in registration order.\n * For events that return a value (beforeRender, afterRender, afterTransform),\n * the returned value replaces the corresponding input for the next handler.\n */\nexport class EventManager {\n private handlers = new Map<EventName, EventMap[EventName][]>()\n\n /**\n * Register handlers from the Maizzle config.\n */\n registerConfig(config: MaizzleConfig) {\n const eventNames: EventName[] = ['beforeCreate', 'beforeRender', 'afterRender', 'afterTransform', 'afterBuild']\n\n for (const name of eventNames) {\n const handler = config[name]\n if (typeof handler === 'function') {\n this.on(name, handler as EventMap[typeof name])\n }\n }\n }\n\n /**\n * Register a handler for an event (used by useEvent composable).\n */\n on<K extends EventName>(name: K, handler: EventMap[K]) {\n if (!this.handlers.has(name)) {\n this.handlers.set(name, [])\n }\n\n this.handlers.get(name)!.push(handler)\n }\n\n /**\n * Fire beforeCreate — runs all handlers, config is mutated in place.\n */\n async fireBeforeCreate(params: { config: MaizzleConfig }) {\n const handlers = this.handlers.get('beforeCreate') ?? []\n\n for (const handler of handlers) {\n await (handler as EventMap['beforeCreate'])(params)\n }\n }\n\n /**\n * Fire beforeRender — if a handler returns a string, it replaces `template`.\n */\n async fireBeforeRender(params: { config: MaizzleConfig; template: string }): Promise<string> {\n const handlers = this.handlers.get('beforeRender') ?? []\n\n let { template } = params\n\n for (const handler of handlers) {\n const result = await (handler as EventMap['beforeRender'])({ config: params.config, template })\n\n if (typeof result === 'string') {\n template = result\n }\n }\n\n return template\n }\n\n /**\n * Fire afterRender — if a handler returns a string, it replaces `html`.\n */\n async fireAfterRender(params: { config: MaizzleConfig; template: string; html: string }): Promise<string> {\n const handlers = this.handlers.get('afterRender') ?? []\n\n let { html } = params\n\n for (const handler of handlers) {\n const result = await (handler as EventMap['afterRender'])({ config: params.config, template: params.template, html })\n\n if (typeof result === 'string') {\n html = result\n }\n }\n\n return html\n }\n\n /**\n * Fire afterTransform — if a handler returns a string, it replaces `html`.\n */\n async fireAfterTransform(params: { config: MaizzleConfig; template: string; html: string }): Promise<string> {\n const handlers = this.handlers.get('afterTransform') ?? []\n\n let { html } = params\n\n for (const handler of handlers) {\n const result = await (handler as EventMap['afterTransform'])({ config: params.config, template: params.template, html })\n\n if (typeof result === 'string') {\n html = result\n }\n }\n\n return html\n }\n\n /**\n * Fire afterBuild — runs all handlers with the file list.\n */\n async fireAfterBuild(params: { files: string[]; config: MaizzleConfig }) {\n const handlers = this.handlers.get('afterBuild') ?? []\n\n for (const handler of handlers) {\n await (handler as EventMap['afterBuild'])(params)\n }\n }\n\n /**\n * Clear all handlers (useful between builds or for per-template SFC handlers).\n */\n clearSfcHandlers() {\n // We keep the first handler per event (from config) and remove the rest (from SFCs)\n for (const [name, handlers] of this.handlers) {\n if (handlers.length > 1) {\n this.handlers.set(name, [handlers[0]])\n }\n }\n }\n\n /**\n * Clear all handlers entirely.\n */\n clear() {\n this.handlers.clear()\n }\n}\n"],"mappings":";;;;;;;;AAmBA,IAAa,eAAb,MAA0B;CACxB,AAAQ,2BAAW,IAAI,KAAuC;;;;CAK9D,eAAe,QAAuB;AAGpC,OAAK,MAAM,QAFqB;GAAC;GAAgB;GAAgB;GAAe;GAAkB;GAAa,EAEhF;GAC7B,MAAM,UAAU,OAAO;AACvB,OAAI,OAAO,YAAY,WACrB,MAAK,GAAG,MAAM,QAAiC;;;;;;CAQrD,GAAwB,MAAS,SAAsB;AACrD,MAAI,CAAC,KAAK,SAAS,IAAI,KAAK,CAC1B,MAAK,SAAS,IAAI,MAAM,EAAE,CAAC;AAG7B,OAAK,SAAS,IAAI,KAAK,CAAE,KAAK,QAAQ;;;;;CAMxC,MAAM,iBAAiB,QAAmC;EACxD,MAAM,WAAW,KAAK,SAAS,IAAI,eAAe,IAAI,EAAE;AAExD,OAAK,MAAM,WAAW,SACpB,OAAO,QAAqC,OAAO;;;;;CAOvD,MAAM,iBAAiB,QAAsE;EAC3F,MAAM,WAAW,KAAK,SAAS,IAAI,eAAe,IAAI,EAAE;EAExD,IAAI,EAAE,aAAa;AAEnB,OAAK,MAAM,WAAW,UAAU;GAC9B,MAAM,SAAS,MAAO,QAAqC;IAAE,QAAQ,OAAO;IAAQ;IAAU,CAAC;AAE/F,OAAI,OAAO,WAAW,SACpB,YAAW;;AAIf,SAAO;;;;;CAMT,MAAM,gBAAgB,QAAoF;EACxG,MAAM,WAAW,KAAK,SAAS,IAAI,cAAc,IAAI,EAAE;EAEvD,IAAI,EAAE,SAAS;AAEf,OAAK,MAAM,WAAW,UAAU;GAC9B,MAAM,SAAS,MAAO,QAAoC;IAAE,QAAQ,OAAO;IAAQ,UAAU,OAAO;IAAU;IAAM,CAAC;AAErH,OAAI,OAAO,WAAW,SACpB,QAAO;;AAIX,SAAO;;;;;CAMT,MAAM,mBAAmB,QAAoF;EAC3G,MAAM,WAAW,KAAK,SAAS,IAAI,iBAAiB,IAAI,EAAE;EAE1D,IAAI,EAAE,SAAS;AAEf,OAAK,MAAM,WAAW,UAAU;GAC9B,MAAM,SAAS,MAAO,QAAuC;IAAE,QAAQ,OAAO;IAAQ,UAAU,OAAO;IAAU;IAAM,CAAC;AAExH,OAAI,OAAO,WAAW,SACpB,QAAO;;AAIX,SAAO;;;;;CAMT,MAAM,eAAe,QAAoD;EACvE,MAAM,WAAW,KAAK,SAAS,IAAI,aAAa,IAAI,EAAE;AAEtD,OAAK,MAAM,WAAW,SACpB,OAAO,QAAmC,OAAO;;;;;CAOrD,mBAAmB;AAEjB,OAAK,MAAM,CAAC,MAAM,aAAa,KAAK,SAClC,KAAI,SAAS,SAAS,EACpB,MAAK,SAAS,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC;;;;;CAQ5C,QAAQ;AACN,OAAK,SAAS,OAAO"}
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { AttributesConfig, CssConfig, EntitiesConfig, HtmlConfig, MaizzleConfig, UrlConfig, UrlQuery, UrlQueryOptions } from "./types/config.mjs";
|
|
2
|
+
import { build } from "./build.mjs";
|
|
3
|
+
import { defineConfig } from "./composables/defineConfig.mjs";
|
|
4
|
+
import { usePlaintext } from "./composables/usePlaintext.mjs";
|
|
5
|
+
import { useConfig } from "./composables/useConfig.mjs";
|
|
6
|
+
import { useDoctype } from "./composables/useDoctype.mjs";
|
|
7
|
+
import { useEvent } from "./composables/useEvent.mjs";
|
|
8
|
+
import { resolveConfig } from "./config/index.mjs";
|
|
9
|
+
import { maizzle } from "./plugin.mjs";
|
|
10
|
+
import { CreateRendererOptions, RenderedTemplate, Renderer, createRenderer } from "./render/createRenderer.mjs";
|
|
11
|
+
import { RenderOptions, RenderResult, render } from "./render/index.mjs";
|
|
12
|
+
import { serve } from "./serve.mjs";
|
|
13
|
+
import { createPlaintext } from "./plaintext.mjs";
|
|
14
|
+
import { inlineLink } from "./transformers/inlineLink.mjs";
|
|
15
|
+
import { urlQuery } from "./transformers/urlQuery.mjs";
|
|
16
|
+
import { base } from "./transformers/base.mjs";
|
|
17
|
+
import { entities } from "./transformers/entities.mjs";
|
|
18
|
+
import { safeClassNames } from "./transformers/safeClassNames.mjs";
|
|
19
|
+
import { attributeToStyle } from "./transformers/attributeToStyle.mjs";
|
|
20
|
+
import { inlineCSS } from "./transformers/inlineCSS.mjs";
|
|
21
|
+
import { shorthandCSS } from "./transformers/shorthandCSS.mjs";
|
|
22
|
+
import { removeAttributes } from "./transformers/removeAttributes.mjs";
|
|
23
|
+
import { addAttributes } from "./transformers/addAttributes.mjs";
|
|
24
|
+
import { purgeCSS } from "./transformers/purgeCSS.mjs";
|
|
25
|
+
import { replaceStrings } from "./transformers/replaceStrings.mjs";
|
|
26
|
+
import { format } from "./transformers/format.mjs";
|
|
27
|
+
import { minify } from "./transformers/minify.mjs";
|
|
28
|
+
import { useHead } from "@unhead/vue";
|
|
29
|
+
export { type AttributesConfig, type CreateRendererOptions, type CssConfig, type EntitiesConfig, type HtmlConfig, type MaizzleConfig, type RenderOptions, type RenderResult, type RenderedTemplate, type Renderer, type UrlConfig, type UrlQuery, type UrlQueryOptions, addAttributes, attributeToStyle, base, build, createPlaintext, createRenderer, defineConfig, entities, format, inlineCSS, inlineLink, maizzle, minify, removeAttributes, purgeCSS as removeUnusedCSS, render, replaceStrings, resolveConfig, safeClassNames, serve, shorthandCSS, urlQuery, useConfig, useDoctype, useEvent, useHead, usePlaintext };
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useConfig } from "./composables/useConfig.mjs";
|
|
2
|
+
import { defineConfig } from "./composables/defineConfig.mjs";
|
|
3
|
+
import { resolveConfig } from "./config/index.mjs";
|
|
4
|
+
import { inlineLink } from "./transformers/inlineLink.mjs";
|
|
5
|
+
import { safeClassNames } from "./transformers/safeClassNames.mjs";
|
|
6
|
+
import { attributeToStyle } from "./transformers/attributeToStyle.mjs";
|
|
7
|
+
import { inlineCSS } from "./transformers/inlineCSS.mjs";
|
|
8
|
+
import { removeAttributes } from "./transformers/removeAttributes.mjs";
|
|
9
|
+
import { shorthandCSS } from "./transformers/shorthandCSS.mjs";
|
|
10
|
+
import { addAttributes } from "./transformers/addAttributes.mjs";
|
|
11
|
+
import { base } from "./transformers/base.mjs";
|
|
12
|
+
import { entities } from "./transformers/entities.mjs";
|
|
13
|
+
import { urlQuery } from "./transformers/urlQuery.mjs";
|
|
14
|
+
import { purgeCSS } from "./transformers/purgeCSS.mjs";
|
|
15
|
+
import { replaceStrings } from "./transformers/replaceStrings.mjs";
|
|
16
|
+
import { format } from "./transformers/format.mjs";
|
|
17
|
+
import { minify } from "./transformers/minify.mjs";
|
|
18
|
+
import { createRenderer } from "./render/createRenderer.mjs";
|
|
19
|
+
import { createPlaintext } from "./plaintext.mjs";
|
|
20
|
+
import { build } from "./build.mjs";
|
|
21
|
+
import { maizzle } from "./plugin.mjs";
|
|
22
|
+
import { render } from "./render/index.mjs";
|
|
23
|
+
import { serve } from "./serve.mjs";
|
|
24
|
+
import { useDoctype } from "./composables/useDoctype.mjs";
|
|
25
|
+
import { useEvent } from "./composables/useEvent.mjs";
|
|
26
|
+
import { usePlaintext } from "./composables/usePlaintext.mjs";
|
|
27
|
+
import { useHead } from "@unhead/vue";
|
|
28
|
+
|
|
29
|
+
export { addAttributes, attributeToStyle, base, build, createPlaintext, createRenderer, defineConfig, entities, format, inlineCSS, inlineLink, maizzle, minify, removeAttributes, purgeCSS as removeUnusedCSS, render, replaceStrings, resolveConfig, safeClassNames, serve, shorthandCSS, urlQuery, useConfig, useDoctype, useEvent, useHead, usePlaintext };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plaintext.d.mts","names":[],"sources":["../src/plaintext.ts"],"mappings":";iBAUgB,eAAA,CAAgB,IAAA,UAAc,OAAA,GAAU,MAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import defu$1 from "defu";
|
|
2
|
+
import { stripHtml } from "string-strip-html";
|
|
3
|
+
|
|
4
|
+
//#region src/plaintext.ts
|
|
5
|
+
const defaults = { dumpLinkHrefsNearby: {
|
|
6
|
+
enabled: true,
|
|
7
|
+
putOnNewLine: true
|
|
8
|
+
} };
|
|
9
|
+
function createPlaintext(html, options) {
|
|
10
|
+
return stripHtml(html, defu$1(options, defaults)).result;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { createPlaintext };
|
|
15
|
+
//# sourceMappingURL=plaintext.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plaintext.mjs","names":["defu"],"sources":["../src/plaintext.ts"],"sourcesContent":["import { stripHtml } from 'string-strip-html'\nimport defu from 'defu'\n\nconst defaults = {\n dumpLinkHrefsNearby: {\n enabled: true,\n putOnNewLine: true,\n },\n}\n\nexport function createPlaintext(html: string, options?: Record<string, unknown>): string {\n return stripHtml(html, defu(options, defaults)).result\n}\n"],"mappings":";;;;AAGA,MAAM,WAAW,EACf,qBAAqB;CACnB,SAAS;CACT,cAAc;CACf,EACF;AAED,SAAgB,gBAAgB,MAAc,SAA2C;AACvF,QAAO,UAAU,MAAMA,OAAK,SAAS,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { MaizzleConfig } from "./types/config.mjs";
|
|
2
|
+
import { Plugin } from "vite";
|
|
3
|
+
|
|
4
|
+
//#region src/plugin.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Maizzle Vite plugin for use inside an existing Vite project.
|
|
7
|
+
*
|
|
8
|
+
* - During `vite dev`: starts a separate Maizzle dev server on its own port
|
|
9
|
+
* - During `vite build`: builds email templates alongside the host app
|
|
10
|
+
*
|
|
11
|
+
* Does NOT inject Vue, Tailwind, or any other plugins into the host's pipeline.
|
|
12
|
+
* The host app manages its own stack. Maizzle runs in its own process.
|
|
13
|
+
*/
|
|
14
|
+
declare function maizzle(configInput?: Partial<MaizzleConfig>): Plugin[];
|
|
15
|
+
//#endregion
|
|
16
|
+
export { maizzle };
|
|
17
|
+
//# sourceMappingURL=plugin.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.mts","names":[],"sources":["../src/plugin.ts"],"mappings":";;;;;;;AAYA;;;;;;iBAAgB,OAAA,CAAQ,WAAA,GAAc,OAAA,CAAQ,aAAA,IAAiB,MAAA"}
|
package/dist/plugin.mjs
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
//#region src/plugin.ts
|
|
2
|
+
/**
|
|
3
|
+
* Maizzle Vite plugin for use inside an existing Vite project.
|
|
4
|
+
*
|
|
5
|
+
* - During `vite dev`: starts a separate Maizzle dev server on its own port
|
|
6
|
+
* - During `vite build`: builds email templates alongside the host app
|
|
7
|
+
*
|
|
8
|
+
* Does NOT inject Vue, Tailwind, or any other plugins into the host's pipeline.
|
|
9
|
+
* The host app manages its own stack. Maizzle runs in its own process.
|
|
10
|
+
*/
|
|
11
|
+
function maizzle(configInput) {
|
|
12
|
+
let maizzleServer = null;
|
|
13
|
+
return [{
|
|
14
|
+
name: "maizzle",
|
|
15
|
+
async configureServer(hostServer) {
|
|
16
|
+
const { serve, printBanner } = await import("./serve.mjs");
|
|
17
|
+
maizzleServer = await serve({
|
|
18
|
+
config: configInput,
|
|
19
|
+
silent: true
|
|
20
|
+
});
|
|
21
|
+
hostServer.httpServer?.on("listening", () => {
|
|
22
|
+
printBanner(maizzleServer);
|
|
23
|
+
});
|
|
24
|
+
},
|
|
25
|
+
async closeBundle() {
|
|
26
|
+
if (this.meta.watchMode) return;
|
|
27
|
+
const { build } = await import("./build.mjs");
|
|
28
|
+
await build({ config: configInput });
|
|
29
|
+
},
|
|
30
|
+
async buildEnd() {
|
|
31
|
+
if (maizzleServer) {
|
|
32
|
+
await maizzleServer.close();
|
|
33
|
+
maizzleServer = null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}];
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
export { maizzle };
|
|
41
|
+
//# sourceMappingURL=plugin.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.mjs","names":[],"sources":["../src/plugin.ts"],"sourcesContent":["import type { Plugin, ViteDevServer } from 'vite'\nimport type { MaizzleConfig } from './types/index.ts'\n\n/**\n * Maizzle Vite plugin for use inside an existing Vite project.\n *\n * - During `vite dev`: starts a separate Maizzle dev server on its own port\n * - During `vite build`: builds email templates alongside the host app\n *\n * Does NOT inject Vue, Tailwind, or any other plugins into the host's pipeline.\n * The host app manages its own stack. Maizzle runs in its own process.\n */\nexport function maizzle(configInput?: Partial<MaizzleConfig>): Plugin[] {\n let maizzleServer: ViteDevServer | null = null\n\n return [{\n name: 'maizzle',\n\n async configureServer(hostServer) {\n const { serve, printBanner } = await import('./serve.ts')\n maizzleServer = await serve({ config: configInput, silent: true })\n\n // Print Maizzle banner after the host server prints its URLs\n hostServer.httpServer?.on('listening', () => {\n printBanner(maizzleServer!)\n })\n },\n\n async closeBundle() {\n if (this.meta.watchMode) return\n\n const { build } = await import('./build.ts')\n await build({ config: configInput })\n },\n\n async buildEnd() {\n if (maizzleServer) {\n await maizzleServer.close()\n maizzleServer = null\n }\n },\n }]\n}\n"],"mappings":";;;;;;;;;;AAYA,SAAgB,QAAQ,aAAgD;CACtE,IAAI,gBAAsC;AAE1C,QAAO,CAAC;EACN,MAAM;EAEN,MAAM,gBAAgB,YAAY;GAChC,MAAM,EAAE,OAAO,gBAAgB,MAAM,OAAO;AAC5C,mBAAgB,MAAM,MAAM;IAAE,QAAQ;IAAa,QAAQ;IAAM,CAAC;AAGlE,cAAW,YAAY,GAAG,mBAAmB;AAC3C,gBAAY,cAAe;KAC3B;;EAGJ,MAAM,cAAc;AAClB,OAAI,KAAK,KAAK,UAAW;GAEzB,MAAM,EAAE,UAAU,MAAM,OAAO;AAC/B,SAAM,MAAM,EAAE,QAAQ,aAAa,CAAC;;EAGtC,MAAM,WAAW;AACf,OAAI,eAAe;AACjB,UAAM,cAAc,OAAO;AAC3B,oBAAgB;;;EAGrB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { MaizzleConfig } from "../../types/config.mjs";
|
|
2
|
+
import postcss from "postcss";
|
|
3
|
+
|
|
4
|
+
//#region src/plugins/postcss/mergeMediaQueries.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Sorts and merges CSS media queries using postcss-sort-media-queries.
|
|
7
|
+
*
|
|
8
|
+
* Enabled by default. Opt out with css: { media: false }.
|
|
9
|
+
*
|
|
10
|
+
* Config examples:
|
|
11
|
+
* css: { media: true } // merge, mobile-first sort (default)
|
|
12
|
+
* css: { media: { sort: 'desktop-first' } } // merge, desktop-first sort
|
|
13
|
+
* css: { media: false } // disabled
|
|
14
|
+
*/
|
|
15
|
+
declare function mergeMediaQueries(config: MaizzleConfig): postcss.Plugin | null;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { mergeMediaQueries };
|
|
18
|
+
//# sourceMappingURL=mergeMediaQueries.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeMediaQueries.d.mts","names":[],"sources":["../../../src/plugins/postcss/mergeMediaQueries.ts"],"mappings":";;;;;;AAcA;;;;;;;;iBAAgB,iBAAA,CAAkB,MAAA,EAAQ,aAAA,GAAgB,OAAA,CAAQ,MAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import sortMediaQueries from "postcss-sort-media-queries";
|
|
2
|
+
|
|
3
|
+
//#region src/plugins/postcss/mergeMediaQueries.ts
|
|
4
|
+
/**
|
|
5
|
+
* Sorts and merges CSS media queries using postcss-sort-media-queries.
|
|
6
|
+
*
|
|
7
|
+
* Enabled by default. Opt out with css: { media: false }.
|
|
8
|
+
*
|
|
9
|
+
* Config examples:
|
|
10
|
+
* css: { media: true } // merge, mobile-first sort (default)
|
|
11
|
+
* css: { media: { sort: 'desktop-first' } } // merge, desktop-first sort
|
|
12
|
+
* css: { media: false } // disabled
|
|
13
|
+
*/
|
|
14
|
+
function mergeMediaQueries(config) {
|
|
15
|
+
const media = config.css?.media;
|
|
16
|
+
if (media === false) return null;
|
|
17
|
+
return sortMediaQueries({ sort: (typeof media === "object" ? media : {}).sort ?? "mobile-first" });
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
//#endregion
|
|
21
|
+
export { mergeMediaQueries };
|
|
22
|
+
//# sourceMappingURL=mergeMediaQueries.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeMediaQueries.mjs","names":[],"sources":["../../../src/plugins/postcss/mergeMediaQueries.ts"],"sourcesContent":["import sortMediaQueries from 'postcss-sort-media-queries'\nimport type postcss from 'postcss'\nimport type { MaizzleConfig } from '../../types/config.ts'\n\n/**\n * Sorts and merges CSS media queries using postcss-sort-media-queries.\n *\n * Enabled by default. Opt out with css: { media: false }.\n *\n * Config examples:\n * css: { media: true } // merge, mobile-first sort (default)\n * css: { media: { sort: 'desktop-first' } } // merge, desktop-first sort\n * css: { media: false } // disabled\n */\nexport function mergeMediaQueries(config: MaizzleConfig): postcss.Plugin | null {\n const media = config.css?.media\n\n if (media === false) return null\n\n const options = typeof media === 'object' ? media : {}\n const sort = options.sort ?? 'mobile-first'\n\n return sortMediaQueries({ sort }) as postcss.Plugin\n}\n"],"mappings":";;;;;;;;;;;;;AAcA,SAAgB,kBAAkB,QAA8C;CAC9E,MAAM,QAAQ,OAAO,KAAK;AAE1B,KAAI,UAAU,MAAO,QAAO;AAK5B,QAAO,iBAAiB,EAAE,OAHV,OAAO,UAAU,WAAW,QAAQ,EAAE,EACjC,QAAQ,gBAEG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pruneVars.d.mts","names":[],"sources":["../../../src/plugins/postcss/pruneVars.ts"],"mappings":";;;cAKyD,QAAA,QAYtC,MAAA;AAAA,cA2DN,OAAA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
//#region src/plugins/postcss/pruneVars.ts
|
|
2
|
+
const PLUGIN_NAME = "postcss-prune-var";
|
|
3
|
+
const VAR_RE = /var\(\s*(--[^ ,);]+)/g;
|
|
4
|
+
var pruneVars_default = () => {
|
|
5
|
+
return {
|
|
6
|
+
postcssPlugin: PLUGIN_NAME,
|
|
7
|
+
Once(root) {
|
|
8
|
+
const records = /* @__PURE__ */ new Map();
|
|
9
|
+
const usedVars = /* @__PURE__ */ new Set();
|
|
10
|
+
const getRecord = (name) => {
|
|
11
|
+
let r = records.get(name);
|
|
12
|
+
if (!r) {
|
|
13
|
+
r = {
|
|
14
|
+
uses: 0,
|
|
15
|
+
declarations: /* @__PURE__ */ new Set(),
|
|
16
|
+
dependencies: /* @__PURE__ */ new Set()
|
|
17
|
+
};
|
|
18
|
+
records.set(name, r);
|
|
19
|
+
}
|
|
20
|
+
return r;
|
|
21
|
+
};
|
|
22
|
+
const registerUse = (name, seen = /* @__PURE__ */ new Set()) => {
|
|
23
|
+
const r = getRecord(name);
|
|
24
|
+
r.uses++;
|
|
25
|
+
seen.add(name);
|
|
26
|
+
for (const dep of r.dependencies) if (!seen.has(dep)) registerUse(dep, seen);
|
|
27
|
+
};
|
|
28
|
+
root.walkDecls((decl) => {
|
|
29
|
+
const isVar = decl.prop.startsWith("--");
|
|
30
|
+
if (isVar) getRecord(decl.prop).declarations.add(decl);
|
|
31
|
+
if (!decl.value.includes("var(")) return;
|
|
32
|
+
let m;
|
|
33
|
+
VAR_RE.lastIndex = 0;
|
|
34
|
+
while (m = VAR_RE.exec(decl.value)) {
|
|
35
|
+
const ref = m[1].trim();
|
|
36
|
+
if (isVar) getRecord(decl.prop).dependencies.add(ref);
|
|
37
|
+
else usedVars.add(ref);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
for (const v of usedVars) registerUse(v);
|
|
41
|
+
for (const { uses, declarations } of records.values()) if (uses === 0) for (const decl of declarations) decl.remove();
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
const postcss = true;
|
|
46
|
+
|
|
47
|
+
//#endregion
|
|
48
|
+
export { pruneVars_default as default, postcss };
|
|
49
|
+
//# sourceMappingURL=pruneVars.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pruneVars.mjs","names":[],"sources":["../../../src/plugins/postcss/pruneVars.ts"],"sourcesContent":["/**\n * postcss-prune-var\n * Removes unused CSS custom properties.\n */\n\nimport type { Declaration, Plugin, Root } from 'postcss';\n\nconst PLUGIN_NAME = 'postcss-prune-var';\n\nconst VAR_RE = /var\\(\\s*(--[^ ,);]+)/g;\n\ninterface VarRecord {\n uses: number;\n declarations: Set<Declaration>;\n dependencies: Set<string>;\n}\n\nexport default (): Plugin => {\n return {\n postcssPlugin: PLUGIN_NAME,\n\n Once(root: Root) {\n const records = new Map<string, VarRecord>();\n const usedVars = new Set<string>();\n\n const getRecord = (name: string): VarRecord => {\n let r = records.get(name);\n if (!r) {\n r = { uses: 0, declarations: new Set(), dependencies: new Set() };\n records.set(name, r);\n }\n return r;\n };\n\n const registerUse = (name: string, seen = new Set<string>()) => {\n const r = getRecord(name);\n r.uses++;\n seen.add(name);\n for (const dep of r.dependencies) {\n if (!seen.has(dep)) registerUse(dep, seen);\n }\n };\n\n // Build dependency graph\n root.walkDecls((decl) => {\n const isVar = decl.prop.startsWith('--');\n\n if (isVar) getRecord(decl.prop).declarations.add(decl);\n\n if (!decl.value.includes('var(')) return;\n\n let m;\n VAR_RE.lastIndex = 0;\n while ((m = VAR_RE.exec(decl.value))) {\n const ref = m[1].trim();\n if (isVar) {\n getRecord(decl.prop).dependencies.add(ref);\n } else {\n usedVars.add(ref);\n }\n }\n });\n\n // Propagate usage through the graph\n for (const v of usedVars) registerUse(v);\n\n // Remove declarations with zero uses\n for (const { uses, declarations } of records.values()) {\n if (uses === 0) {\n for (const decl of declarations) decl.remove();\n }\n }\n },\n };\n};\n\nexport const postcss = true;\n"],"mappings":";AAOA,MAAM,cAAc;AAEpB,MAAM,SAAS;AAQf,8BAA6B;AAC3B,QAAO;EACL,eAAe;EAEf,KAAK,MAAY;GACf,MAAM,0BAAU,IAAI,KAAwB;GAC5C,MAAM,2BAAW,IAAI,KAAa;GAElC,MAAM,aAAa,SAA4B;IAC7C,IAAI,IAAI,QAAQ,IAAI,KAAK;AACzB,QAAI,CAAC,GAAG;AACN,SAAI;MAAE,MAAM;MAAG,8BAAc,IAAI,KAAK;MAAE,8BAAc,IAAI,KAAK;MAAE;AACjE,aAAQ,IAAI,MAAM,EAAE;;AAEtB,WAAO;;GAGT,MAAM,eAAe,MAAc,uBAAO,IAAI,KAAa,KAAK;IAC9D,MAAM,IAAI,UAAU,KAAK;AACzB,MAAE;AACF,SAAK,IAAI,KAAK;AACd,SAAK,MAAM,OAAO,EAAE,aAClB,KAAI,CAAC,KAAK,IAAI,IAAI,CAAE,aAAY,KAAK,KAAK;;AAK9C,QAAK,WAAW,SAAS;IACvB,MAAM,QAAQ,KAAK,KAAK,WAAW,KAAK;AAExC,QAAI,MAAO,WAAU,KAAK,KAAK,CAAC,aAAa,IAAI,KAAK;AAEtD,QAAI,CAAC,KAAK,MAAM,SAAS,OAAO,CAAE;IAElC,IAAI;AACJ,WAAO,YAAY;AACnB,WAAQ,IAAI,OAAO,KAAK,KAAK,MAAM,EAAG;KACpC,MAAM,MAAM,EAAE,GAAG,MAAM;AACvB,SAAI,MACF,WAAU,KAAK,KAAK,CAAC,aAAa,IAAI,IAAI;SAE1C,UAAS,IAAI,IAAI;;KAGrB;AAGF,QAAK,MAAM,KAAK,SAAU,aAAY,EAAE;AAGxC,QAAK,MAAM,EAAE,MAAM,kBAAkB,QAAQ,QAAQ,CACnD,KAAI,SAAS,EACX,MAAK,MAAM,QAAQ,aAAc,MAAK,QAAQ;;EAIrD;;AAGH,MAAa,UAAU"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Plugin } from "postcss";
|
|
2
|
+
|
|
3
|
+
//#region src/plugins/postcss/removeDeclarations.d.ts
|
|
4
|
+
type RemoveValue = '*' | string | string[] | Record<string, string>;
|
|
5
|
+
interface RemoveDeclarationsOptions {
|
|
6
|
+
remove: Record<string, RemoveValue>;
|
|
7
|
+
}
|
|
8
|
+
declare const _default: (options: RemoveDeclarationsOptions) => Plugin;
|
|
9
|
+
declare const postcss = true;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { RemoveDeclarationsOptions, RemoveValue, _default as default, postcss };
|
|
12
|
+
//# sourceMappingURL=removeDeclarations.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeDeclarations.d.mts","names":[],"sources":["../../../src/plugins/postcss/removeDeclarations.ts"],"mappings":";;;KA0BY,WAAA,6BAIR,MAAA;AAAA,UAEa,yBAAA;EACf,MAAA,EAAQ,MAAA,SAAe,WAAA;AAAA;AAAA,cACxB,QAAA,GAQe,OAAA,EAAS,yBAAA,KAA4B,MAAA;AAAA,cAyDxC,OAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
//#region src/plugins/postcss/removeDeclarations.ts
|
|
2
|
+
const IMPORTANT = "!important";
|
|
3
|
+
function normalizeSelector(selector) {
|
|
4
|
+
return selector.replace(/(\r\n|\n|\r)/gm, "");
|
|
5
|
+
}
|
|
6
|
+
var removeDeclarations_default = (options) => {
|
|
7
|
+
return {
|
|
8
|
+
postcssPlugin: "postcss-remove-declarations",
|
|
9
|
+
Once(root) {
|
|
10
|
+
const remove = options.remove ?? {};
|
|
11
|
+
root.walkRules((rule) => {
|
|
12
|
+
let toRemove = remove[normalizeSelector(rule.selector)];
|
|
13
|
+
if (!toRemove) return;
|
|
14
|
+
if (toRemove === "*") {
|
|
15
|
+
rule.remove();
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
if (typeof toRemove === "string") toRemove = [toRemove];
|
|
19
|
+
if (Array.isArray(toRemove)) {
|
|
20
|
+
const props = toRemove;
|
|
21
|
+
rule.walkDecls((decl) => {
|
|
22
|
+
if (props.includes(decl.prop)) decl.remove();
|
|
23
|
+
});
|
|
24
|
+
} else if (typeof toRemove === "object") {
|
|
25
|
+
const map = toRemove;
|
|
26
|
+
rule.walkDecls((decl) => {
|
|
27
|
+
if (!(decl.prop in map)) return;
|
|
28
|
+
let expected = map[decl.prop];
|
|
29
|
+
const requireNonImportant = expected.endsWith(IMPORTANT);
|
|
30
|
+
if (requireNonImportant) expected = expected.slice(0, -10).trim();
|
|
31
|
+
if (decl.value !== expected) return;
|
|
32
|
+
if (decl.important && requireNonImportant) return;
|
|
33
|
+
decl.remove();
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
if (rule.nodes?.length === 0) rule.remove();
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
const postcss = true;
|
|
42
|
+
|
|
43
|
+
//#endregion
|
|
44
|
+
export { removeDeclarations_default as default, postcss };
|
|
45
|
+
//# sourceMappingURL=removeDeclarations.mjs.map
|