Skip to content

Latest commit

 

History

History
130 lines (79 loc) · 2.66 KB

CONTRIBUTING.md

File metadata and controls

130 lines (79 loc) · 2.66 KB

Contributing to ember-intl

Local development

Install dependencies
  1. Fork and clone this repo.

    git clone git@github.com:<your-github-handle>/ember-intl.git
  2. Change directory.

    cd ember-intl
  3. Use pnpm to install dependencies.

    pnpm install
Run the demo app
  1. Once dependencies have been installed, you can run the demo app.

    # From the workspace root
    pnpm start
  2. Open the app at http://localhost:4200.

Lint files
  1. When you write code, please check that it meets the linting rules.

    # From the workspace root
    pnpm lint
  2. You can run lint:fix to automatically fix linting errors.

    # From the workspace root
    pnpm lint:fix
Run tests
  1. When you write code, please check that all tests continue to pass.

    # From the workspace root
    pnpm test
Add changeset to pull request
  1. To record how a pull request affects packages, you will want to add a changeset.

    The changeset provides a summary of the code change. It also describes how package versions should be updated (major, minor, or patch) as a result of the code change.

    # From the workspace root
    pnpm changeset
Publish packages (for admins)
  1. Generate a personal access token in GitHub, with default values for scopes (none selected).

  2. Run the release:changelog script. This removes changesets, updates the package versions, and updates the CHANGELOG's.

    # From the workspace root
    GITHUB_TOKEN=<YOUR_PERSONAL_ACCESS_TOKEN> pnpm release:changelog
  3. The workspace root's version (e.g. 0.1.3) is more of an identifier than a (semantic) version. We will use it to name the tag that will be published.

    In the root package.json, update the version following the "highest-version" formula:

    workspace root version = max(
      max(all package versions),
      workspace root version + 0.0.1,
    );
    
  4. Create a tag and provide release notes. The tag name should match the package version, prefixed by the letter v. For example, v1.0.0.

  5. Publish the package.

    # From the workspace root
    pnpm release:package