- 
                Notifications
    You must be signed in to change notification settings 
- Fork 7
Update CLI and template packages
        Viktor Aladzhov edited this page Sep 26, 2023 
        ·
        18 revisions
      
    - Follow step-by-step guide to upgrade Yarn to Yarn Berry (Yarn 2).
- Add- yargswith the- yarn add yargscommand.
- Update lerna:yarn up lerna
- Update lerna-changelog: yarn up lerna-changelog
- Update yargs:lerna exec -- yarn up yargs
Note: yarn docs
Note: lerna docs
Note:
lerna execexecutes a command for all the projects in the mono repo.lerna exec -- yarn up yargs, executed on a root level, will update all the yargs dependencies in all the projects at once. Other usage of lerna in the CLI.
Note: some CLI packages are also used in the templates and can be updated accordingly.
- on a generated project with all the components run an automatic migration tool, like ng cli, and update template files
- compare the latest project from a framework with existing templates in the CLI (with WinMerge) and update template files
- compare ng new with ig new
- ng update for project with all components and then move changes to templates
Notes: typescript update for CLI and all framework templates
- Lambda functions are already allowed in javascript so there's no need write workarounds for them (- Unhandled promise rejection: TypeError: target is not a constructor).  
- async functions with done are no longer support, either one has to be removed.
- 
- Error: require() of ES Module D:\repos\igniteui-cli\node_modules\inquirer\lib\inquirer.js from D:\repos\igniteui-cli\spec\unit\PromptSession-spec.js not supported.
Instead change the require of inquirer.js in D:\repos\igniteui-cli\spec\unit\PromptSession-spec.js to a dynamic import() which is available in all CommonJS modules. - The import(some_module) syntax is being transplied to require(some_module) which is no longer permitted:
 A possible solution might be to wrap the A possible solution might be to wrap theimport()in eval():const inquirer = await eval('import("inquirer")');which is transplied toconst inquirer = yield eval('import("inquirer")');
 
- Error: require() of ES Module D:\repos\igniteui-cli\node_modules\inquirer\lib\inquirer.js from D:\repos\igniteui-cli\spec\unit\PromptSession-spec.js not supported.
Instead change the require of inquirer.js in D:\repos\igniteui-cli\spec\unit\PromptSession-spec.js to a dynamic import() which is available in all CommonJS modules. - The import(some_module) syntax is being transplied to require(some_module) which is no longer permitted: