@zayne-labs/eslint-config 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -0
- package/dist/index.d.ts +9955 -0
- package/dist/index.js +1380 -0
- package/dist/index.js.map +1 -0
- package/package.json +135 -0
package/README.md
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Create Ts Library
|
|
2
|
+
|
|
3
|
+
This is an opinionated starter template for creating a library with TypeScript.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## Usage
|
|
7
|
+
|
|
8
|
+
To use this template, simply click the green `Use this template` button at the top right of this repo, or just fork and clone it if you prefer.
|
|
9
|
+
|
|
10
|
+
## Tooling available
|
|
11
|
+
- Eslint plugins for linting (customizable)
|
|
12
|
+
- Prettier for formatting
|
|
13
|
+
- [TSUP](https://github.com/egoist/tsup) for bundling
|
|
14
|
+
- [@zayne-labs/tsconfig](https://github.com/zayne-labs/tsconfig) for relevant tsconfig presets
|
|
15
|
+
- [Changesets](https://github.com/changesets/changesets) (Both cli and github action which must be installed on the repo) for versioning, publishing, release notes and changelogs
|
|
16
|
+
- [publint](https://github.com/bluwy/publint) and [@arethetypeswrong/cli](https://github.com/arethetypeswrong/arethetypeswrong.github.io/blob/main/packages/cli/README.md) for validating package.json and checking for proper package types resolutions respectively.
|
|
17
|
+
- [size-limit](https://github.com/ai/size-limit) for bundle size analysis and management
|
|
18
|
+
- [lint-staged](https://github.com/lint-staged/lint-staged) for lint and types checks on staged files and [husky](https://github.com/typicode/husky) for running lint-staged before any commit and before push if you prefer
|
|
19
|
+
- [pkg.pr.new](https://pkg-pr-new) for continuous testing of packages on every commit before publishing to npm.
|
|
20
|
+
- Various github workflows for:
|
|
21
|
+
- Linting on ci
|
|
22
|
+
- Automatic publishing via changesets
|
|
23
|
+
- Formatting on ci via [autofix.ci](https://autofix.ci/)
|
|
24
|
+
- Labeling issues
|
|
25
|
+
- Issue assignment
|
|
26
|
+
- Continuous release testing via pkg.pr.new github action, etc.
|
|
27
|
+
|
|
28
|
+
## Setup
|
|
29
|
+
|
|
30
|
+
- Click the `Use this template` button.
|
|
31
|
+
- Create a new repository with it.
|
|
32
|
+
- Install the necessary github applications and bots on your repo namely:
|
|
33
|
+
- [aufofix app](https://github.com/marketplace/autofix-ci) for running automatic code fixes
|
|
34
|
+
- [changesets bot](https://github.com/apps/changeset-bot) for checking if there are any changesets contained in PRs
|
|
35
|
+
- [pkg.pr.new app](https://github.com/apps/pkg-pr-new) for continuous testing of packages
|
|
36
|
+
- Create npm token [here](https://docs.npmjs.com/creating-and-viewing-access-tokens) (Skip if you already have it handy).
|
|
37
|
+
- Add it as a [secret to your repository](https://docs.github.com/en/codespaces/managing-codespaces-for-your-organization/managing-development-environment-secrets-for-your-repository-or-organization#adding-secrets-for-a-repository) (or at the organization level if you have one), using the name `"NPM_TOKEN"`.
|
|
38
|
+
- Install the dependencies using `pnpm install`.
|
|
39
|
+
- Edit the package.json file, and replace any of these: `[*]`, with the appropriate names relevant to your lib (Did this cuz comments aren't allowed in json files).
|
|
40
|
+
- Lint your changes by running some of the `lint:*` scripts in the package.json.
|
|
41
|
+
- Commit and push your changes.
|
|
42
|
+
|
|
43
|
+
## To publish a new version
|
|
44
|
+
- Create a changeset via `pnpm changeset` command
|
|
45
|
+
- Follow the prompts
|
|
46
|
+
- Push to github
|
|
47
|
+
- Wait for the changeset action to finish and if it's successful, you should see a pr created by the changeset bot
|
|
48
|
+
- Merging it will lead to the version bump, release and publishing of the package
|
|
49
|
+
|
|
50
|
+
|