Dojo NG is being built in the open, one section at a time — follow along on Heptapod.

COMMUNITY

Community

Dojo NG is built in the open by a small team. This page explains where to ask questions, how to report a problem, and how to send a change.

Ask a question

Chat happens on Discord. Ask how to do something, suggest an idea, or show what you built.

Report a problem

Open an issue on Heptapod, in the repository the problem belongs to:

  • components: the dj-* elements, their plugins, and the theme.
  • framework: the renderer in @dojo-ng/framework.
  • site: this website and the playground.

A good report names the package and its version, the browser, and the smallest page that shows the problem. A plain HTML page with an import map is often the quickest way to show it; Getting started has one you can copy. You need an account on foss.heptapod.net to open an issue.

The GitHub mirror is read-only. Star it there if you like, but open issues and merge requests on Heptapod; the project does not track them on GitHub.

Contribute a change

Start with an issue labeled good first issue in components or framework. These are small and well scoped. For anything bigger, ask on Discord or comment on the issue first, so nobody does the same work twice.

The repositories use Mercurial, not Git. Clone and build:

hg clone https://foss.heptapod.net/dojo-ng/components
cd components
npm install
npm run build

Heptapod uses Mercurial topics where Git uses branches. Work on a topic, run the checks, add a changeset if the change should be released, then push. Heptapod prints a link to open the merge request:

hg topics fix-dialog-focus
# ...edit, then:
npm run lint
npm run test:unit
npm run test:browser
npx changeset
hg commit -m "Return focus to the trigger when dj-dialog closes"
hg push --topic fix-dialog-focus

If you cannot push to the project, fork it on Heptapod and open the merge request from your fork.

Each repository has a CONTRIBUTING.md with the same steps. Three documents explain how the library is built and what a merge request needs:

To extend a component without changing the library, write a plugin instead. The plugin guide shows how.

Code of conduct

Dojo NG follows the Contributor Covenant, version 2.1, on Discord, on Heptapod, and anywhere else people act on behalf of the project. In short: be respectful and constructive, and do not harass anyone.

If someone breaks it, report it privately to a moderator on the Dojo NG Discord. Reports are handled in confidence. The full text, with the enforcement guidelines, is in CODE_OF_CONDUCT.md in each repository.

License

Everything published is BSD-3-Clause. By contributing, you agree that your contribution is released under the same license. The source is in the dojo-ng group on Heptapod.