Skip to content

Latest commit

 

History

History
204 lines (118 loc) · 4.67 KB

CONTRIBUTING.md

File metadata and controls

204 lines (118 loc) · 4.67 KB

Contributing to embroider-css-modules

Open source projects like embroider-css-modules live on your words of encouragement and contribution. Please give feedback, report issues, or submit pull requests!

Here are some guidelines to help you and everyone else.

Local development

Install dependencies
  1. Fork and clone this repo.

    git clone git@github.com:<your-github-handle>/embroider-css-modules.git
  2. Change directory.

    cd embroider-css-modules
  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 repo and read:user scopes enabled.

  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 workspace root's version.

  5. Publish the packages.

    # From the workspace root
    pnpm release:publish

How can I help?

If you haven't before, I encourage you to watch Sean Massa's mini-talk on what it means to be a contributor. To sum up the talk, you can be a contributor in many ways. I want you to discover a path that meets your goals well!

Here are some suggestions to help you start:

Give feedback 💞
  1. An open source project's value comes from people using the code and extending it to make greater things. Let me know how you use CSS modules in your Ember app or addon!

  2. You can create an issue to:

    • Share how you used embroider-css-modules
    • Share what you liked or didn't like about embroider-css-modules
Help with marketing 📢
  1. Platforms include:

    • Blog post
    • GitHub star
    • Meetup or conference talk
    • Social media
    • Word of mouth
Join this project 👩‍💻👨‍💻
  1. Help me maintain the project! I have limited time and there is much that I don't know.

    • Cut releases
    • Research new ways to implement CSS modules
    • Respond to issues
    • Review pull requests
Make issues 📝
  1. In addition to sharing feedback (described in Give feedback), you can create an issue to:

    • Ask for better documentation
    • Ask for new feature or refactor
    • Report bug
    • Report outdated dependency
  2. When reporting a bug, please provide details to help me understand what's going on. If possible, please use the latest version of embroider-css-modules and set up a public demo that I (and others) can check the code.

💡 Have ideas for contribution? Reach out to @ijlee2 on Discord!