feat: migrate from github

This commit is contained in:
Naomi Carrigan 2024-05-11 23:38:04 -07:00
commit df70330eaa
No known key found for this signature in database
GPG Key ID: 7019A402E94A9808
15 changed files with 2192 additions and 0 deletions

8
.gitattributes vendored Normal file
View File

@ -0,0 +1,8 @@
# Auto detect text files and perform LF normalization
* text eol=LF
*.ts text
*.spec.ts text
# Ignore binary files >:(
*.png binary
*.jpg binary

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
/node_modules/
# Ignore packed files so that npm pack can be run locally
*.tgz

8
.npmignore Normal file
View File

@ -0,0 +1,8 @@
test.js
/.github/
.prettierrc.json
.gitattributes
renovate.json
# Ignore packed files so that npm pack can be run locally
*.tgz

1
.prettierrc.json Normal file
View File

@ -0,0 +1 @@
"@nhcarrigan/prettier-config"

3
CODE_OF_CONDUCT.md Normal file
View File

@ -0,0 +1,3 @@
# Code of Conduct
Our Code of Conduct can be found here: https://docs.nhcarrigan.com/#/coc

3
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,3 @@
# Contributing
Our contributing guidelines can be found here: https://docs.nhcarrigan.com/#/contributing

5
LICENSE.md Normal file
View File

@ -0,0 +1,5 @@
# License
This software is licensed under our [global software license](https://docs.nhcarrigan.com/#/license).
Copyright held by Naomi Carrigan.

3
PRIVACY.md Normal file
View File

@ -0,0 +1,3 @@
# Privacy Policy
Our privacy policy can be found here: https://docs.nhcarrigan.com/#/privacy

57
README.md Normal file
View File

@ -0,0 +1,57 @@
# Naomi's ESLint Config
This package holds my ESLint configuration for easy installation and syncing changes across projects.
## Live Version
This package is currently published. [View the `npm` page](https://www.npmjs.com/package/@nhcarrigan/eslint-config).
## Installation
To install this package, run the following command:
```bash
npm i @nhcarrigan/eslint-config eslint
```
## Compatibility
This package is compatible with ESLint 8.
## Usage
To use this package, add the following to your `.eslintrc.json` file:
```json
{
"extends": "@nhcarrigan/eslint-config"
}
```
## Warnings and Errors
A rule is set to be a warning when it is something that is okay during development (e.g. using a `console.log`, or not having a JSDoc definition yet) but should not make it to production code.
A rule is set to an error when it is something that should not occur in development or production (e.g. missing semi-colons, using loose equality).
## Feedback and Bugs
If you have feedback or a bug report, please feel free to open a GitHub issue!
## Contributing
If you would like to contribute to the project, you may create a Pull Request containing your proposed changes and we will review it as soon as we are able! Please review our [contributing guidelines](CONTRIBUTING.md) first.
## Code of Conduct
Before interacting with our community, please read our [Code of Conduct](CODE_OF_CONDUCT.md).
## License
This software is licensed under our [global software license](https://docs.nhcarrigan.com/#/license).
Copyright held by Naomi Carrigan.
## Contact
We may be contacted through our [Chat Server](http://chat.nhcarrigan.com) or via email at `contact@nhcarrigan.com`.

3
SECURITY.md Normal file
View File

@ -0,0 +1,3 @@
# Security Policy
Our security policy can be found here: https://docs.nhcarrigan.com/#/security

3
TERMS.md Normal file
View File

@ -0,0 +1,3 @@
# Terms of Service
Our Terms of Service can be found here: https://docs.nhcarrigan.com/#/terms

83
index.js Normal file
View File

@ -0,0 +1,83 @@
module.exports = {
env: {
es2020: true,
node: true,
},
extends: [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:prettier/recommended",
"plugin:jsdoc/recommended",
"plugin:import/recommended",
"plugin:import/typescript",
"plugin:deprecation/recommended",
],
parser: "@typescript-eslint/parser",
parserOptions: {
ecmaVersion: 11,
sourceType: "module",
},
plugins: ["@typescript-eslint", "jsdoc", "import", "no-only-tests", "eslint-plugin-deprecation"],
rules: {
"linebreak-style": ["error", "unix"],
quotes: ["error", "double", { allowTemplateLiterals: true }],
semi: ["error", "always"],
"prefer-const": "warn",
eqeqeq: ["error", "always"],
curly: ["error"],
"require-atomic-updates": ["warn"],
"no-var": ["error"],
camelcase: ["error"],
"comma-dangle": ["error", "never"],
"init-declarations": ["error", "always"],
"require-await": ["warn"],
"no-param-reassign": ["error"],
"jsdoc/require-jsdoc": [
"warn",
{
require: {
ArrowFunctionExpression: true,
ClassDeclaration: true,
ClassExpression: true,
FunctionDeclaration: true,
FunctionExpression: true,
MethodDefinition: true,
},
publicOnly: true,
},
],
"jsdoc/require-description-complete-sentence": "warn",
"import/first": "warn",
"import/exports-last": "warn",
"import/newline-after-import": "warn",
"import/order": [
"warn",
{
groups: [
"builtin",
"external",
"internal",
"parent",
"sibling",
"index",
"object",
"type",
"unknown",
],
"newlines-between": "always",
alphabetize: {
order: "asc",
caseInsensitive: true,
},
},
],
"no-only-tests/no-only-tests": [
"warn",
{
block: ["test", "suite", "assert"],
focus: ["only", "skip"],
},
],
"no-console": "warn",
},
};

43
package.json Normal file
View File

@ -0,0 +1,43 @@
{
"name": "@nhcarrigan/eslint-config",
"version": "3.2.0",
"description": "Global config for ESLint",
"main": "index.js",
"scripts": {
"test": "eslint test.js --max-warnings 0 -c index.js"
},
"repository": {
"type": "git",
"url": "git+ssh://git@github.com/naomi-lgbt/eslint-config.git"
},
"engines": {
"node": "20",
"pnpm": "8"
},
"keywords": [
"eslint"
],
"author": "Naomi Carrigan",
"license": "SEE LICENSE IN https://docs.nhcarrigan.com/#/license",
"bugs": {
"url": "https://github.com/naomi-lgbt/eslint-config/issues"
},
"homepage": "https://github.com/naomi-lgbt/eslint-config#readme",
"dependencies": {
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-import": "2.29.1",
"eslint-plugin-jsdoc": "41.1.2",
"eslint-plugin-no-only-tests": "3.1.0",
"eslint-plugin-prettier": "5.1.3"
},
"peerDependencies": {
"eslint": ">=8"
},
"devDependencies": {
"@nhcarrigan/prettier-config": "1.0.1",
"eslint-plugin-deprecation": "2.0.0",
"prettier": "^3.0.2"
}
}

1967
pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

1
test.js Normal file
View File

@ -0,0 +1 @@
// this file exists to validate that the eslint config is valid