Skip to content

JavaScript NPM Course

enki-hq edited this page Jul 3, 2018 · 1 revision

NPM Course Overview

Table of Contents

Content

Below you can find the ordered content of the topic, in a linear progression

The linear progression of content aims to cover all content, course by course, workout by workout as follows:

  • first course is the only core one, denoted by its manifest
  • the next course is denoted by the first item of the next array in each course manifest
  • each course has its order of workouts designated by the sections field in the same aforementioned manifest

Insights:

no name content aspects standards PQ RQ Quiz done
1 what-is-npm 👶 introduction
💪 workout
npm-tasks-and-modules-manager.0: 10
2 why-use-npm 👶 introduction npm-tasks-and-modules-manager.0: 20
3 setting-up-npm 👶 introduction npm-tasks-and-modules-manager.0: 10
node-developer-environment.2: 10
4 package-json 👶 introduction npm-tasks-and-modules-manager.0: 10
5 semantic-versioning 👶 introduction
💪 workout
🦑 deep
npm-publish.3: 10
use-open-source-javascript-packages.1: 10

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 npm-scripting 👶 introduction
💪 workout
🦑 deep
npm-tasks-and-modules-manager.0: 30
npm-tasks-and-modules-manager.3: 30
2 available-binaries-for-scripting 👶 introduction
💪 workout
🦑 deep
npm-publish.0: 10
npm-tasks-and-modules-manager.0: 10
3 npm-variables 👶 introduction
💪 workout
🦑 deep
npm-tasks-and-modules-manager.0: 10
npm-tasks-and-modules-manager.1: 10
4 scripts-lifecycle 👶 introduction
💪 workout
🦑 deep
npm-tasks-and-modules-manager.3: 10
5 remote-scripts 👶 introduction
💪 workout
🦑 deep
npm-tasks-and-modules-manager.1: 10
npm-tasks-and-modules-manager.3: 10

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 packages-vs-modules 👶 introduction
💪 workout
🦑 deep
npm-publish.3: 10
2 private-packages 💪 workout
🦑 deep
✨ new
npm-publish.1: 10
npm-tasks-and-modules-manager.0: 10
3 dependencies 👶 introduction
💪 workout
🦑 deep
use-open-source-javascript-packages.5: 10
npm-tasks-and-modules-manager.0: 10
4 deprecated-peer-dependencies 💪 workout
🦑 deep
✨ new
use-open-source-javascript-packages.1: 10
npm-publish.0: 10
npm-tasks-and-modules-manager.0: 10
5 how-npm3-handles-dependencies 💪 workout
🦑 deep
✨ new
use-open-source-javascript-packages.1: 10
npm-publish.0: 10
npm-tasks-and-modules-manager.0: 10

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 optionaldependencies-in-npm 💪 workout
🦑 deep
use-open-source-javascript-packages.0: 10
npm-publish.0: 10
2 environmental-variables-and-flags-for-npm 💪 workout
🦑 deep
npm-tasks-and-modules-manager.1: 10
npm-tasks-and-modules-manager.3: 10
3 passing-through-command-line-arguments-in-npm-scripts 👶 introduction
💪 workout
🦑 deep
4 abbreviate-commands-in-npm 🔮 obscura npm-tasks-and-modules-manager.3: 10
5 npm-verifies-sha1-hashes-of-packages 💪 workout
🦑 deep
use-open-source-javascript-packages.2: 10
npm-publish.0: 10
npm-publish.2: 10

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 creating-a-node-module 💪 workout
🦑 deep
✨ new
npm-publish.0: 10
npm-tasks-and-modules-manager.0: 10
2 prepare-your-module-for-publishing 👶 introduction
💪 workout
🦑 deep
npm-publish.6: 10
npm-publish.0: 10
3 tests 👶 introduction
💪 workout
npm-publish.7: 10
npm-publish.8: 10
npm-tasks-and-modules-manager.1: 10
4 how-to-publish-your-own-packages 👶 introduction
💪 workout
npm-publish.0: 10
5 check-data-about-a-package 👶 introduction
💪 workout
🦑 deep
use-open-source-javascript-packages.3: 10
npm-tasks-and-modules-manager.0: 10
6 package-distribution-tags 💪 workout use-open-source-javascript-packages.9: 10
npm-publish.0: 10
npm-tasks-and-modules-manager.0: 10
7 registry-user-accounts-for-npm 💪 workout
🦑 deep
npm-publish.0: 10
npm-publish.1: 10
npm-publish.9: 10

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

Insights:

no name content aspects standards PQ RQ Quiz done
1 manage-local-node-modules-with-npm-link 💪 workout
👶 introduction
npm-tasks-and-modules-manager.0: 10
2 manipulate-npm-packages-cache 💪 workout
🦑 deep
✨ new
npm-tasks-and-modules-manager.0: 10
3 lock-down-dependency-versions-by-shrinkwrapping 💪 workout
🦑 deep
✨ new
use-open-source-javascript-packages.1: 10
npm-publish.2: 10
npm-tasks-and-modules-manager.0: 10
4 bump-package-version-in-npm 💪 workout
👶 introduction
npm-publish.3: 10
5 deprecate-npm-packages 💪 workout
🦑 deep
👶 introduction
use-open-source-javascript-packages.1: 10
npm-publish.2: 10
npm-publish.3: 10
npm-tasks-and-modules-manager.0: 10

Exercises:

⚠️ There are no insights in this workout.

Game:

⚠️ There is no game in this workout.

Standards

✅ - At least one insight covers this

❌ - Nothing covers this

🛠️ - This standard has no objectives yet

❌ Use open source JavaScript packages

  1. ✅ Search the NPM repository for open-source code to solve a problem
  2. ✅ Distinguish between badly and well maintained packages as a benefit or cost factor
  3. ✅ Assess security vulnerabilities in an open-source JavaScript package as a benefit or cost factor
  4. ✅ Distinguish the effectiveness of documentation in an open-source JavaScript package as a benefit or cost factor
  5. ❌ Distinguish the test coverage of a package as a benefit or cost factor
  6. ✅ Distinguish a package for performance optimization as a benefit or cost factor
  7. ❌ Evaluate a package for it's ability to improve expressiveness as a benefit factor
  8. ❌ Evaluate a package's install size as a cost factor
  9. ❌ Evaluate the licensing of a package as a cost factor
  10. ✅ Evaluate the opinion of the community as a benefit factor
  11. ❌ Evaluate the opinion of the community as a cost factor
  12. ❌ Effectively weigh benefit and cost factors to choose open source packages
  13. ❌ Create a dependency maintenance task to monitor package updates

❌ Integrate npm as your default tasks and modules manager

  1. ✅ Use package.json to manage dependencies
  2. ✅ Use package.json to manage build scripts
  3. ❌ Use package.json to manage testing
  4. ✅ Use package.json to manage a script toolchain

❌ Use the npm online repository to publish a module

  1. ✅ Publish a module to the public NPM registry
  2. ✅ Publish a module to a private NPM registry
  3. ✅ Update a module on an NPM registry
  4. ✅ Use SemVer to version your package
  5. ❌ Use a generated documentation package to document your API
  6. ❌ Write a simple code example for your documentation
  7. ✅ Create a quickstart for your documentation
  8. ✅ Create unit tests for your API
  9. ✅ Create integration tests for your module
  10. ✅ Configure authorship and communication references in your package.json to provide support for your package
  11. ❌ Choose a license for your package

Aspects

Given the insights are tagged with aspects, we can filter over the linear content progression and create learning sub-paths.

These sub-path progressions will most likely not cover all content, but they will ensure and enforce an unified learning experience, tailor for the user wish.

For example, a user might be interested in new additions and updates of a language, rather than introduction lessions. Note that these sub-paths don't take games into consideration

👶 Introduction

If you are being introduced to the topic for the first time

Insights:

  1. what-is-npm
  2. why-use-npm
  3. setting-up-npm
  4. package-json
  5. semantic-versioning
  6. npm-scripting
  7. available-binaries-for-scripting
  8. npm-variables
  9. scripts-lifecycle
  10. remote-scripts
  11. packages-vs-modules
  12. dependencies
  13. passing-through-command-line-arguments-in-npm-scripts
  14. prepare-your-module-for-publishing
  15. tests
  16. how-to-publish-your-own-packages
  17. check-data-about-a-package
  18. manage-local-node-modules-with-npm-link
  19. bump-package-version-in-npm
  20. deprecate-npm-packages

⚠️ There are no exercises tagged with this aspect in npm. :warning: There are no games tagged with this aspect in npm.

💪 Workout

Theory put into practice/that’s how you achieve X points

Insights:

  1. what-is-npm
  2. semantic-versioning
  3. npm-scripting
  4. available-binaries-for-scripting
  5. npm-variables
  6. scripts-lifecycle
  7. remote-scripts
  8. packages-vs-modules
  9. private-packages
  10. dependencies
  11. deprecated-peer-dependencies
  12. how-npm3-handles-dependencies
  13. optionaldependencies-in-npm
  14. environmental-variables-and-flags-for-npm
  15. passing-through-command-line-arguments-in-npm-scripts
  16. npm-verifies-sha1-hashes-of-packages
  17. creating-a-node-module
  18. prepare-your-module-for-publishing
  19. tests
  20. how-to-publish-your-own-packages
  21. check-data-about-a-package
  22. package-distribution-tags
  23. registry-user-accounts-for-npm
  24. manage-local-node-modules-with-npm-link
  25. manipulate-npm-packages-cache
  26. lock-down-dependency-versions-by-shrinkwrapping
  27. bump-package-version-in-npm
  28. deprecate-npm-packages

⚠️ There are no exercises tagged with this aspect in npm. :warning: There are no games tagged with this aspect in npm.

🦑 Deep

Prerequisite knowledge consisting of 2 or more 👶/💪 workouts

Insights:

  1. semantic-versioning
  2. npm-scripting
  3. available-binaries-for-scripting
  4. npm-variables
  5. scripts-lifecycle
  6. remote-scripts
  7. packages-vs-modules
  8. private-packages
  9. dependencies
  10. deprecated-peer-dependencies
  11. how-npm3-handles-dependencies
  12. optionaldependencies-in-npm
  13. environmental-variables-and-flags-for-npm
  14. passing-through-command-line-arguments-in-npm-scripts
  15. npm-verifies-sha1-hashes-of-packages
  16. creating-a-node-module
  17. prepare-your-module-for-publishing
  18. check-data-about-a-package
  19. registry-user-accounts-for-npm
  20. manipulate-npm-packages-cache
  21. lock-down-dependency-versions-by-shrinkwrapping
  22. deprecate-npm-packages

⚠️ There are no exercises tagged with this aspect in npm. :warning: There are no games tagged with this aspect in npm.

✨ New

Recently added/gained traction feature

Insights:

  1. private-packages
  2. deprecated-peer-dependencies
  3. how-npm3-handles-dependencies
  4. creating-a-node-module
  5. manipulate-npm-packages-cache
  6. lock-down-dependency-versions-by-shrinkwrapping

⚠️ There are no exercises tagged with this aspect in npm. :warning: There are no games tagged with this aspect in npm.

🔮 Obscura

Stories, obscure details that don’t specifically relate to a learning objective

Insights:

  1. abbreviate-commands-in-npm

⚠️ There are no exercises tagged with this aspect in npm. :warning: There are no games tagged with this aspect in npm.

✅ All content has been tagged with aspects.

Clone this wiki locally