analyze-ember-project-dependencies
v0.4.4
Published
Analyze dependencies of an Ember project
Downloads
80
Readme
analyze-ember-project-dependencies
Analyze dependencies of an Ember project
Why use it?
Both Embroider and pnpm
ask that packages declare their dependencies correctly. The codemod (really, a linter) performs a static code analysis so that you can easily find missing and unused dependencies.
For more information, see Fixing Package Dependencies.
Usage
Step 1. Run the codemod (e.g. at the workspace root of a monorepo).
cd <path/to/your/project>
npx analyze-ember-project-dependencies
Step 2. Check the output for true positives.
Arguments
By default, apps and addons follow the flat component structure for components. Pass --component-structure
to indicate otherwise.
npx analyze-ember-project-dependencies --component-structure nested
Pass --root
to run the codemod somewhere else (i.e. not in the current directory).
npx analyze-ember-project-dependencies --root <path/to/your/project>
Limitations
The codemod is designed to cover typical cases. It is not designed to cover one-off cases.
To better meet your needs, consider cloning the repo and running the codemod locally.
cd <path/to/cloned/repo>
# Compile TypeScript
pnpm build
# Run codemod
./dist/bin/analyze-ember-project-dependencies.js --root <path/to/your/project>
[!IMPORTANT]
The codemod uses a list called
KNOWN_ENTITIES
to analyze implicit code. The list accounts for packages that live outside of your project. It isn't meant to be (and doesn't have to be) exhaustive.You can modify
KNOWN_ENTITIES
to get more accurate results.const KNOWN_ENTITIES = new Map<PackageName, Partial<ProjectDataEntities>>([ [ '@ember/render-modifiers', { modifiers: ['did-insert', 'did-update', 'will-destroy'], }, ], // ... ]);
Compatibility
- Node.js v18 or above
Contributing
See the Contributing guide for details.
License
This project is licensed under the MIT License.