Neurotic Programmer Masquerade

    @cactuslab/update-template
    TypeScript icon, indicating that this package has built-in type declarations

    2.1.0 • Public • Published

    📠 Update Template

    If you've created a repository using a template (see Creating a repository from a template on GitHub), it can be hard to "update" the template when new features are added, since it's not a fork. This package fixes that.

    Get started

    Using a template

    If your template is a git repostiroy, you can install or update it using the URL of the original template repo:

    npx update-template https://github.com/user/repo

    Or if your repo is based on a template in a local directory:

    npx update-template ./templates/my-template

    You can also specify multiple templates, and they will be applied sequentially.

    npx update-template ./templates/my-template1 ./templates/my-template2

    A .update-template-changes.json file will be created to store the changes that have been made by the template(s), so that when you re-run update-template any files or dependencies etc added by the template, but that are no longer in the template, will be removed.

    Creating a template

    If you're building a template repository, add update-template as a dependency:

    npm install @cactuslab/update-template

    Then, create a .templaterc.json file with a list of files you'd like to overwrite:

    {
      "files": ["src/**/*.js"]
    }

    Lastly, add an update script to your package.json with the URL of your repository:

    {
      "scripts": {
        "update-template": "update-template"
      }
    }

    When users want to update your template, they can run npm run update-template

    If you want to sync your package.json (without changing keys like the package name), you can add any of the following keys to sync the corresponding parts of package.json:

    {
      "package": {
        "engines": true,
    		"dependencies": true,
    		"devDependencies": true,
    		"optionalDependencies": true,
    		"peerDependencies": true,
    		"scripts": true
      }
    }

    👩‍💻 Development

    Build TypeScript:

    npm run build

    📄 License

    MIT © Koj

    Koj

    An open source project by Koj.
    Furnish your home in style, for as low as CHF175/month →

    Install

    npm i @cactuslab/update-template

    DownloadsWeekly Downloads

    5

    Version

    2.1.0

    License

    MIT

    Unpacked Size

    29.5 kB

    Total Files

    12

    Last publish

    Collaborators

    • hydnhntr
    • karlvr
    • tomcarey