Skip to main content

Ejecting

To stop from using projen to manage your project configuration, you can eject at any time and continue to manage your configuration manually.

Running projen eject will do the following:

  • uninstall projen as a project dependency
  • change projen-managed files from readonly to user-writeable
  • remove "Generated by projen" markers from projen-generated files
  • remove projen metadata files
  • remove the projen synthesis step from the build task
  • remove the default and eject tasks
  • "backup" projenrc files to .projenrc.xyz.bak
  • a separate task runner file is added to the root directory (see Tasks below for more information)

You do not need to ever use eject, but the option is available if the means of customization provided by projen are no longer suitable your project.

Tasks

A script will be added to your project so that you can continue using existing tasks by running scripts/run-task.cjs <task> in your command line (or running npm run <task> in node-based projects) if you so choose. You must retain the tasks.json file found in the .projen/ folder to use the task runner.

Note: it is possible some tasks may not work after projen is ejected due to the use of projen "builtin" steps. See https://github.com/projen/projen/issues/1563 for more information.