No description
  • TypeScript 55.4%
  • JavaScript 38.8%
  • CSS 2.5%
  • MDX 1.4%
  • PowerShell 1.3%
  • Other 0.4%
Find a file
June Zhao 5335eaf5fe
Merge pull request #296 from hashicorp/dependabot/npm_and_yarn/yaml-2.8.3
chore(deps): bump yaml from 2.2.2 to 2.8.3
2026-03-31 12:19:59 -07:00
.changeset Version Packages 2025-12-15 21:51:15 +00:00
.circleci [COMPLIANCE] Add Copyright and License Headers 2025-09-22 16:31:20 +00:00
.github Revert ubuntu version and install old openssl version 2026-02-11 11:48:40 -05:00
packages chore(deps): bump yaml from 2.2.2 to 2.8.3 2026-03-25 22:47:18 +00:00
.copywrite.hcl [COMPLIANCE] Update Copyright and License Headers (Batch 1 of 2) 2025-12-08 10:50:36 +00:00
.editorconfig initial commit 2021-11-02 18:21:37 -04:00
.eslintrc.js [COMPLIANCE] Add Copyright and License Headers 2025-09-22 16:31:20 +00:00
.gitignore initial commit 2021-11-02 18:21:37 -04:00
.npmignore initial commit 2021-11-02 18:21:37 -04:00
.npmrc initial commit 2021-11-02 18:21:37 -04:00
.stylelintignore initial commit 2021-11-02 18:21:37 -04:00
.stylelintrc.js [COMPLIANCE] Add Copyright and License Headers 2025-09-22 16:31:20 +00:00
CHANGELOG-nextjs-scripts.md initial commit 2021-11-02 18:21:37 -04:00
CODEOWNERS Create CODEOWNERS 2025-12-12 15:52:19 -08:00
global.d.ts [COMPLIANCE] Update Copyright and License Headers (Batch 1 of 2) 2025-12-08 10:50:36 +00:00
jest.config.js [COMPLIANCE] Update Copyright and License Headers (Batch 1 of 2) 2025-12-08 10:50:36 +00:00
LICENSE [COMPLIANCE] Update Copyright and License Headers (Batch 1 of 2) 2025-12-08 10:50:36 +00:00
package-lock.json Merge pull request #296 from hashicorp/dependabot/npm_and_yarn/yaml-2.8.3 2026-03-31 12:19:59 -07:00
package.json [content-conformance] ensure-valid-nav-paths (#137) 2022-12-19 16:21:11 -05:00
prettier.config.js [COMPLIANCE] Update Copyright and License Headers (Batch 2 of 2) 2025-12-08 10:50:34 +00:00
readme.md docs(content-conformance): add section on writing rules (#175) 2023-03-03 09:21:23 -06:00
tsconfig.json ignore fixtures 2022-04-11 13:28:13 -05:00

HashiCorp Web Platform Packages

This monorepo contains a collection of packages which layer a number of configuration choices, code quality checks, and code generators on top of Next.js. Specifically, it provides:

  • Baked in, zero-config typescript linting & prettier formatting via binary
  • Code generators for base website templates, new pages, and new components via binary
  • A pre-configured client for easily fetching from DatoCMS
  • A strong set of default plugins, including:
    • mdx-processed markdown with front-matter and layouts
    • css files with pre-configured postcss-preset-env can be imported directly into components
    • graphql file loader
    • webpack bundle analyzer

Packages

Current packages:

Publishing

Publishing is handled through the changesets library. Publishing is done in CI if changes are found. For more information on how to work with changesets, see this document.

Adding a changeset

Run the following command and follow the prompt:

npx changeset

To make any adjustments to your changeset, just edit the file!

Releases

The release process is handled mostly automatically via the changesets GitHub action. When changeset files get merged to main, a Pull Request is opened which will, upon merge, release all pending changesets and remove the changeset files. We should not need to publish manually with this flow. See the changesets/action(https://github.com/changesets/action) repo for more information.

Canary Releases

If you want to test your changes before merging, you can add a release:canary label to your pull request. If any changeset files are found, a release will be created and tagged with canary. You can then install the canary version elsewhere:

npm install @hashicorp/platform-package@canary

Prereleases

Prereleases are also handled through a process integrated into changesets. The full flow is outlined in this document. To enter a prerelease mode for the canary tag, we would do something like this:

npx changeset pre enter canary
GITHUB_TOKEN=<your token> npx changeset version
GITHUB_TOKEN=<your token> npx changeset publish

To continue publishing preleases, use the npx changeset command like normal and use the version and publish commands as appropriate.