diff --git a/.gitignore b/.gitignore
index c2658d7..2752eb9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
node_modules/
+.DS_Store
diff --git a/README.md b/README.md
index ed2f874..1045080 100644
--- a/README.md
+++ b/README.md
@@ -1 +1 @@
-These are notes and experiments from the book "Frameworkless Front-End Development".
+This is code from the book "Frameworkless Front-End Development", my notes are [here](https://github.com/zevaverbach/notes/blob/trunk/dev/frameworkless_front_end_development_francesco_strazzullo.md)
diff --git a/custom_perf_widget/index.html b/custom_perf_widget/index.html
deleted file mode 100644
index 76ff206..0000000
--- a/custom_perf_widget/index.html
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
- Custom Performance Widget
-
-
-
-
-
diff --git a/todo/index.html b/todo/index.html
deleted file mode 100644
index 9982897..0000000
--- a/todo/index.html
+++ /dev/null
@@ -1,124 +0,0 @@
-
-
-
-
-
-
-
- TODO MVC
-
-
-
-
-
-
-
diff --git a/todo/package-lock.json b/todo/package-lock.json
deleted file mode 100644
index d70044e..0000000
--- a/todo/package-lock.json
+++ /dev/null
@@ -1,223 +0,0 @@
-{
- "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
deleted file mode 100644
index b0b7eb0..0000000
--- a/todo/package.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "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
deleted file mode 100644
index 1e48897..0000000
--- a/todo/tsconfig.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "compilerOptions": {
- "plugins": [
- {
- "name": "typescript-lit-html-plugin"
- }
- ]
- }
-}