From e9db7de13cda8dbecb3f2339848bf760db432252 Mon Sep 17 00:00:00 2001 From: aleidk Date: Tue, 24 Dec 2024 10:50:57 -0300 Subject: [PATCH 1/3] feat(website): add html components imports to build script --- packages/website/.gitignore | 1 + packages/website/_scripts/build.ts | 32 ++++++- .../website/templates/partials/navbar.html | 93 ------------------- 3 files changed, 32 insertions(+), 94 deletions(-) delete mode 100644 packages/website/templates/partials/navbar.html diff --git a/packages/website/.gitignore b/packages/website/.gitignore index 9ac1368..f11efde 100644 --- a/packages/website/.gitignore +++ b/packages/website/.gitignore @@ -2,6 +2,7 @@ # Compiled assets managed by bun static/css/**/* static/js/**/* +templates/ext-components/**/* # Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore diff --git a/packages/website/_scripts/build.ts b/packages/website/_scripts/build.ts index a4ecb9c..2838547 100644 --- a/packages/website/_scripts/build.ts +++ b/packages/website/_scripts/build.ts @@ -1,6 +1,10 @@ import type { BuildConfig, BunPlugin, PluginBuilder } from "bun"; +import { readdir, rm } from "node:fs/promises"; +import { join } from "node:path"; import type { FileImporter } from "sass"; +import { HTMLComponents } from "@mini-strap/components"; + const outdir = "./static"; const nodeModuleImporter: FileImporter<"async"> = { @@ -51,16 +55,42 @@ const assets: BuildConfig[] = [ splitting: true, minify: true, }, + + { + entrypoints: Object.values(HTMLComponents), + outdir: "./templates/ext-components", + target: "browser", + naming: { + // default values + entry: "[name].[ext]", + asset: "[name].[ext]", + chunk: "[name]-[hash].[ext]", + }, + // On by default in Bun v1.2+ + html: true, + experimentalCss: true, + }, ]; -await Promise.all( +const out = await Promise.all( assets.map(async (item) => { const result = await Bun.build(item); if (!result.success) { throw new AggregateError(result.logs, "Build failed"); } + + return result; }), ); +async function deleteJsFiles(folder: string) { + const files = await readdir(folder); + const jsFiles = files.filter((file) => file.endsWith(".js")); + + await Promise.all(jsFiles.map((file) => rm(join(folder, file)))); +} + +await deleteJsFiles("./templates/ext-components"); + console.log(`${Bun.color("#a6da95", "ansi")}Assets succesfully build!\x1b[0m`); diff --git a/packages/website/templates/partials/navbar.html b/packages/website/templates/partials/navbar.html deleted file mode 100644 index 77adf91..0000000 --- a/packages/website/templates/partials/navbar.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - From 48cafe843261cc56ad83646d8112d81155a337f9 Mon Sep 17 00:00:00 2001 From: aleidk Date: Tue, 24 Dec 2024 10:52:15 -0300 Subject: [PATCH 2/3] fix(components)!: properly export html components --- packages/components/package.json | 44 ++++++++++------------ packages/components/src/index.ts | 7 ++++ packages/components/src/navbar/navbar.html | 1 + packages/components/src/navbar/navbar.scss | 42 +++++++++++++++++++++ 4 files changed, 70 insertions(+), 24 deletions(-) create mode 100644 packages/components/src/index.ts create mode 100644 packages/components/src/navbar/navbar.html create mode 100644 packages/components/src/navbar/navbar.scss diff --git a/packages/components/package.json b/packages/components/package.json index 54e0384..9bc0fe8 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,26 +1,22 @@ { - "name": "@mini-strap/components", - "version": "0.0.1", - "module": "src/components.scss", - "type": "module", - "scripts": { - "ci:publish": "bun publish --production --frozen-lockfile" - }, - "exports": { - ".": "./src/components.scss", - "./OffCanvas/": { - "import": "./src/OffCanvas/", - "require": "./src/OffCanvas/" - } - }, - "devDependencies": { - "@types/bun": "latest", - "bun-plugin-dts": "^0.2.3", - "bun-style-loader": "^0.4.0", - "sass": "^1.79.2", - "sass-embedded": "^1.79.1" - }, - "peerDependencies": { - "typescript": "^5.0.0" - } + "name": "@mini-strap/components", + "version": "0.0.1", + "type": "module", + "scripts": { + "ci:publish": "bun publish --production --frozen-lockfile" + }, + "exports": { + ".": "./src/index.ts", + "./navbar/*": "./src/navbar/*" + }, + "devDependencies": { + "@types/bun": "latest", + "bun-plugin-dts": "^0.2.3", + "bun-style-loader": "^0.4.0", + "sass": "^1.79.2", + "sass-embedded": "^1.79.1" + }, + "peerDependencies": { + "typescript": "^5.0.0" + } } diff --git a/packages/components/src/index.ts b/packages/components/src/index.ts new file mode 100644 index 0000000..04ed79b --- /dev/null +++ b/packages/components/src/index.ts @@ -0,0 +1,7 @@ +import navarHtml from "./navbar/navbar.html"; + +export const HTMLComponents = { + navbar: navarHtml, +}; + +export default {}; diff --git a/packages/components/src/navbar/navbar.html b/packages/components/src/navbar/navbar.html new file mode 100644 index 0000000..de8b69b --- /dev/null +++ b/packages/components/src/navbar/navbar.html @@ -0,0 +1 @@ +

Hello World!

diff --git a/packages/components/src/navbar/navbar.scss b/packages/components/src/navbar/navbar.scss new file mode 100644 index 0000000..a74fb9f --- /dev/null +++ b/packages/components/src/navbar/navbar.scss @@ -0,0 +1,42 @@ +nav { + width: 100%; +} + +.navbar-desktop ul { + width: fit-content; + margin-left: auto; + + .nav-item { + margin-bottom: 0; + } +} + +ul { + padding: 0; +} + +li > a { + padding: 0.25rem 0.5rem; +} + +a { + --boder-color: transparent; + border: 1px solid transparent; + border-radius: 4px; + text-decoration: none; + + transition: + background-color 200ms, + color 200ms; +} + +a.active { + border: 1px solid var(--prj-accent-bg); +} + +a:hover { + --border-color: var(--prj-accent-bg); + background-color: var(--prj-accent-bg); + color: var(--prj-accent-text); + border: 1px solid var(--border-color); +} From 9c6d935069223f4312ee7bd8d09b48904a71cef9 Mon Sep 17 00:00:00 2001 From: aleidk Date: Tue, 24 Dec 2024 12:54:19 -0300 Subject: [PATCH 3/3] fix(core): update old css variables names --- packages/core/src/_utils.scss | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/packages/core/src/_utils.scss b/packages/core/src/_utils.scss index 4e42303..d18d9d2 100644 --- a/packages/core/src/_utils.scss +++ b/packages/core/src/_utils.scss @@ -69,29 +69,29 @@ } .msp-hstack { - --prj-gap: var(--prj-spacing-3); + --msp-gap: var(--msp-spacing-3); display: flex; - gap: var(--prj-gap); + gap: var(--msp-gap); align-items: center; } .msp-hstack-reverse { - --prj-gap: var(--prj-spacing-3); + --msp-gap: var(--msp-spacing-3); display: flex; - gap: var(--prj-gap); + gap: var(--msp-gap); align-items: center; flex-direction: row-reverse; } .msp-vstack { - --prj-gap: var(--prj-spacing-3); + --msp-gap: var(--msp-spacing-3); display: flex; - gap: var(--prj-gap); + gap: var(--msp-gap); flex-direction: column; } .msp-vstack-reverse { - --prj-gap: var(--prj-spacing-3); + --msp-gap: var(--msp-spacing-3); display: flex; flex-direction: column-reverse; } @@ -140,16 +140,16 @@ } .msp-grid { - --prj-gap: var(--prj-spacing-3); - --prj-columns: repeat(3, 1fr); - --prj-min-col-width: 150px; + --msp-gap: var(--msp-spacing-3); + --msp-columns: repeat(3, 1fr); + --msp-min-col-width: 150px; display: grid; - grid-template-columns: var(--prj-columns); - gap: var(--prj-gap); + grid-template-columns: var(--msp-columns); + gap: var(--msp-gap); } @mixin grid-cols($amount) { - --prj-columns: repeat(#{$amount}, minmax(var(--prj-min-col-width), 1fr)); + --msp-columns: repeat(#{$amount}, minmax(var(--msp-min-col-width), 1fr)); } @for $i from 1 through 12 { @@ -285,7 +285,7 @@ } .msp-gap-#{$name} { - --prj-gap: #{$value}; + --msp-gap: #{$value}; } } @@ -306,11 +306,11 @@ } .msp-shadow-1 { - box-shadow: 10px 10px 5px 0px var(--prj-shadow); + box-shadow: 10px 10px 5px 0px var(--msp-shadow); } .msp-border-radius { - border-radius: var(--prj-border-radius); + border-radius: var(--msp-border-radius); } @each $index, $variable, $value in $spacings {