# @inrupt/template-ts

> A template repo for Inrupt TypeScript projects

Latest version **0.0.2** (published 2021-03-10) · MIT license · 0 weekly downloads

## Install

```sh
npm install @inrupt/template-ts
pnpm add @inrupt/template-ts
yarn add @inrupt/template-ts
bun add @inrupt/template-ts
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.2 |
| Published | 2021-03-10 |
| First published | 2021-03-05 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 11.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | timbl, kjetilk, rubenverborgh, nseydoux, ajacksified, pmcb55, inrupt_ci, vincenttunru, virginiabalseiro, megoth |
| Keywords | rdf, solid, linked data, turtle |

## Links

- npm: https://www.npmjs.com/package/@inrupt/template-ts
- Repository: https://github.com/inrupt/template-ts
- Homepage: https://docs.inrupt.com/client-libraries/template-ts/
- Issues: https://github.com/inrupt/template-ts/issues
- npm.io page: https://npm.io/package/@inrupt/template-ts

## Alternatives

- [@sindresorhus/slugify](https://npm.io/package/@sindresorhus/slugify.md) — 3.7M weekly downloads
- [solid-js](https://npm.io/package/solid-js.md) — 2.7M weekly downloads
- [expo-glass-effect](https://npm.io/package/expo-glass-effect.md) — 2.5M weekly downloads
- [nanoassert](https://npm.io/package/nanoassert.md) — 780.8K weekly downloads
- [@ffmpeg/ffmpeg](https://npm.io/package/@ffmpeg/ffmpeg.md) — 529.5K weekly downloads

## Recent versions

- 0.0.2 (latest) — 2021-03-10
- 0.0.4-main-796044505-90-1619699834.0 (main) — 2021-04-29
- 0.0.4-fixlicense-header-typedoc-730162109-78-1617897922.0 — 2021-04-08
- 0.0.4-main-729508608-77-1617884938.0 — 2021-04-08
- 0.0.4-chorecleanup-dependabot-ci-721498138-74-1617689043.0 — 2021-04-06
- 0.0.4-chorecleanup-dependabot-ci-707550941-72-1617258193.0 — 2021-04-01
- 0.0.4-chorecleanup-dependabot-ci-707480077-71-1617256199.0 — 2021-04-01
- 0.0.4-chorecleanup-dependabot-ci-707455860-70-1617255577.0 — 2021-04-01
- 0.0.4-main-686452255-64-1616674453.0 — 2021-03-25
- 0.0.4-pmcb55-patch-1-684442682-61-1616620019.0 — 2021-03-24
- 0.0.4-main-662448553-52-1616015193.0 — 2021-03-17
- 0.0.4-main-662444028-51-1616015084.0 — 2021-03-17
- 0.0.4-main-646263308-39-1615554365.0 — 2021-03-12
- 0.0.4-fixhusky-script-643545162-37-1615482600.0 — 2021-03-11
- 0.0.4-fixhusky-script-643536485-36-1615482410.0 — 2021-03-11
- … 15 more at https://npm.io/package/@inrupt/template-ts/versions

## README

# TypeScript project template for Inrupt projects

This is a template project from which new TypeScript projects can be generated. It sets up the
basic structure for libraries, including linting and tests, from unit testing with Jest through
to end-to-end acceptance testing with Testcafe and Code Sandbox.

## Usage

Short version: search everywhere for "template-ts" and replace all instances with the proper name
of your GitHub repo or NPM module.

In more detail, you will need to:

- Update references in `.github` from "template-ts" to the name of your GitHub repo.
- Update packaging tests in `.github/workflows/cd-packaging-tests/bundler-\*` to point to the
  correct location and relevant exported modules.
- Replace `src/module/index.ts` and `src/index.ts`, with your source code (obviously).
- Update `e2e/browser/e2e.testcafe.ts` to include actual tests after exporting functions to test
  from `.codesandbox/sandbox/src/end-to-end-test-helpers.ts`. `pageModels` includes code to
  handle authentication, which can be removed if irrelevant.
- Update `package.json` to fix links to homepage, bugs, etc.
- Update "Exports" to match your directory structure.

## Caveats

- The `.eslintignore` is hacky, but due to the way `.codesandbox` works we can't include
  end-to-end test files in the project in the `tsconfig`. This means we have to explicitly
  ignore the files, or the linter gets upset about trying to lint files outside of the
  project. To be fixed if we can customize the Code Sandbox location.
- This project has CodeQL disabled until it is a public project. If you use this template, you
  may want to disable CodeQL until your project is made public.
- This project also has the publish-website action disabled for the same reason; disable it in
  your project until it is ready to be published.

### ENV variables for your GitHub repo

You will need the following variables for the CD process:

- NPM_TOKEN

You will need a number of variables for the CI process:

End-to-end tests:

- E2E_TEST_ESS_COMPAT_PROD_CLIENT_ID
- E2E_TEST_ESS_COMPAT_PROD_CLIENT_SECRET
- E2E_TEST_ESS_COMPAT_PROD_IDP_URL
- E2E_TEST_ESS_COMPAT_PROD_POD
- E2E_TEST_ESS_COMPAT_PROD_REFRESH_TOKEN
- E2E_TEST_ESS_PROD_CLIENT_ID
- E2E_TEST_ESS_PROD_CLIENT_SECRET
- E2E_TEST_ESS_PROD_COGNITO_PASSWORD
- E2E_TEST_ESS_PROD_COGNITO_USER
- E2E_TEST_ESS_PROD_IDP_URL
- E2E_TEST_ESS_PROD_POD
- E2E_TEST_ESS_PROD_REFRESH_TOKEN
- TESTCAFE_ESS_DEV_COGNITO_PASSWORD
- TESTCAFE_ESS_DEV_COGNITO_USER
- TESTCAFE_ESS_DEV_IDP_URL
- TESTCAFE_ESS_DEV_POD
- TESTCAFE_ESS_PROD_COGNITO_PASSWORD
- TESTCAFE_ESS_PROD_COGNITO_USER
- TESTCAFE_ESS_PROD_IDP_URL
- TESTCAFE_ESS_PROD_POD

## Changelog

See [the release notes](https://github.com/inrupt/template-ts/blob/main/CHANGELOG.md).

## License

MIT © [Inrupt](https://inrupt.com)

---
_Source: https://npm.io/package/@inrupt/template-ts · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
