Thank you for your interest in Apollo Elements. If you'd like to make a bug fix or add a feature, please read this guide first.
- 👇 Skip to Bug Fixes
- 👇 Skip to Feature Requests
- 👇 Skip to Pull Request Checklist
- 👇 Skip to Release Workflow
docs
- The sources for the docs websitepackages
- Sources for the public packagespatches
- Occasionally we need to patch an NPM package, e.g. while waiting for bug fixes to get published. We should not patch package dependencies, only repository development dependencies.plugins
- Development tool plugins, e.g. shared config files or monorepo toolsscripts
- Shell scripts that run during various processestest
- Test helpers and sources. Contains shared test files, a mocked GraphQL server/client, and GraphQL operations used for testing.
CODE_OF_CONDUCT.md
- Contributor Code of ConductCONTRIBUTING.md
- This documentLICENCE.md
- Apollo Elements' software licenseREADME.md
- The repository's front page
These files mostly configure tools.
.changeset
- Stores upcoming CHANGELOG records. See Changesets.codeclimate.yml
- Configures Codeclimate static analysis tools.commitlintrc.json
- Configures Commitlint.eslintignore
- List of files for ESLint to ignore.eslintrc.json
- Configures ESLint to ignore.github
- Configures Github Actions, funding, and other features.gitignore
- List of file for git to ignore.graphqlrc.yml
- Configures GraphQL Code Generation, mostly for testing.nvmrc
- Configures NVM to set the node version.stylelintrc.yml
- Configures Stylelint for CSS code standards.vscode
- Configures Visual Studio Code to use eslint and stylelint, and to run certain scripts
declaration.d.ts
- Allows TypeScript to treat css and graphql files as JS modulesnetlify.toml
- Configures the website's hostingpackage-lock.json
- Package lock file, establishes exactly which versions of each dependency to installpackage.json
- The monorepo root, containing most of the development dependencies and some useful scriptsrocket.config.js
- Configures Rocket, the web framework used for the docstsconfig.json
- Configures TypeScripttsconfig.settings.json
- Shared settings for TypeScriptweb-test-runner.config.js
- Configures the test runner
If you notice a bug in Apollo Elements, please first search the open issues, and if you don't find one that matches, open a new bug report
If you'd like to add a new feature to Apollo Elements, please open a feature request issue to discuss the feature before making a pull request.
- Keep your pull request small and scoped to a single issue
- Test your changes
- Add or update documentation (inline, in
/docs
, or both) - Add a changeset by running
npx changeset
To make changes that target the next
dist-tag on npm, make a pull request to the next
branch. Make sure that tests pass, and that the docs site builds and propertly displays your change. When the PR gets merged, the changesets action will create or update a "Version Packages" PR. Merging that PR will publish the packages with the next
dist-tag.
Merging next
into main
will exit prerelease mode and create a "Versions Packages" PR which graduates the changes per-package according to the highlest semver level changeset added since the last latest
release. Once that PR is merged, the changes will publish to npm with the latest
dist tag.
At that point, next
must be manually rebased to main
in order to make way for the next prerelease cycle.