@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 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
+