Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Website updates for v10 release #1297

Merged
merged 26 commits into from
May 15, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ contact_links:
-
name: "Help! My Types Are Missing!"
about: "This is likely a configuration problem. Check our README"
url: "https://github.com/TypeStrong/ts-node/blob/main/README.md#help-my-types-are-missing"
url: "https://typestrong.org/ts-node/docs/types"
-
name: "TSError or SyntaxError"
about: "These errors come from TypeScript and node, respectively. Use StackOverflow or Discord for usage and configuration help."
url: "https://stackoverflow.com/questions/tagged/ts-node"
url: "https://typestrong.org/ts-node/docs/troubleshooting"
52 changes: 52 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
*This guide is best-effort and will be improved as necessary.*

## Features, bugfixes, and other code

We use npm scripts for building, testing, and linting. Read the scripts to become familiar with our build process. The big ones are:

```
npm install
npm run build
npm run test
npm run lint-fix
```

`npm prepare` is maintained so that anyone can install `ts-node` from git, which is useful for testing experimental branches and unreleased features.

Source lives in `src` and is compiled to `dist`. Some shim files live outside of `src` so that they can be imported at
certain paths. For example, to allow users to import `ts-node/register`, we have `register/index.js` which is a shim to
compiled code in `dist`.

`dist-raw` is for larger chunks of code which are not compiled nor linted because they have been copy-pasted from `node`'s source code.

We publish using `np`: https://npm.im/np

## Documentation

Documentation is written in markdown in `website/docs` and rendered into a website by Docusaurus.

To edit documentation, modify the markdown files in `./website/docs` and the sidebar declaration in `./website/sidebars.js`

Docs for the latest stable release live in a `docs` branch. The "Edit this page" links on the website link to the `docs`
branch so that the website can be improved in parallel with new feature work.

Docs changes for unreleased features are merged to `main` in the same PR which implements the feature, adds tests, etc.
When we release a new version, we merge `main` into `docs` and `docs` into `main`, unifying the two.

```shell
cd ./website
yarn
yarn start
# Will host live website locally
```

This site was used to generate the favicon from a high-res PNG export of the SVG. https://realfavicongenerator.net/

## Release checklist

1. Merge `docs` into `main`
2. Rebuild the README (see instructions above, necessary because npmjs.com renders the readme)
3. Publish with `np`
4. Add changelog to the Github Release; match formatting from previous releases
5. Merge `main` into `docs` (this automatically rebuilds the website)
6. If tsconfig schema has changed, send a pull request to schemastore. [Example](https://github.com/SchemaStore/schemastore/pull/1208)