update, add testing framework
This commit is contained in:
parent
a7048b02ad
commit
0bf35cb7ae
|
@ -40,10 +40,10 @@ module.exports = eleventyConfig => {
|
||||||
});
|
});
|
||||||
//config.setServerPassthroughCopyBehavior("passthrough"); // doesn't work
|
//config.setServerPassthroughCopyBehavior("passthrough"); // doesn't work
|
||||||
eleventyConfig.addPassthroughCopy({ assets: "/" });
|
eleventyConfig.addPassthroughCopy({ assets: "/" });
|
||||||
|
eleventyConfig.addWatchTarget("src/**/*.css");
|
||||||
eleventyConfig.addWatchTarget("src/**/*.js");
|
eleventyConfig.addWatchTarget("src/**/*.js");
|
||||||
eleventyConfig.addWatchTarget("src/**/*.ts");
|
eleventyConfig.addWatchTarget("src/**/*.ts");
|
||||||
eleventyConfig.addWatchTarget("src/**/*.json");
|
eleventyConfig.addWatchTarget("src/**/*.json");
|
||||||
// TODO does the css need a watch target?
|
|
||||||
return {
|
return {
|
||||||
dir: {
|
dir: {
|
||||||
input,
|
input,
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
export default {
|
||||||
|
roots: ["./src"],
|
||||||
|
preset: "ts-jest",
|
||||||
|
testEnvironment: "jsdom",
|
||||||
|
};
|
|
@ -1,19 +1,24 @@
|
||||||
{
|
{
|
||||||
scripts: {
|
scripts: {
|
||||||
clean: "rm -rf _site",
|
clean: 'rm -rf _site',
|
||||||
build: "rm -rf _site && eleventy",
|
build: 'rm -rf _site && eleventy',
|
||||||
serve: "eleventy --serve",
|
serve: 'eleventy --serve',
|
||||||
debug: "DEBUG=* eleventy --serve",
|
debug: 'DEBUG=* eleventy --serve',
|
||||||
|
test: 'tsc; jest --passWithNoTests',
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
"@11ty/eleventy": "^2.0.1",
|
'@11ty/eleventy': '^2.0.1',
|
||||||
esbuild: "^0.19.11",
|
esbuild: '^0.20.1',
|
||||||
"html-minifier": "^4.0.0",
|
'html-minifier': '^4.0.0',
|
||||||
"ts-essentials": "^9.4.1",
|
|
||||||
},
|
},
|
||||||
devDependencies: {
|
devDependencies: {
|
||||||
prettier: "^3.2.4",
|
'@prettier/plugin-pug': '^3.0.0',
|
||||||
"@prettier/plugin-pug": "^3.0.0",
|
'@types/jest': '^29.5.12',
|
||||||
typescript: "^5.3.3",
|
jest: '^29.7.0',
|
||||||
|
'jest-environment-jsdom': '^29.7.0',
|
||||||
|
prettier: '^3.2.5',
|
||||||
|
'ts-essentials': '^9.4.1',
|
||||||
|
'ts-jest': '^29.1.2',
|
||||||
|
typescript: '^5.4.2',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
2716
pnpm-lock.yaml
2716
pnpm-lock.yaml
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,17 @@
|
||||||
|
const domLoaded = new Promise(resolve => {
|
||||||
|
if (document.readyState === "loading") {
|
||||||
|
document.addEventListener("DOMContentLoaded", () => resolve(undefined));
|
||||||
|
} else {
|
||||||
|
resolve(undefined);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// returns promise for object with just about every element needed for js
|
||||||
|
// this should make it unneccecary to get element by id
|
||||||
|
const elements = (async () => {
|
||||||
|
await domLoaded;
|
||||||
|
let elems = Array.from(document.querySelectorAll("[data-js]"));
|
||||||
|
return Object.fromEntries(elems.map(x => [x.id, x]))
|
||||||
|
})();
|
||||||
|
|
||||||
|
export { elements };
|
Loading…
Reference in New Issue