diff --git a/.gitignore b/.gitignore index d44f2b5..3399b78 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,139 @@ #### -- TEMPLATES BEGIN -- #### +### Node + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp +.cache + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + #### -- TEMPLATES END -- #### # Allow to presever folder structure in excluded folers, should be the last rule diff --git a/.justfile b/.justfile index 94285c5..2f101d1 100644 --- a/.justfile +++ b/.justfile @@ -15,3 +15,20 @@ dev: migrate: (docker-compose "run dbmate migrate") rollback: (docker-compose "run dbmate rollback") + +build-frontend: + #!/usr/bin/env bun + import sassPlugin from "@alecodes/bun-plugin-sass"; + + const result = await Bun.build({ + entrypoints: ["templates/base.html"], + outdir: "dist", + naming: { + entry: "[dir]/[name].[ext]", + chunk: "chunks/[name]-[hash].[ext]", + asset: "assets/[name]-[hash].[ext]", + }, + plugins: [sassPlugin], + }); + + console.log("Assets compiled!"); diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000..42c3194 Binary files /dev/null and b/bun.lockb differ diff --git a/bunfig.toml b/bunfig.toml new file mode 100644 index 0000000..f694d83 --- /dev/null +++ b/bunfig.toml @@ -0,0 +1,7 @@ +[serve.static] +plugins = ["bun-plugin-sass"] + +[install.scopes] + +"@alecodes" = { token = "$NPM_REGISTRY_TOKEN", url = "https://git.alecodes.page/api/packages/alecodes/npm/" } +"@mini-strap" = { token = "$NPM_REGISTRY_TOKEN", url = "https://git.alecodes.page/api/packages/alecodes/npm/" } diff --git a/package.json b/package.json new file mode 100644 index 0000000..b44f660 --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "compendium", + "module": "index.ts", + "devDependencies": { + "@alecodes/bun-plugin-sass": "^0.1.2", + "@alecodes/bun-static-builder": "^0.1.0", + "@types/bun": "latest" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "type": "module", + "dependencies": { + "@mini-strap/core": "^0.1.2" + } +} \ No newline at end of file diff --git a/templates/base.html b/templates/base.html index 0ed1c3f..cbc5676 100644 --- a/templates/base.html +++ b/templates/base.html @@ -2,6 +2,7 @@
+