JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 104
  • Score
    100M100P100Q51791F
  • License MIT

Analyze dependencies of an Ember project

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (analyze-ember-project-dependencies) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    analyze-ember-project-dependencies

    Analyze dependencies of an Ember project

    1. Why use it?
    2. Usage
    3. Compatibility
    4. Contributing
    5. License

    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

    Optional: Specify the component structure

    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
    Optional: Specify the project root

    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.

    src/utils/find-entities/known-entities.ts
    const KNOWN_ENTITIES = new Map<PackageName, Partial<ProjectDataEntities>>([
      [
        '@ember/render-modifiers',
        {
          modifiers: ['did-insert', 'did-update', 'will-destroy'],
        },
      ],
    
      // ...
    ]);

    Compatibility

    • Node.js v20 or above

    Contributing

    See the Contributing guide for details.

    License

    This project is licensed under the MIT License.