tutorialkit icon indicating copy to clipboard operation
tutorialkit copied to clipboard

Opt-in support for including `templates/*/node_modules` in lessons

Open AriPerkkio opened this issue 1 year ago • 1 comments

Is your feature request related to a problem?

In https://github.com/stackblitz/tutorialkit/pull/198 we hard-coded node_modules to be excluded from templates. However in some cases users might want to have pre-optimized node_modules available in lessons. This featue should be opt-in, as most users will likely not need it and configuring such modules can be tricky.

Describe the solution you'd like.

Not yet sure which way would be better:

  1. Define ignore patterns in templates:
---
type: lesson
template:
  name: default
  ignoredFiles: ["utils/**.js", "node_modules"]
---
---
type: lesson
template:
  name: default
  ignoredFiles: [] # Don't ignore any files, e.g. node_modules
---

However this can be tricky as <template-name>.template.json files are built in advance, before metadata is parsed.

  1. Define ignore patterns in .tk-config.json
{
  "extends": "../default",
  "ignoredFiles": []
}

This would work well for <template-name>.template.json files too, but now exclusion is on template-level and cannot be defined per-lesson/part/chapter.

AriPerkkio avatar Aug 01 '24 08:08 AriPerkkio