commit 82ccd761a36fe9968f3cdd77d81d75802db9c8a1 Author: Zev Averbach Date: Sat Mar 5 15:18:08 2022 +0100 first diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c2658d7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..ed2f874 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +These are notes and experiments from the book "Frameworkless Front-End Development". diff --git a/custom_perf_widget/index.html b/custom_perf_widget/index.html new file mode 100644 index 0000000..76ff206 --- /dev/null +++ b/custom_perf_widget/index.html @@ -0,0 +1,46 @@ + + + + + Custom Performance Widget + + + + + diff --git a/todo/index.html b/todo/index.html new file mode 100644 index 0000000..9982897 --- /dev/null +++ b/todo/index.html @@ -0,0 +1,124 @@ + + + + + + + + TODO MVC + + +
+
+

todos

+ +
+
+ + +
    +
    + +
    + + + + diff --git a/todo/package-lock.json b/todo/package-lock.json new file mode 100644 index 0000000..d70044e --- /dev/null +++ b/todo/package-lock.json @@ -0,0 +1,223 @@ +{ + "name": "todo", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "todo", + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "typescript": "^4.5.5", + "typescript-lit-html-plugin": "^0.9.0" + } + }, + "node_modules/@emmetio/extract-abbreviation": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@emmetio/extract-abbreviation/-/extract-abbreviation-0.1.6.tgz", + "integrity": "sha512-Ce3xE2JvTSEbASFbRbA1gAIcMcZWdS2yUYRaQbeM0nbOzaZrUYfa3ePtcriYRZOZmr+CkKA+zbjhvTpIOAYVcw==", + "dev": true + }, + "node_modules/jsonc-parser": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-1.0.3.tgz", + "integrity": "sha512-hk/69oAeaIzchq/v3lS50PXuzn5O2ynldopMC+SWBql7J2WtdptfB9dy8Y7+Og5rPkTCpn83zTiO8FMcqlXJ/g==", + "dev": true + }, + "node_modules/typescript": { + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", + "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/typescript-lit-html-plugin": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/typescript-lit-html-plugin/-/typescript-lit-html-plugin-0.9.0.tgz", + "integrity": "sha512-Ux2I1sPpt2akNbRZiBAND9oA8XNE2BuVmDwsb7rZshJ9T8/Na2rICE5Tnuj9dPHdFUATdOGjVEagn1/v8T4gCQ==", + "dev": true, + "dependencies": { + "typescript-styled-plugin": "^0.13.0", + "typescript-template-language-service-decorator": "^2.2.0", + "vscode-html-languageservice": "^2.1.10", + "vscode-languageserver-types": "^3.13.0" + } + }, + "node_modules/typescript-styled-plugin": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/typescript-styled-plugin/-/typescript-styled-plugin-0.13.0.tgz", + "integrity": "sha512-GGMzv/JAd4S8mvWgHZslvW2G1HHrdurrp93oSR4h85SM8e5at7+KCqHsZICiTaL+iN25YGkJqoaZe4XklA76rg==", + "dev": true, + "dependencies": { + "typescript-template-language-service-decorator": "^2.0.0", + "vscode-css-languageservice": "^3.0.12", + "vscode-emmet-helper": "1.2.11", + "vscode-languageserver-types": "^3.13.0" + } + }, + "node_modules/typescript-template-language-service-decorator": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/typescript-template-language-service-decorator/-/typescript-template-language-service-decorator-2.2.0.tgz", + "integrity": "sha512-xiolqt1i7e22rpqMaprPgSFVgU64u3b9n6EJlAaUYE61jumipKAdI1+O5khPlWslpTUj80YzjUKjJ2jxT0D74w==", + "dev": true + }, + "node_modules/vscode-css-languageservice": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-3.0.13.tgz", + "integrity": "sha512-RWkO/c/A7iXhHEy3OuEqkCqavDjpD4NF2Ca8vjai+ZtEYNeHrm1ybTnBYLP4Ft1uXvvaaVtYA9HrDjD6+CUONg==", + "dev": true, + "dependencies": { + "vscode-languageserver-types": "^3.13.0", + "vscode-nls": "^4.0.0" + } + }, + "node_modules/vscode-emmet-helper": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/vscode-emmet-helper/-/vscode-emmet-helper-1.2.11.tgz", + "integrity": "sha512-ms6/Z9TfNbjXS8r/KgbGxrNrFlu4RcIfVJxTZ2yFi0K4gn+Ka9X1+8cXvb5+5IOBGUrOsPjR0BuefdDkG+CKbQ==", + "deprecated": "This package has been renamed to @vscode/emmet-helper, please update to the new name", + "dev": true, + "dependencies": { + "@emmetio/extract-abbreviation": "0.1.6", + "jsonc-parser": "^1.0.0", + "vscode-languageserver-types": "^3.6.0-next.1" + } + }, + "node_modules/vscode-html-languageservice": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-2.1.12.tgz", + "integrity": "sha512-mIb5VMXM5jI97HzCk2eadI1K//rCEZXte0wBqA7PGXsyJH4KTyJUaYk9MR+mbfpUl2vMi3HZw9GUOLGYLc6l5w==", + "dev": true, + "dependencies": { + "vscode-languageserver-types": "^3.13.0", + "vscode-nls": "^4.0.0", + "vscode-uri": "^1.0.6" + } + }, + "node_modules/vscode-languageserver-types": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", + "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==", + "dev": true + }, + "node_modules/vscode-nls": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-4.1.2.tgz", + "integrity": "sha512-7bOHxPsfyuCqmP+hZXscLhiHwe7CSuFE4hyhbs22xPIhQ4jv99FcR4eBzfYYVLP356HNFpdvz63FFb/xw6T4Iw==", + "dev": true + }, + "node_modules/vscode-uri": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.8.tgz", + "integrity": "sha512-obtSWTlbJ+a+TFRYGaUumtVwb+InIUVI0Lu0VBUAPmj2cU5JutEXg3xUE0c2J5Tcy7h2DEKVJBFi+Y9ZSFzzPQ==", + "dev": true + } + }, + "dependencies": { + "@emmetio/extract-abbreviation": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@emmetio/extract-abbreviation/-/extract-abbreviation-0.1.6.tgz", + "integrity": "sha512-Ce3xE2JvTSEbASFbRbA1gAIcMcZWdS2yUYRaQbeM0nbOzaZrUYfa3ePtcriYRZOZmr+CkKA+zbjhvTpIOAYVcw==", + "dev": true + }, + "jsonc-parser": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-1.0.3.tgz", + "integrity": "sha512-hk/69oAeaIzchq/v3lS50PXuzn5O2ynldopMC+SWBql7J2WtdptfB9dy8Y7+Og5rPkTCpn83zTiO8FMcqlXJ/g==", + "dev": true + }, + "typescript": { + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", + "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", + "dev": true + }, + "typescript-lit-html-plugin": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/typescript-lit-html-plugin/-/typescript-lit-html-plugin-0.9.0.tgz", + "integrity": "sha512-Ux2I1sPpt2akNbRZiBAND9oA8XNE2BuVmDwsb7rZshJ9T8/Na2rICE5Tnuj9dPHdFUATdOGjVEagn1/v8T4gCQ==", + "dev": true, + "requires": { + "typescript-styled-plugin": "^0.13.0", + "typescript-template-language-service-decorator": "^2.2.0", + "vscode-html-languageservice": "^2.1.10", + "vscode-languageserver-types": "^3.13.0" + } + }, + "typescript-styled-plugin": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/typescript-styled-plugin/-/typescript-styled-plugin-0.13.0.tgz", + "integrity": "sha512-GGMzv/JAd4S8mvWgHZslvW2G1HHrdurrp93oSR4h85SM8e5at7+KCqHsZICiTaL+iN25YGkJqoaZe4XklA76rg==", + "dev": true, + "requires": { + "typescript-template-language-service-decorator": "^2.0.0", + "vscode-css-languageservice": "^3.0.12", + "vscode-emmet-helper": "1.2.11", + "vscode-languageserver-types": "^3.13.0" + } + }, + "typescript-template-language-service-decorator": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/typescript-template-language-service-decorator/-/typescript-template-language-service-decorator-2.2.0.tgz", + "integrity": "sha512-xiolqt1i7e22rpqMaprPgSFVgU64u3b9n6EJlAaUYE61jumipKAdI1+O5khPlWslpTUj80YzjUKjJ2jxT0D74w==", + "dev": true + }, + "vscode-css-languageservice": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-3.0.13.tgz", + "integrity": "sha512-RWkO/c/A7iXhHEy3OuEqkCqavDjpD4NF2Ca8vjai+ZtEYNeHrm1ybTnBYLP4Ft1uXvvaaVtYA9HrDjD6+CUONg==", + "dev": true, + "requires": { + "vscode-languageserver-types": "^3.13.0", + "vscode-nls": "^4.0.0" + } + }, + "vscode-emmet-helper": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/vscode-emmet-helper/-/vscode-emmet-helper-1.2.11.tgz", + "integrity": "sha512-ms6/Z9TfNbjXS8r/KgbGxrNrFlu4RcIfVJxTZ2yFi0K4gn+Ka9X1+8cXvb5+5IOBGUrOsPjR0BuefdDkG+CKbQ==", + "dev": true, + "requires": { + "@emmetio/extract-abbreviation": "0.1.6", + "jsonc-parser": "^1.0.0", + "vscode-languageserver-types": "^3.6.0-next.1" + } + }, + "vscode-html-languageservice": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-2.1.12.tgz", + "integrity": "sha512-mIb5VMXM5jI97HzCk2eadI1K//rCEZXte0wBqA7PGXsyJH4KTyJUaYk9MR+mbfpUl2vMi3HZw9GUOLGYLc6l5w==", + "dev": true, + "requires": { + "vscode-languageserver-types": "^3.13.0", + "vscode-nls": "^4.0.0", + "vscode-uri": "^1.0.6" + } + }, + "vscode-languageserver-types": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", + "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==", + "dev": true + }, + "vscode-nls": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-4.1.2.tgz", + "integrity": "sha512-7bOHxPsfyuCqmP+hZXscLhiHwe7CSuFE4hyhbs22xPIhQ4jv99FcR4eBzfYYVLP356HNFpdvz63FFb/xw6T4Iw==", + "dev": true + }, + "vscode-uri": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.8.tgz", + "integrity": "sha512-obtSWTlbJ+a+TFRYGaUumtVwb+InIUVI0Lu0VBUAPmj2cU5JutEXg3xUE0c2J5Tcy7h2DEKVJBFi+Y9ZSFzzPQ==", + "dev": true + } + } +} diff --git a/todo/package.json b/todo/package.json new file mode 100644 index 0000000..b0b7eb0 --- /dev/null +++ b/todo/package.json @@ -0,0 +1,15 @@ +{ + "name": "todo", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "devDependencies": { + "typescript": "^4.5.5", + "typescript-lit-html-plugin": "^0.9.0" + } +} diff --git a/todo/tsconfig.json b/todo/tsconfig.json new file mode 100644 index 0000000..1e48897 --- /dev/null +++ b/todo/tsconfig.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "plugins": [ + { + "name": "typescript-lit-html-plugin" + } + ] + } +}