Compare commits

...

2 commits

Author SHA1 Message Date
5786338063 chore(version): v0.1.2 2025-04-11 19:41:08 -04:00
b4a551489c fix: add shebang to entrypoint 2025-04-11 19:40:59 -04:00
3 changed files with 50 additions and 42 deletions

View file

@ -2,6 +2,12 @@
All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.
- - -
## v0.1.2 - 2025-04-11
#### Bug Fixes
- add shebang to entrypoint - (b4a5514) - aleidk
- - -
## v0.1.1 - 2025-04-11
#### Bug Fixes
- remove unecesary dependency - (cf7bf3f) - aleidk

View file

@ -1,30 +1,32 @@
#!/usr/bin/env bun
import sassPlugin from "@alecodes/bun-plugin-sass";
import { parseArgs } from "node:util";
import path from "node:path";
const { values } = parseArgs({
args: Bun.argv,
options: {
globs: {
type: "string",
short: "g",
},
outdir: {
type: "string",
short: "o",
},
bundle_name: {
type: "string",
short: "n",
default: "main",
},
},
strict: true,
allowPositionals: true,
args: Bun.argv,
options: {
globs: {
type: "string",
short: "g",
},
outdir: {
type: "string",
short: "o",
},
bundle_name: {
type: "string",
short: "n",
default: "main",
},
},
strict: true,
allowPositionals: true,
});
if (values.globs === undefined || values.outdir === undefined) {
throw new Error("Error in the arguments provided.");
throw new Error("Error in the arguments provided.");
}
console.log(`Building glob "${values.globs}" to "${values.outdir}"`);
@ -33,39 +35,39 @@ console.log(`Building glob "${values.globs}" to "${values.outdir}"`);
const entrypoints = Array.from(new Bun.Glob(values.globs).scanSync("."));
const result = await Bun.build({
entrypoints,
publicPath: "/",
// splitting: true,
plugins: [sassPlugin],
minify: {
whitespace: true,
identifiers: true,
syntax: true,
},
naming: {
entry: "[dir]/[name].[ext]",
chunk: "assets/[name]-[hash].[ext]",
asset: "assets/[name]-[hash].[ext]",
},
entrypoints,
publicPath: "/",
// splitting: true,
plugins: [sassPlugin],
minify: {
whitespace: true,
identifiers: true,
syntax: true,
},
naming: {
entry: "[dir]/[name].[ext]",
chunk: "assets/[name]-[hash].[ext]",
asset: "assets/[name]-[hash].[ext]",
},
});
let out = "";
out += "|env: &mut minijinja::Environment| {\n";
for (const res of result.outputs) {
// Can be consumed as blobs
let asset_text = await res.text();
asset_text = asset_text.replaceAll(/\n/g, "\\n");
asset_text = asset_text.replaceAll(/"/g, `\\"`);
const asset_path = path.normalize(res.path);
out += `env.add_template("${asset_path}", "${asset_text}").expect("Embedded an invalid template");\n`;
// Can be consumed as blobs
let asset_text = await res.text();
asset_text = asset_text.replaceAll(/\n/g, "\\n");
asset_text = asset_text.replaceAll(/"/g, `\\"`);
const asset_path = path.normalize(res.path);
out += `env.add_template("${asset_path}", "${asset_text}").expect("Embedded an invalid template");\n`;
}
out += "}";
Bun.write(
path.join(values.outdir, `minijinja_templates_${values.bundle_name}.rs`),
out,
path.join(values.outdir, `minijinja_templates_${values.bundle_name}.rs`),
out,
);
console.log("Assets compiled!");

View file

@ -1,5 +1,5 @@
{
"version": "0.1.1",
"version": "0.1.2",
"name": "@alecodes/tmpl-build-and-load",
"module": "index.ts",
"type": "module",