(content)
| 48 | ], |
| 49 | |
| 50 | updatePackageJson(content) { |
| 51 | let contents = JSON.parse(content); |
| 52 | |
| 53 | contents.name = stringUtil.dasherize(this.options.entity.name); |
| 54 | contents.description = this.description; |
| 55 | |
| 56 | delete contents.private; |
| 57 | |
| 58 | contents.dependencies = contents.dependencies || {}; |
| 59 | contents.devDependencies = contents.devDependencies || {}; |
| 60 | |
| 61 | // npm doesn't like it when we have something in both deps and devDeps |
| 62 | // and dummy app still uses it when in deps |
| 63 | contents.dependencies['ember-cli-babel'] = contents.devDependencies['ember-cli-babel']; |
| 64 | delete contents.devDependencies['ember-cli-babel']; |
| 65 | |
| 66 | // Addons must bring in their own version of `@babel/core` when using |
| 67 | // `ember-cli-babel` >= v8. More info: |
| 68 | // https://github.com/babel/ember-cli-babel/blob/master/UPGRADING.md#upgrade-path-for-addons |
| 69 | contents.dependencies['@babel/core'] = contents.devDependencies['@babel/core']; |
| 70 | delete contents.devDependencies['@babel/core']; |
| 71 | |
| 72 | // Move ember-cli-htmlbars into the dependencies of the addon blueprint by default |
| 73 | // to prevent error: |
| 74 | // `Addon templates were detected but there are no template compilers registered for (addon-name)` |
| 75 | contents.dependencies['ember-cli-htmlbars'] = contents.devDependencies['ember-cli-htmlbars']; |
| 76 | delete contents.devDependencies['ember-cli-htmlbars']; |
| 77 | |
| 78 | contents.dependencies['ember-template-imports'] = contents.devDependencies['ember-template-imports']; |
| 79 | delete contents.devDependencies['ember-template-imports']; |
| 80 | |
| 81 | // 95% of addons don't need ember-data or ember-fetch, make them opt-in instead |
| 82 | let deps = Object.keys(contents.devDependencies); |
| 83 | for (let depName of deps) { |
| 84 | if (depName.includes('ember-data') || depName.includes('warp-drive')) { |
| 85 | delete contents.devDependencies[depName]; |
| 86 | } |
| 87 | } |
| 88 | |
| 89 | // Per RFC #811, addons should not have this dependency. |
| 90 | // @see https://github.com/emberjs/rfcs/blob/master/text/0811-element-modifiers.md#detailed-design |
| 91 | delete contents.devDependencies['ember-modifier']; |
| 92 | |
| 93 | // 100% of addons don't need ember-cli-app-version, make it opt-in instead |
| 94 | delete contents.devDependencies['ember-cli-app-version']; |
| 95 | |
| 96 | // add scripts to build type declarations for TypeScript addons |
| 97 | if (this.options.typescript) { |
| 98 | contents.devDependencies.rimraf = '^5.0.10'; |
| 99 | |
| 100 | contents.scripts.prepack = 'tsc --project tsconfig.declarations.json'; |
| 101 | contents.scripts.postpack = 'rimraf declarations'; |
| 102 | |
| 103 | contents.typesVersions = { |
| 104 | '*': { |
| 105 | 'test-support': ['declarations/addon-test-support/index.d.ts'], |
| 106 | 'test-support/*': ['declarations/addon-test-support/*', 'declarations/addon-test-support/*/index.d.ts'], |
| 107 | '*': ['declarations/addon/*', 'declarations/addon/*/index.d.ts'], |
nothing calls this directly
no test coverage detected
searching dependent graphs…