├── .gitignore ├── 01-ecmascript-modules ├── 01-problem │ ├── index.html │ └── src │ │ ├── config.json │ │ ├── index.js │ │ ├── mock-api.json │ │ └── service.js ├── 02-esmodules │ ├── index.html │ └── src │ │ ├── config.json │ │ ├── index.js │ │ ├── mock-api.json │ │ └── service.js └── 03-shared-code+import-from-url │ ├── node │ └── index.mjs │ ├── shared │ └── currencyManager.mjs │ └── web │ ├── index.html │ └── index.mjs ├── 02-design-patterns ├── index.html ├── package-lock.json ├── package.json └── src │ ├── config.json │ ├── controller.js │ ├── index.js │ ├── mock-api.json │ ├── service.js │ └── view.js ├── 03-native-tests ├── index.html ├── package-lock.json ├── package.json ├── src │ ├── config.json │ ├── controller.js │ ├── index.js │ ├── service.js │ └── view.js └── test │ └── index.test.js ├── 04-streams ├── app │ ├── index.html │ ├── index.js │ ├── package-lock.json │ └── package.json ├── package-lock.json ├── package.json └── server │ ├── animeflv.csv │ ├── index.js │ ├── package-lock.json │ └── package.json ├── 05-multithreading-in-the-browser ├── assets │ └── database-small.csv ├── index.html ├── package-lock.json ├── package.json └── src │ ├── controller.js │ ├── index.js │ ├── service.js │ ├── view.js │ └── worker.js ├── README.md └── annotations.txt /.gitignore: -------------------------------------------------------------------------------- 1 | database.csv 2 | # Logs 3 | logs 4 | *.log 5 | npm-debug.log* 6 | yarn-debug.log* 7 | yarn-error.log* 8 | lerna-debug.log* 9 | .pnpm-debug.log* 10 | 11 | # Diagnostic reports (https://nodejs.org/api/report.html) 12 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 13 | 14 | # Runtime data 15 | pids 16 | *.pid 17 | *.seed 18 | *.pid.lock 19 | 20 | # Directory for instrumented libs generated by jscoverage/JSCover 21 | lib-cov 22 | 23 | # Coverage directory used by tools like istanbul 24 | coverage 25 | *.lcov 26 | 27 | # nyc test coverage 28 | .nyc_output 29 | 30 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 31 | .grunt 32 | 33 | # Bower dependency directory (https://bower.io/) 34 | bower_components 35 | 36 | # node-waf configuration 37 | .lock-wscript 38 | 39 | # Compiled binary addons (https://nodejs.org/api/addons.html) 40 | build/Release 41 | 42 | # Dependency directories 43 | node_modules/ 44 | jspm_packages/ 45 | 46 | # Snowpack dependency directory (https://snowpack.dev/) 47 | web_modules/ 48 | 49 | # TypeScript cache 50 | *.tsbuildinfo 51 | 52 | # Optional npm cache directory 53 | .npm 54 | 55 | # Optional eslint cache 56 | .eslintcache 57 | 58 | # Optional stylelint cache 59 | .stylelintcache 60 | 61 | # Microbundle cache 62 | .rpt2_cache/ 63 | .rts2_cache_cjs/ 64 | .rts2_cache_es/ 65 | .rts2_cache_umd/ 66 | 67 | # Optional REPL history 68 | .node_repl_history 69 | 70 | # Output of 'npm pack' 71 | *.tgz 72 | 73 | # Yarn Integrity file 74 | .yarn-integrity 75 | 76 | # dotenv environment variable files 77 | .env 78 | .env.development.local 79 | .env.test.local 80 | .env.production.local 81 | .env.local 82 | 83 | # parcel-bundler cache (https://parceljs.org/) 84 | .cache 85 | .parcel-cache 86 | 87 | # Next.js build output 88 | .next 89 | out 90 | 91 | # Nuxt.js build / generate output 92 | .nuxt 93 | dist 94 | 95 | # Gatsby files 96 | .cache/ 97 | # Comment in the public line in if your project uses Gatsby and not Next.js 98 | # https://nextjs.org/blog/next-9-1#public-directory-support 99 | # public 100 | 101 | # vuepress build output 102 | .vuepress/dist 103 | 104 | # vuepress v2.x temp and cache directory 105 | .temp 106 | .cache 107 | 108 | # Docusaurus cache and generated files 109 | .docusaurus 110 | 111 | # Serverless directories 112 | .serverless/ 113 | 114 | # FuseBox cache 115 | .fusebox/ 116 | 117 | # DynamoDB Local files 118 | .dynamodb/ 119 | 120 | # TernJS port file 121 | .tern-port 122 | 123 | # Stores VSCode versions used for testing VSCode extensions 124 | .vscode-test 125 | 126 | # yarn v2 127 | .yarn/cache 128 | .yarn/unplugged 129 | .yarn/build-state.yml 130 | .yarn/install-state.gz 131 | .pnp.* 132 | -------------------------------------------------------------------------------- /01-ecmascript-modules/01-problem/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 |