|
1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- module.exports = {
- name: "xhiveframework-html",
- setup(build) {
- let path = require("path");
- let fs = require("fs/promises");
-
- build.onResolve({ filter: /\.html$/ }, (args) => {
- return {
- path: path.join(args.resolveDir, args.path),
- namespace: "xhiveframework-html",
- };
- });
-
- build.onLoad({ filter: /.*/, namespace: "xhiveframework-html" }, (args) => {
- let filepath = args.path;
- let filename = path.basename(filepath).split(".")[0];
-
- return fs
- .readFile(filepath, "utf-8")
- .then((content) => {
- content = scrub_html_template(content);
- return {
- contents: `\n\txhiveframework.templates['${filename}'] = \`${content}\`;\n`,
- watchFiles: [filepath],
- };
- })
- .catch(() => {
- return {
- contents: "",
- warnings: [
- {
- text: `There was an error importing ${filepath}`,
- },
- ],
- };
- });
- });
- },
- };
-
- function scrub_html_template(content) {
- content = content.replace(/`/g, "\\`");
- return content;
- }
|