astro-tractstack
Version:
Astro integration for TractStack - redeeming the web from boring experiences
1,643 lines • 67.5 kB
JavaScript
import { fileURLToPath as d } from "node:url";
import { dirname as i, resolve as l } from "node:path";
import { existsSync as r, mkdirSync as x, copyFileSync as k, writeFileSync as u } from "node:fs";
import { resolve as a } from "path";
function b(t) {
const e = i(d(t));
return {
resolve: (...c) => l(e, ...c)
};
}
function g(t, e) {
e.info("TractStack configuration applied"), t.enableMultiTenant && e.info("Multi-tenant mode enabled"), t.includeExamples && e.info("Example components will be included");
const c = process.env.PUBLIC_GO_BACKEND, n = process.env.PUBLIC_TENANTID;
if (!c)
e.warn("PUBLIC_GO_BACKEND not set - this will be required at runtime");
else
try {
new URL(c), e.info(`Backend URL validated: ${c}`);
} catch {
e.error(`PUBLIC_GO_BACKEND is not a valid URL: ${c}`);
}
return n ? /^[a-zA-Z0-9_-]+$/.test(n) ? e.info(`Tenant ID validated: ${n}`) : e.error(`PUBLIC_TENANTID contains invalid characters: ${n}`) : e.warn("PUBLIC_TENANTID not set - this will be required at runtime"), t;
}
async function w(t, e, c) {
e.info("TractStack: Injecting template files");
const n = [
// Core Configuration
{
src: t("../templates/env.example"),
dest: "env.example"
},
{
src: t("../templates/prettierrc"),
dest: ".prettierrc"
},
{
src: t("../templates/prettierignore"),
dest: ".prettierignore"
},
{
src: t("../templates/gitignore"),
dest: ".gitignore"
},
{
src: t("../templates/tailwind.config.cjs"),
dest: "tailwind.config.cjs"
},
{
src: t("../templates/src/constants.ts"),
dest: "src/constants.ts"
},
{
src: t("../templates/src/constants/stopWords.ts"),
dest: "src/constants/stopWords.ts"
},
{
src: t("../templates/src/pages/media/[...slug].astro"),
dest: "src/pages/media/[...slug].astro"
},
// Types
{
src: t("../templates/src/types/astro.ts"),
dest: "src/types/astro.ts"
},
{
src: t("../astro.d.ts"),
dest: "astro.d.ts"
},
{
src: t("../templates/src/types/tractstack.ts"),
dest: "src/types/tractstack.ts"
},
// Compositor types
{
src: t("../templates/src/types/compositorTypes.ts"),
dest: "src/types/compositorTypes.ts"
},
{
src: t("../templates/src/types/nodeProps.ts"),
dest: "src/types/nodeProps.ts"
},
// Compositor components
{
src: t("../templates/src/components/compositor/Compositor.tsx"),
dest: "src/components/compositor/Compositor.tsx"
},
{
src: t(
"../templates/src/components/compositor/PanelVisibilityWrapper.tsx"
),
dest: "src/components/compositor/PanelVisibilityWrapper.tsx"
},
{
src: t("../templates/src/components/compositor/Node.tsx"),
dest: "src/components/compositor/Node.tsx"
},
{
src: t("../templates/src/components/compositor/NodeWithGuid.tsx"),
dest: "src/components/compositor/NodeWithGuid.tsx"
},
{
src: t(
"../templates/src/components/compositor/nodes/RenderChildren.tsx"
),
dest: "src/components/compositor/nodes/RenderChildren.tsx"
},
{
src: t(
"../templates/src/components/compositor/nodes/GhostInsertBlock.tsx"
),
dest: "src/components/compositor/nodes/GhostInsertBlock.tsx"
},
{
src: t(
"../templates/src/components/compositor/nodes/StoryFragment.tsx"
),
dest: "src/components/compositor/nodes/StoryFragment.tsx"
},
{
src: t("../templates/src/components/compositor/nodes/Pane.tsx"),
dest: "src/components/compositor/nodes/Pane.tsx"
},
{
src: t(
"../templates/src/components/compositor/nodes/Pane_eraser.tsx"
),
dest: "src/components/compositor/nodes/Pane_eraser.tsx"
},
{
src: t(
"../templates/src/components/compositor/nodes/Pane_layout.tsx"
),
dest: "src/components/compositor/nodes/Pane_layout.tsx"
},
{
src: t("../templates/src/components/compositor/nodes/Markdown.tsx"),
dest: "src/components/compositor/nodes/Markdown.tsx"
},
{
src: t(
"../templates/src/components/compositor/nodes/BgPaneWrapper.tsx"
),
dest: "src/components/compositor/nodes/BgPaneWrapper.tsx"
},
{
src: t("../templates/src/components/compositor/nodes/Widget.tsx"),
dest: "src/components/compositor/nodes/Widget.tsx"
},
{
src: t(
"../templates/src/components/compositor/nodes/TagElement.tsx"
),
dest: "src/components/compositor/nodes/TagElement.tsx"
},
{
src: t(
"../templates/src/components/compositor/nodes/tagElements/TabIndicator.tsx"
),
dest: "src/components/compositor/nodes/tagElements/TabIndicator.tsx"
},
{
src: t(
"../templates/src/components/compositor/nodes/tagElements/NodeBasicTag.tsx"
),
dest: "src/components/compositor/nodes/tagElements/NodeBasicTag.tsx"
},
{
src: t(
"../templates/src/components/compositor/nodes/tagElements/NodeBasicTag_insert.tsx"
),
dest: "src/components/compositor/nodes/tagElements/NodeBasicTag_insert.tsx"
},
{
src: t(
"../templates/src/components/compositor/nodes/tagElements/NodeBasicTag_eraser.tsx"
),
dest: "src/components/compositor/nodes/tagElements/NodeBasicTag_eraser.tsx"
},
{
src: t(
"../templates/src/components/compositor/nodes/tagElements/NodeBasicTag_settings.tsx"
),
dest: "src/components/compositor/nodes/tagElements/NodeBasicTag_settings.tsx"
},
{
src: t(
"../templates/src/components/compositor/nodes/tagElements/NodeText.tsx"
),
dest: "src/components/compositor/nodes/tagElements/NodeText.tsx"
},
{
src: t(
"../templates/src/components/compositor/nodes/tagElements/NodeAnchorComponent.tsx"
),
dest: "src/components/compositor/nodes/tagElements/NodeAnchorComponent.tsx"
},
{
src: t(
"../templates/src/components/compositor/nodes/tagElements/NodeA.tsx"
),
dest: "src/components/compositor/nodes/tagElements/NodeA.tsx"
},
{
src: t(
"../templates/src/components/compositor/nodes/tagElements/NodeA_eraser.tsx"
),
dest: "src/components/compositor/nodes/tagElements/NodeA_eraser.tsx"
},
{
src: t(
"../templates/src/components/compositor/nodes/tagElements/NodeButton.tsx"
),
dest: "src/components/compositor/nodes/tagElements/NodeButton.tsx"
},
{
src: t(
"../templates/src/components/compositor/nodes/tagElements/NodeButton_eraser.tsx"
),
dest: "src/components/compositor/nodes/tagElements/NodeButton_eraser.tsx"
},
{
src: t(
"../templates/src/components/compositor/nodes/tagElements/NodeImg.tsx"
),
dest: "src/components/compositor/nodes/tagElements/NodeImg.tsx"
},
// Edit widgets
{
src: t("../templates/src/components/edit/widgets/BeliefWidget.tsx"),
dest: "src/components/edit/widgets/BeliefWidget.tsx"
},
{
src: t(
"../templates/src/components/edit/widgets/InteractiveDisclosureWidget.tsx"
),
dest: "src/components/edit/widgets/InteractiveDisclosureWidget.tsx"
},
{
src: t(
"../templates/src/components/edit/widgets/IdentifyAsWidget.tsx"
),
dest: "src/components/edit/widgets/IdentifyAsWidget.tsx"
},
{
src: t("../templates/src/components/edit/widgets/ToggleWidget.tsx"),
dest: "src/components/edit/widgets/ToggleWidget.tsx"
},
{
src: t("../templates/src/components/edit/widgets/BunnyWidget.tsx"),
dest: "src/components/edit/widgets/BunnyWidget.tsx"
},
{
src: t("../templates/src/components/edit/widgets/SignupWidget.tsx"),
dest: "src/components/edit/widgets/SignupWidget.tsx"
},
{
src: t(
"../templates/src/components/edit/widgets/YouTubeWidget.tsx"
),
dest: "src/components/edit/widgets/YouTubeWidget.tsx"
},
// Compositor fields
{
src: t("../templates/src/components/fields/SingleParam.tsx"),
dest: "src/components/fields/SingleParam.tsx"
},
{
src: t("../templates/src/components/fields/BooleanParam.tsx"),
dest: "src/components/fields/BooleanParam.tsx"
},
{
src: t("../templates/src/components/fields/MultiParam.tsx"),
dest: "src/components/fields/MultiParam.tsx"
},
{
src: t("../templates/src/components/fields/ImageUpload.tsx"),
dest: "src/components/fields/ImageUpload.tsx"
},
{
src: t("../templates/src/components/fields/ArtpackImage.tsx"),
dest: "src/components/fields/ArtpackImage.tsx"
},
{
src: t("../templates/src/components/fields/BackgroundImage.tsx"),
dest: "src/components/fields/BackgroundImage.tsx"
},
{
src: t(
"../templates/src/components/fields/BackgroundImageWrapper.tsx"
),
dest: "src/components/fields/BackgroundImageWrapper.tsx"
},
{
src: t("../templates/src/components/fields/ColorPickerCombo.tsx"),
dest: "src/components/fields/ColorPickerCombo.tsx"
},
{
src: t(
"../templates/src/components/fields/PaneBreakCollectionSelector.tsx"
),
dest: "src/components/fields/PaneBreakCollectionSelector.tsx"
},
{
src: t(
"../templates/src/components/fields/PaneBreakShapeSelector.tsx"
),
dest: "src/components/fields/PaneBreakShapeSelector.tsx"
},
{
src: t(
"../templates/src/components/fields/SelectedTailwindClass.tsx"
),
dest: "src/components/fields/SelectedTailwindClass.tsx"
},
{
src: t("../templates/src/components/fields/ViewportComboBox.tsx"),
dest: "src/components/fields/ViewportComboBox.tsx"
},
{
src: t(
"../templates/src/components/fields/BunnyMomentSelector.tsx"
),
dest: "src/components/fields/BunnyMomentSelector.tsx"
},
{
src: t(
"../templates/src/components/fields/ActionBuilderTimeSelector.tsx"
),
dest: "src/components/fields/ActionBuilderTimeSelector.tsx"
},
// Compositor elements
{
src: t(
"../templates/src/components/compositor/elements/Belief.tsx"
),
dest: "src/components/compositor/elements/Belief.tsx"
},
{
src: t(
"../templates/src/components/compositor/elements/ToggleBelief.tsx"
),
dest: "src/components/compositor/elements/ToggleBelief.tsx"
},
{
src: t(
"../templates/src/components/compositor/elements/IdentifyAs.tsx"
),
dest: "src/components/compositor/elements/IdentifyAs.tsx"
},
{
src: t(
"../templates/src/components/compositor/elements/SignUp.tsx"
),
dest: "src/components/compositor/elements/SignUp.tsx"
},
{
src: t(
"../templates/src/components/compositor/elements/BunnyVideo.tsx"
),
dest: "src/components/compositor/elements/BunnyVideo.tsx"
},
{
src: t(
"../templates/src/components/compositor/elements/YouTubeWrapper.tsx"
),
dest: "src/components/compositor/elements/YouTubeWrapper.tsx"
},
{
src: t(
"../templates/src/components/compositor/elements/BgVisualBreak.tsx"
),
dest: "src/components/compositor/elements/BgVisualBreak.tsx"
},
{
src: t(
"../templates/src/components/compositor/elements/BgImage.tsx"
),
dest: "src/components/compositor/elements/BgImage.tsx"
},
{
src: t("../templates/src/components/compositor/elements/Svg.tsx"),
dest: "src/components/compositor/elements/Svg.tsx"
},
{
src: t(
"../templates/src/components/compositor/elements/PlayButton.tsx"
),
dest: "src/components/compositor/elements/PlayButton.tsx"
},
// Compositor panels
{
src: t(
"../templates/src/components/edit/storyfragment/StoryFragmentConfigPanel.tsx"
),
dest: "src/components/edit/storyfragment/StoryFragmentConfigPanel.tsx"
},
{
src: t(
"../templates/src/components/edit/storyfragment/StoryFragmentPanel_title.tsx"
),
dest: "src/components/edit/storyfragment/StoryFragmentPanel_title.tsx"
},
{
src: t(
"../templates/src/components/edit/storyfragment/StoryFragmentPanel_slug.tsx"
),
dest: "src/components/edit/storyfragment/StoryFragmentPanel_slug.tsx"
},
{
src: t(
"../templates/src/components/edit/storyfragment/StoryFragmentPanel_menu.tsx"
),
dest: "src/components/edit/storyfragment/StoryFragmentPanel_menu.tsx"
},
{
src: t(
"../templates/src/components/edit/storyfragment/StoryFragmentPanel_og.tsx"
),
dest: "src/components/edit/storyfragment/StoryFragmentPanel_og.tsx"
},
{
src: t("../templates/src/components/edit/pane/AddPanePanel.tsx"),
dest: "src/components/edit/pane/AddPanePanel.tsx"
},
{
src: t(
"../templates/src/components/edit/pane/AddPanePanel_break.tsx"
),
dest: "src/components/edit/pane/AddPanePanel_break.tsx"
},
{
src: t(
"../templates/src/components/edit/pane/AddPanePanel_codehook.tsx"
),
dest: "src/components/edit/pane/AddPanePanel_codehook.tsx"
},
{
src: t(
"../templates/src/components/edit/pane/AddPanePanel_newAICopy_modal.tsx"
),
dest: "src/components/edit/pane/AddPanePanel_newAICopy_modal.tsx"
},
{
src: t(
"../templates/src/components/edit/pane/AddPanePanel_newAICopy.tsx"
),
dest: "src/components/edit/pane/AddPanePanel_newAICopy.tsx"
},
{
src: t(
"../templates/src/components/edit/pane/AddPanePanel_newCopyMode.tsx"
),
dest: "src/components/edit/pane/AddPanePanel_newCopyMode.tsx"
},
{
src: t(
"../templates/src/components/edit/pane/AddPanePanel_newCustomCopy.tsx"
),
dest: "src/components/edit/pane/AddPanePanel_newCustomCopy.tsx"
},
{
src: t(
"../templates/src/components/edit/pane/AddPanePanel_new.tsx"
),
dest: "src/components/edit/pane/AddPanePanel_new.tsx"
},
{
src: t(
"../templates/src/components/edit/pane/AddPanePanel_reuse.tsx"
),
dest: "src/components/edit/pane/AddPanePanel_reuse.tsx"
},
{
src: t("../templates/src/components/edit/pane/ConfigPanePanel.tsx"),
dest: "src/components/edit/pane/ConfigPanePanel.tsx"
},
{
src: t(
"../templates/src/components/edit/pane/PanePanel_impression.tsx"
),
dest: "src/components/edit/pane/PanePanel_impression.tsx"
},
{
src: t("../templates/src/components/edit/pane/PanePanel_path.tsx"),
dest: "src/components/edit/pane/PanePanel_path.tsx"
},
{
src: t("../templates/src/components/edit/pane/PanePanel_title.tsx"),
dest: "src/components/edit/pane/PanePanel_title.tsx"
},
{
src: t(
"../templates/src/components/edit/context/ContextPaneConfig.tsx"
),
dest: "src/components/edit/context/ContextPaneConfig.tsx"
},
{
src: t(
"../templates/src/components/edit/context/ContextPaneConfig_title.tsx"
),
dest: "src/components/edit/context/ContextPaneConfig_title.tsx"
},
{
src: t(
"../templates/src/components/edit/context/ContextPaneConfig_slug.tsx"
),
dest: "src/components/edit/context/ContextPaneConfig_slug.tsx"
},
{
src: t("../templates/src/components/edit/pane/PageGenSelector.tsx"),
dest: "src/components/edit/pane/PageGenSelector.tsx"
},
{
src: t("../templates/src/components/edit/pane/PageGenSpecial.tsx"),
dest: "src/components/edit/pane/PageGenSpecial.tsx"
},
{
src: t("../templates/src/components/edit/pane/PageGen.tsx"),
dest: "src/components/edit/pane/PageGen.tsx"
},
{
src: t("../templates/src/components/edit/pane/PageGen_preview.tsx"),
dest: "src/components/edit/pane/PageGen_preview.tsx"
},
// Compositor previews
{
src: t(
"../templates/src/components/compositor/preview/PanesPreviewGenerator.tsx"
),
dest: "src/components/compositor/preview/PanesPreviewGenerator.tsx"
},
{
src: t(
"../templates/src/components/compositor/preview/PaneSnapshotGenerator.tsx"
),
dest: "src/components/compositor/preview/PaneSnapshotGenerator.tsx"
},
{
src: t(
"../templates/src/components/compositor/preview/OgImagePreview.tsx"
),
dest: "src/components/compositor/preview/OgImagePreview.tsx"
},
{
src: t(
"../templates/src/components/compositor/preview/VisualBreakPreview.tsx"
),
dest: "src/components/compositor/preview/VisualBreakPreview.tsx"
},
{
src: t(
"../templates/src/components/compositor/preview/ListContentPreview.tsx"
),
dest: "src/components/compositor/preview/ListContentPreview.tsx"
},
{
src: t(
"../templates/src/components/compositor/preview/FeaturedArticlePreview.tsx"
),
dest: "src/components/compositor/preview/FeaturedArticlePreview.tsx"
},
// Server side stores
{
src: t("../templates/src/stores/backend.ts"),
dest: "src/stores/backend.ts"
},
// Compositor stores
{
src: t("../templates/src/stores/nodes.ts"),
dest: "src/stores/nodes.ts"
},
{
src: t("../templates/src/stores/notificationSystem.ts"),
dest: "src/stores/notificationSystem.ts"
},
{
src: t("../templates/src/stores/nodesHistory.ts"),
dest: "src/stores/nodesHistory.ts"
},
// AAI utils
{
src: t("../templates/src/utils/aai/getTitleSlug.ts"),
dest: "src/utils/aai/getTitleSlug.ts"
},
// Compositor utils - etl
{
src: t("../templates/src/utils/etl/index.ts"),
dest: "src/utils/etl/index.ts"
},
{
src: t("../templates/src/utils/etl/extractor.ts"),
dest: "src/utils/etl/extractor.ts"
},
{
src: t("../templates/src/utils/etl/transformer.ts"),
dest: "src/utils/etl/transformer.ts"
},
{
src: t("../templates/src/utils/etl/loader.ts"),
dest: "src/utils/etl/loader.ts"
},
// Compositor utils
{
src: t("../templates/src/utils/compositor/processMarkdown.ts"),
dest: "src/utils/compositor/processMarkdown.ts"
},
{
src: t(
"../templates/src/utils/compositor/templateMarkdownStyles.ts"
),
dest: "src/utils/compositor/templateMarkdownStyles.ts"
},
{
src: t(
"../templates/src/utils/compositor/nodesMarkdownGenerator.ts"
),
dest: "src/utils/compositor/nodesMarkdownGenerator.ts"
},
{
src: t("../templates/src/utils/compositor/nodesHelper.ts"),
dest: "src/utils/compositor/nodesHelper.ts"
},
{
src: t("../templates/src/utils/compositor/allowInsert.ts"),
dest: "src/utils/compositor/allowInsert.ts"
},
{
src: t("../templates/src/utils/compositor/typeGuards.ts"),
dest: "src/utils/compositor/typeGuards.ts"
},
{
src: t("../templates/src/utils/compositor/domHelpers.ts"),
dest: "src/utils/compositor/domHelpers.ts"
},
{
src: t("../templates/src/utils/compositor/handleClickEvent.ts"),
dest: "src/utils/compositor/handleClickEvent.ts"
},
{
src: t(
"../templates/src/utils/compositor/reduceNodesClassNames.ts"
),
dest: "src/utils/compositor/reduceNodesClassNames.ts"
},
{
src: t("../templates/src/utils/compositor/tailwindClasses.ts"),
dest: "src/utils/compositor/tailwindClasses.ts"
},
{
src: t("../templates/src/utils/compositor/tailwindColors.ts"),
dest: "src/utils/compositor/tailwindColors.ts"
},
{
src: t("../templates/src/utils/compositor/TemplateNodes.ts"),
dest: "src/utils/compositor/TemplateNodes.ts"
},
{
src: t("../templates/src/utils/compositor/TemplatePanes.ts"),
dest: "src/utils/compositor/TemplatePanes.ts"
},
{
src: t("../templates/src/utils/compositor/TemplateMarkdowns.ts"),
dest: "src/utils/compositor/TemplateMarkdowns.ts"
},
{
src: t("../templates/src/constants/tailwindColors.json"),
dest: "src/constants/tailwindColors.json"
},
{
src: t("../templates/src/constants/shapes.ts"),
dest: "src/constants/shapes.ts"
},
{
src: t("../templates/src/constants/beliefs.ts"),
dest: "src/constants/beliefs.ts"
},
{
src: t("../templates/src/constants/prompts.json"),
dest: "src/constants/prompts.json"
},
// Stores
{
src: t("../templates/src/stores/storykeep.ts"),
dest: "src/stores/storykeep.ts"
},
{
src: t("../templates/src/stores/analytics.ts"),
dest: "src/stores/analytics.ts"
},
{
src: t("../templates/src/stores/orphanAnalysis.ts"),
dest: "src/stores/orphanAnalysis.ts"
},
{
src: t("../templates/src/stores/navigation.ts"),
dest: "src/stores/navigation.ts"
},
// Action utilities
{
src: t("../templates/src/utils/actions/lispLexer.ts"),
dest: "src/utils/actions/lispLexer.ts"
},
{
src: t("../templates/src/utils/actions/preParse_Action.ts"),
dest: "src/utils/actions/preParse_Action.ts"
},
{
src: t("../templates/src/utils/actions/preParse_Clicked.ts"),
dest: "src/utils/actions/preParse_Clicked.ts"
},
{
src: t("../templates/src/utils/actions/preParse_Impression.ts"),
dest: "src/utils/actions/preParse_Impression.ts"
},
{
src: t("../templates/src/utils/actions/preParse_Bunny.ts"),
dest: "src/utils/actions/preParse_Bunny.ts"
},
{
src: t("../templates/src/utils/backend.ts"),
dest: "src/utils/backend.ts"
},
{
src: t("../templates/src/utils/api.ts"),
dest: "src/utils/api.ts"
},
{
src: t("../templates/src/utils/api/brandConfig.ts"),
dest: "src/utils/api/brandConfig.ts"
},
{
src: t("../templates/src/utils/auth.ts"),
dest: "src/utils/auth.ts"
},
{
src: t("../templates/src/utils/helpers.ts"),
dest: "src/utils/helpers.ts"
},
{
src: t("../templates/src/utils/useInterval.ts"),
dest: "src/utils/useInterval.ts"
},
{
src: t("../templates/src/utils/profileStorage.ts"),
dest: "src/utils/profileStorage.ts"
},
{
src: t("../templates/src/utils/api/fileHelpers.ts"),
dest: "src/utils/api/fileHelpers.ts"
},
{
src: t("../templates/src/utils/api/brandHelpers.ts"),
dest: "src/utils/api/brandHelpers.ts"
},
{
src: t("../templates/src/utils/api/advancedConfig.ts"),
dest: "src/utils/api/advancedConfig.ts"
},
{
src: t("../templates/src/utils/api/advancedHelpers.ts"),
dest: "src/utils/api/advancedHelpers.ts"
},
{
src: t("../templates/src/utils/api/resourceConfig.ts"),
dest: "src/utils/api/resourceConfig.ts"
},
{
src: t("../templates/src/utils/api/resourceHelpers.ts"),
dest: "src/utils/api/resourceHelpers.ts"
},
{
src: t("../templates/src/utils/api/menuHelpers.ts"),
dest: "src/utils/api/menuHelpers.ts"
},
{
src: t("../templates/src/utils/api/menuConfig.ts"),
dest: "src/utils/api/menuConfig.ts"
},
{
src: t("../templates/src/utils/api/beliefHelpers.ts"),
dest: "src/utils/api/beliefHelpers.ts"
},
{
src: t("../templates/src/utils/api/beliefConfig.ts"),
dest: "src/utils/api/beliefConfig.ts"
},
// Layouts
{
src: t("../templates/src/layouts/Layout.astro"),
dest: "src/layouts/Layout.astro"
},
// Pages
{
src: t("../templates/src/pages/[...slug].astro"),
dest: "src/pages/[...slug].astro"
},
{
src: t("../templates/src/pages/context/[...contextSlug].astro"),
dest: "src/pages/context/[...contextSlug].astro"
},
{
src: t(
"../templates/src/pages/context/[...contextSlug]/edit.astro"
),
dest: "src/pages/context/[...contextSlug]/edit.astro"
},
{
src: t("../templates/src/pages/storykeep.astro"),
dest: "src/pages/storykeep.astro"
},
{
src: t("../templates/src/pages/storykeep/init.astro"),
dest: "src/pages/storykeep/init.astro"
},
{
src: t("../templates/src/pages/storykeep/content.astro"),
dest: "src/pages/storykeep/content.astro"
},
{
src: t("../templates/src/pages/storykeep/branding.astro"),
dest: "src/pages/storykeep/branding.astro"
},
{
src: t("../templates/src/pages/storykeep/advanced.astro"),
dest: "src/pages/storykeep/advanced.astro"
},
{
src: t("../templates/src/pages/maint.astro"),
dest: "src/pages/maint.astro"
},
{
src: t("../templates/src/pages/404.astro"),
dest: "src/pages/404.astro"
},
{
src: t("../templates/src/pages/llms.txt.ts"),
dest: "src/pages/llms.txt.ts"
},
{
src: t("../templates/src/pages/robots.txt.ts"),
dest: "src/pages/robots.txt.ts"
},
{
src: t("../templates/src/pages/sitemap.xml.ts"),
dest: "src/pages/sitemap.xml.ts"
},
{
src: t("../templates/src/pages/api/tailwind.ts"),
dest: "src/pages/api/tailwind.ts"
},
// Authentication Pages
{
src: t("../templates/src/pages/storykeep/login.astro"),
dest: "src/pages/storykeep/login.astro"
},
{
src: t("../templates/src/pages/storykeep/logout.astro"),
dest: "src/pages/storykeep/logout.astro"
},
{
src: t("../templates/src/pages/storykeep/profile.astro"),
dest: "src/pages/storykeep/profile.astro"
},
// API Routes
{
src: t("../templates/src/pages/api/auth/profile.ts"),
dest: "src/pages/api/auth/profile.ts"
},
{
src: t("../templates/src/pages/api/auth/decode.ts"),
dest: "src/pages/api/auth/decode.ts"
},
{
src: t("../templates/src/pages/api/auth/login.ts"),
dest: "src/pages/api/auth/login.ts"
},
{
src: t("../templates/src/pages/api/auth/logout.ts"),
dest: "src/pages/api/auth/logout.ts"
},
{
src: t("../templates/src/pages/api/orphan-analysis.ts"),
dest: "src/pages/api/orphan-analysis.ts"
},
// Base Components
{
src: t("../templates/src/components/Header.astro"),
dest: "src/components/Header.astro"
},
{
src: t("../templates/src/components/Footer.astro"),
dest: "src/components/Footer.astro"
},
{
src: t("../templates/src/components/Menu.tsx"),
dest: "src/components/Menu.tsx"
},
{
src: t("../templates/src/components/Fragment.astro"),
dest: "src/components/Fragment.astro"
},
// Search Components
{
src: t("../templates/src/components/search/SearchWrapper.tsx"),
dest: "src/components/search/SearchWrapper.tsx"
},
{
src: t("../templates/src/components/search/SearchModal.tsx"),
dest: "src/components/search/SearchModal.tsx"
},
{
src: t("../templates/src/components/search/SearchResults.tsx"),
dest: "src/components/search/SearchResults.tsx"
},
{
src: t("../templates/src/hooks/useSearch.ts"),
dest: "src/hooks/useSearch.ts"
},
// Profile Components
{
src: t("../templates/src/components/profile/ProfileConsent.tsx"),
dest: "src/components/profile/ProfileConsent.tsx"
},
{
src: t("../templates/src/components/profile/ProfileSwitch.tsx"),
dest: "src/components/profile/ProfileSwitch.tsx"
},
{
src: t("../templates/src/components/profile/ProfileCreate.tsx"),
dest: "src/components/profile/ProfileCreate.tsx"
},
{
src: t("../templates/src/components/profile/ProfileEdit.tsx"),
dest: "src/components/profile/ProfileEdit.tsx"
},
{
src: t("../templates/src/components/profile/ProfileUnlock.tsx"),
dest: "src/components/profile/ProfileUnlock.tsx"
},
// Form System
{
src: t("../templates/src/hooks/useFormState.ts"),
dest: "src/hooks/useFormState.ts"
},
{
src: t("../templates/src/constants/brandThemes.ts"),
dest: "src/constants/brandThemes.ts"
},
{
src: t("../templates/src/types/formTypes.ts"),
dest: "src/types/formTypes.ts"
},
{
src: t("../templates/src/components/form/ParagraphArrayInput.tsx"),
dest: "src/components/form/ParagraphArrayInput.tsx"
},
{
src: t("../templates/src/components/form/StringInput.tsx"),
dest: "src/components/form/StringInput.tsx"
},
{
src: t("../templates/src/components/form/StringArrayInput.tsx"),
dest: "src/components/form/StringArrayInput.tsx"
},
{
src: t("../templates/src/components/form/BooleanToggle.tsx"),
dest: "src/components/form/BooleanToggle.tsx"
},
{
src: t("../templates/src/components/form/EnumSelect.tsx"),
dest: "src/components/form/EnumSelect.tsx"
},
{
src: t("../templates/src/components/form/ColorPicker.tsx"),
dest: "src/components/form/ColorPicker.tsx"
},
{
src: t("../templates/src/components/form/FileUpload.tsx"),
dest: "src/components/form/FileUpload.tsx"
},
{
src: t("../templates/src/components/form/NumberInput.tsx"),
dest: "src/components/form/NumberInput.tsx"
},
{
src: t("../templates/src/components/form/DateTimeInput.tsx"),
dest: "src/components/form/DateTimeInput.tsx"
},
{
src: t("../templates/src/components/form/UnsavedChangesBar.tsx"),
dest: "src/components/form/UnsavedChangesBar.tsx"
},
{
src: t("../templates/src/components/form/ActionBuilderField.tsx"),
dest: "src/components/form/ActionBuilderField.tsx"
},
{
src: t(
"../templates/src/components/form/ActionBuilderBeliefSelector.tsx"
),
dest: "src/components/form/ActionBuilderBeliefSelector.tsx"
},
{
src: t("../templates/src/components/form/MagicPathBuilder.tsx"),
dest: "src/components/form/MagicPathBuilder.tsx"
},
{
src: t(
"../templates/src/components/form/ActionBuilderSlugSelector.tsx"
),
dest: "src/components/form/ActionBuilderSlugSelector.tsx"
},
// Brand Form Components
{
src: t(
"../templates/src/components/form/brand/BrandColorsSection.tsx"
),
dest: "src/components/form/brand/BrandColorsSection.tsx"
},
{
src: t(
"../templates/src/components/form/brand/BrandAssetsSection.tsx"
),
dest: "src/components/form/brand/BrandAssetsSection.tsx"
},
{
src: t(
"../templates/src/components/form/brand/SiteConfigSection.tsx"
),
dest: "src/components/form/brand/SiteConfigSection.tsx"
},
{
src: t(
"../templates/src/components/form/brand/SocialLinksSection.tsx"
),
dest: "src/components/form/brand/SocialLinksSection.tsx"
},
{
src: t("../templates/src/components/form/brand/SEOSection.tsx"),
dest: "src/components/form/brand/SEOSection.tsx"
},
// Advanced Configuration Components
{
src: t(
"../templates/src/components/form/advanced/AuthConfigSection.tsx"
),
dest: "src/components/form/advanced/AuthConfigSection.tsx"
},
{
src: t(
"../templates/src/components/form/advanced/APIConfigSection.tsx"
),
dest: "src/components/form/advanced/APIConfigSection.tsx"
},
// StoryKeep Dashboard Components
{
src: t(
"../templates/src/components/storykeep/StoryKeepBackdrop.astro"
),
dest: "src/components/storykeep/StoryKeepBackdrop.astro"
},
{
src: t("../templates/src/components/storykeep/Dashboard.tsx"),
dest: "src/components/storykeep/Dashboard.tsx"
},
{
src: t(
"../templates/src/components/storykeep/state/BrandingWrapper.tsx"
),
dest: "src/components/storykeep/state/BrandingWrapper.tsx"
},
{
src: t(
"../templates/src/components/storykeep/state/FetchAnalytics.tsx"
),
dest: "src/components/storykeep/state/FetchAnalytics.tsx"
},
{
src: t("../templates/src/components/storykeep/widgets/Wizard.tsx"),
dest: "src/components/storykeep/widgets/Wizard.tsx"
},
{
src: t(
"../templates/src/components/storykeep/Dashboard_Advanced.tsx"
),
dest: "src/components/storykeep/Dashboard_Advanced.tsx"
},
{
src: t(
"../templates/src/components/storykeep/Dashboard_Analytics.tsx"
),
dest: "src/components/storykeep/Dashboard_Analytics.tsx"
},
{
src: t(
"../templates/src/components/storykeep/Dashboard_Branding.tsx"
),
dest: "src/components/storykeep/Dashboard_Branding.tsx"
},
{
src: t(
"../templates/src/components/storykeep/Dashboard_Content.tsx"
),
dest: "src/components/storykeep/Dashboard_Content.tsx"
},
{
src: t(
"../templates/src/components/storykeep/Dashboard_Activity.tsx"
),
dest: "src/components/storykeep/Dashboard_Activity.tsx"
},
{
src: t(
"../templates/src/components/storykeep/widgets/ResponsiveLine.tsx"
),
dest: "src/components/storykeep/widgets/ResponsiveLine.tsx"
},
// Content Management Components
{
src: t(
"../templates/src/components/storykeep/controls/content/ManageContent.tsx"
),
dest: "src/components/storykeep/controls/content/ManageContent.tsx"
},
{
src: t(
"../templates/src/components/storykeep/controls/content/ContentSummary.tsx"
),
dest: "src/components/storykeep/controls/content/ContentSummary.tsx"
},
{
src: t(
"../templates/src/components/storykeep/controls/content/StoryFragmentTable.tsx"
),
dest: "src/components/storykeep/controls/content/StoryFragmentTable.tsx"
},
{
src: t(
"../templates/src/components/storykeep/controls/content/ContentBrowser.tsx"
),
dest: "src/components/storykeep/controls/content/ContentBrowser.tsx"
},
{
src: t(
"../templates/src/components/form/content/ContentSummary.tsx"
),
dest: "src/components/form/content/ContentSummary.tsx"
},
{
src: t(
"../templates/src/components/storykeep/controls/UsageCell.tsx"
),
dest: "src/components/storykeep/controls/UsageCell.tsx"
},
// Menu Management Components
{
src: t(
"../templates/src/components/storykeep/controls/content/MenuTable.tsx"
),
dest: "src/components/storykeep/controls/content/MenuTable.tsx"
},
{
src: t(
"../templates/src/components/storykeep/controls/content/MenuForm.tsx"
),
dest: "src/components/storykeep/controls/content/MenuForm.tsx"
},
// Resource Management Components
{
src: t(
"../templates/src/components/storykeep/controls/content/ResourceBulkIngest.tsx"
),
dest: "src/components/storykeep/controls/content/ResourceBulkIngest.tsx"
},
{
src: t(
"../templates/src/components/storykeep/controls/content/ResourceForm.tsx"
),
dest: "src/components/storykeep/controls/content/ResourceForm.tsx"
},
{
src: t(
"../templates/src/components/storykeep/controls/content/ResourceTable.tsx"
),
dest: "src/components/storykeep/controls/content/ResourceTable.tsx"
},
{
src: t(
"../templates/src/components/storykeep/controls/content/KnownResourceTable.tsx"
),
dest: "src/components/storykeep/controls/content/KnownResourceTable.tsx"
},
{
src: t(
"../templates/src/components/storykeep/controls/content/KnownResourceForm.tsx"
),
dest: "src/components/storykeep/controls/content/KnownResourceForm.tsx"
},
// Belief Management Components
{
src: t(
"../templates/src/components/storykeep/controls/content/BeliefTable.tsx"
),
dest: "src/components/storykeep/controls/content/BeliefTable.tsx"
},
{
src: t(
"../templates/src/components/storykeep/controls/content/BeliefForm.tsx"
),
dest: "src/components/storykeep/controls/content/BeliefForm.tsx"
},
// CodeHook Components
{
src: t("../templates/src/components/codehooks/EpinetWrapper.tsx"),
dest: "src/components/codehooks/EpinetWrapper.tsx"
},
{
src: t(
"../templates/src/components/codehooks/EpinetDurationSelector.tsx"
),
dest: "src/components/codehooks/EpinetDurationSelector.tsx"
},
{
src: t("../templates/src/components/codehooks/EpinetTableView.tsx"),
dest: "src/components/codehooks/EpinetTableView.tsx"
},
{
src: t("../templates/src/components/codehooks/SankeyDiagram.tsx"),
dest: "src/components/codehooks/SankeyDiagram.tsx"
},
{
src: t("../templates/src/components/codehooks/SearchWidget.tsx"),
dest: "src/components/codehooks/SearchWidget.tsx"
},
{
src: t(
"../templates/src/components/codehooks/FeaturedArticle.astro"
),
dest: "src/components/codehooks/FeaturedArticle.astro"
},
{
src: t(
"../templates/src/components/codehooks/FeaturedArticleSetup.tsx"
),
dest: "src/components/codehooks/FeaturedArticleSetup.tsx"
},
{
src: t("../templates/src/components/codehooks/ListContent.astro"),
dest: "src/components/codehooks/ListContent.astro"
},
{
src: t(
"../templates/src/components/codehooks/ListContentSetup.tsx"
),
dest: "src/components/codehooks/ListContentSetup.tsx"
},
{
src: t(
"../templates/src/components/codehooks/BunnyVideoWrapper.astro"
),
dest: "src/components/codehooks/BunnyVideoWrapper.astro"
},
{
src: t("../templates/src/components/codehooks/BunnyVideoSetup.tsx"),
dest: "src/components/codehooks/BunnyVideoSetup.tsx"
},
// Widget Components
{
src: t("../templates/src/components/widgets/Impression.tsx"),
dest: "src/components/widgets/Impression.tsx"
},
{
src: t("../templates/src/components/widgets/ImpressionWrapper.tsx"),
dest: "src/components/widgets/ImpressionWrapper.tsx"
},
{
src: t("../templates/src/components/widgets/BunnyVideoHero.astro"),
dest: "src/components/widgets/BunnyVideoHero.astro"
},
// Server Scripts
{
src: t("../templates/src/lib/storyData.ts"),
dest: "src/lib/storyData.ts"
},
{
src: t("../templates/src/lib/session.ts"),
dest: "src/lib/session.ts"
},
// Client Scripts
{
src: t("../templates/src/client/htmx.min.js"),
dest: "public/client/htmx.min.js"
},
{
src: t("../templates/src/client/view.js"),
dest: "public/client/view.js"
},
{
src: t("../templates/src/client/app.js"),
dest: "public/client/app.js"
},
// StoryKeep Editor (add new section)
{
src: t("../templates/src/pages/[...slug]/edit.astro"),
dest: "src/pages/[...slug]/edit.astro"
},
{
src: t("../templates/src/utils/layout.ts"),
dest: "src/utils/layout.ts"
},
// StoryKeep Components
{
src: t("../templates/src/components/edit/Header.tsx"),
dest: "src/components/edit/Header.tsx"
},
{
src: t("../templates/src/components/edit/ToolMode.tsx"),
dest: "src/components/edit/ToolMode.tsx"
},
{
src: t("../templates/src/components/edit/ToolBar.tsx"),
dest: "src/components/edit/ToolBar.tsx"
},
{
src: t("../templates/src/components/edit/SettingsPanel.tsx"),
dest: "src/components/edit/SettingsPanel.tsx"
},
{
src: t("../templates/src/components/edit/PanelSwitch.tsx"),
dest: "src/components/edit/PanelSwitch.tsx"
},
{
src: t("../templates/src/components/edit/state/SaveModal.tsx"),
dest: "src/components/edit/state/SaveModal.tsx"
},
{
src: t("../templates/src/components/edit/state/StylesMemory.tsx"),
dest: "src/components/edit/state/StylesMemory.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleBreakPanel.tsx"
),
dest: "src/components/edit/panels/StyleBreakPanel.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleCodeHookPanel.tsx"
),
dest: "src/components/edit/panels/StyleCodeHookPanel.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleElementPanel_add.tsx"
),
dest: "src/components/edit/panels/StyleElementPanel_add.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleElementPanel_remove.tsx"
),
dest: "src/components/edit/panels/StyleElementPanel_remove.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleElementPanel.tsx"
),
dest: "src/components/edit/panels/StyleElementPanel.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleElementPanel_update.tsx"
),
dest: "src/components/edit/panels/StyleElementPanel_update.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleImagePanel_add.tsx"
),
dest: "src/components/edit/panels/StyleImagePanel_add.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleImagePanel_remove.tsx"
),
dest: "src/components/edit/panels/StyleImagePanel_remove.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleImagePanel.tsx"
),
dest: "src/components/edit/panels/StyleImagePanel.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleImagePanel_update.tsx"
),
dest: "src/components/edit/panels/StyleImagePanel_update.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleLiElementPanel_add.tsx"
),
dest: "src/components/edit/panels/StyleLiElementPanel_add.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleLiElementPanel_remove.tsx"
),
dest: "src/components/edit/panels/StyleLiElementPanel_remove.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleLiElementPanel.tsx"
),
dest: "src/components/edit/panels/StyleLiElementPanel.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleLiElementPanel_update.tsx"
),
dest: "src/components/edit/panels/StyleLiElementPanel_update.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleLinkPanel_add.tsx"
),
dest: "src/components/edit/panels/StyleLinkPanel_add.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleLinkPanel_config.tsx"
),
dest: "src/components/edit/panels/StyleLinkPanel_config.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleLinkPanel_remove.tsx"
),
dest: "src/components/edit/panels/StyleLinkPanel_remove.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleLinkPanel.tsx"
),
dest: "src/components/edit/panels/StyleLinkPanel.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleLinkPanel_update.tsx"
),
dest: "src/components/edit/panels/StyleLinkPanel_update.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleParentPanel_add.tsx"
),
dest: "src/components/edit/panels/StyleParentPanel_add.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleParentPanel_deleteLayer.tsx"
),
dest: "src/components/edit/panels/StyleParentPanel_deleteLayer.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleParentPanel_remove.tsx"
),
dest: "src/components/edit/panels/StyleParentPanel_remove.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleParentPanel.tsx"
),
dest: "src/components/edit/panels/StyleParentPanel.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleParentPanel_update.tsx"
),
dest: "src/components/edit/panels/StyleParentPanel_update.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleWidgetPanel_add.tsx"
),
dest: "src/components/edit/panels/StyleWidgetPanel_add.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleWidgetPanel_config.tsx"
),
dest: "src/components/edit/panels/StyleWidgetPanel_config.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleWidgetPanel_remove.tsx"
),
dest: "src/components/edit/panels/StyleWidgetPanel_remove.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleWidgetPanel.tsx"
),
dest: "src/components/edit/panels/StyleWidgetPanel.tsx"
},
{
src: t(
"../templates/src/components/edit/panels/StyleWidgetPanel_update.tsx"
),
dest: "src/components/edit/panels/StyleWidgetPanel_update.tsx"
},
// Styles
{
src: t("../templates/css/custom.css"),
dest: "public/styles/custom.css"
},
{
src: t("../templates/css/frontend.css"),
dest: "public/styles/frontend.css"
},
{
src: t("../templates/css/storykeep.css"),
dest: "public/styles/storykeep.css"
},
// Fonts
{
src: t("../templates/fonts/Inter-Black.woff2"),
dest: "public/fonts/Inter-Black.woff2"
},
{
src: t("../templates/fonts/Inter-Bold.woff2"),
dest: "public/fonts/Inter-Bold.woff2"
},
{
src: t("../templates/fonts/Inter-Regular.woff2"),
dest: "public/fonts/Inter-Regular.woff2"
},
// Brand Assets
{
src: t("../templates/brand/static.jpg"),
dest: "public/static.jpg"
},
{
src: t("../templates/brand/og.png"),
dest: "public/brand/og.png"
},
{
src: t("../templates/brand/oglogo.png"),
dest: "public/brand/oglogo.png"
},
{
src: t("../templates/brand/favicon.ico"),
dest: "public/brand/favicon.ico"
},
{
src: t("../templates/brand/logo.svg"),
dest: "public/brand/logo.svg"
},
{
src: t("../templates/brand/wordmark.svg"),
dest: "public/brand/wordmark.svg"
},
// Artpack Assets - kCz
{
src: t("../templates/artpacks/kCz/captainBreakfast_1080px.webp"),
dest: "public/artpacks/kCz/captainBreakfast_1080px.webp"
},
{
src: t("../templates/artpacks/kCz/captainBreakfast_1920px.webp"),
dest: "public/artpacks/kCz/captainBreakfast_1920px.webp"
},
{
src: t("../templates/artpacks/kCz/captainBreakfast_600px.webp"),
dest: "public/artpacks/kCz/captainBreakfast_600px.webp"
},
{
src: t("../templates/artpacks/kCz/cleanDrips_1080px.webp"),
dest: "public/artpacks/kCz/cleanDrips_1080px.webp"
},
{
src: t("../templates/artpacks/kCz/cleanDrips_1920px.webp"),
dest: "public/artpacks/kCz/cleanDrips_1920px.webp"
},
{
src: t("../templates/artpacks/kCz/cleanDrips_600px.webp"),
dest: "public/artpacks/kCz/cleanDrips_600px.webp"
},
{
src: t("../templates/artpacks/kCz/crispwaves_1080px.webp"),
dest: "public/artpacks/kCz/crispwaves_1080px.webp"
},
{
src: t("../templates/artpacks/kCz/crispwaves_1920px.webp"),
dest: "public/artpacks/kCz/crispwaves_1920px.webp"
},
{
src: t("../templates/artpacks/kCz/crispwaves_600px.webp"),
dest: "public/artpacks/kCz/crispwaves_600px.webp"
},
{
src: t("../templates/artpacks/kCz/dragon_1080px.webp"),
dest: "public/artpacks/kCz/dragon_1080px.webp"
},
{
src: t("../templates/artpacks/kCz/dragon_1920px.webp"),
dest: "public/artpacks/kCz/dragon_1920px.webp"
},
{
src: t("../templates/artpacks/kCz/dragon_600px.webp"),
dest: "public/artpacks/kCz/dragon_600px.webp"
},
{
src: t("../templates/artpacks/kCz/dragonSkin_1080px.webp"),
dest: "public/artpacks/kCz/dragonSkin_1080px.webp"
},
{
src: t("../templates/artpacks/kCz/dragonSkin_1920px.webp"),
dest: "public/artpacks/kCz/dragonSkin_1920px.webp"
},
{
src: t("../templates/artpacks/kCz/dragonSkin_600px.webp"),
dest: "public/artpacks/kCz/dragonSkin_600px.webp"
},
{
src: t("../templates/artpacks/kCz/nightcity_1080px.webp"),
dest: "public/artpacks/kCz/nightcity_1080px.webp"
},
{
src: t("../templates/artpacks/kCz/nightcity_1920px.webp"),
dest: "public/artpacks/kCz/nightcity_1920px.webp"
},
{
src: t("../templates/artpacks/kCz/nightcity_600px.webp"),
dest: "public/artpacks/kCz/nightcity_600px.webp"
},
{
src: t("../templates/artpacks/kCz/pattern1_1080px.webp"),
dest: "public/artpacks/kCz/pattern1_1080px.webp"
},
{
src: t("../templates/artpacks/kCz/pattern1_1920px.we