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

Next Release #683

Merged
merged 70 commits into from
Jul 30, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
a21ab96
refactor: use ts-api-utils
RebeccaStevens Mar 31, 2023
72ea7c0
build: update build process
RebeccaStevens Mar 31, 2023
1855ebd
chore: update to typescript-eslint v6
RebeccaStevens Mar 31, 2023
3fb9028
feat(prefer-immutable-types)!: use suggestions instead of a fixer by …
RebeccaStevens Mar 31, 2023
ce9a5ec
chore: remove "recommended" docs meta as we're not using it
RebeccaStevens Mar 31, 2023
bdc2d4f
chore: update tsconfigs
RebeccaStevens Mar 31, 2023
5c6b1a2
fix: migrate code for @typescript-eslint v6
RebeccaStevens Apr 1, 2023
c0db6d8
style: update linting
RebeccaStevens Apr 1, 2023
71ecdb5
fix: further updates for v6
RebeccaStevens Jul 14, 2023
e4002ee
test: update test configs
RebeccaStevens Jul 14, 2023
4512ceb
test: update tests for v6
RebeccaStevens Jul 14, 2023
e6e0823
chore: small update
RebeccaStevens Jul 15, 2023
6be5862
feat!: remove `assumeTypes` option
RebeccaStevens Jul 15, 2023
658e008
test: is-immutable-type now requires types to actually exist
RebeccaStevens Jul 15, 2023
35ed434
test(immutable-data): fix some tests not running
RebeccaStevens Jul 15, 2023
04f46a9
style: update linting
RebeccaStevens Jul 15, 2023
9c4894b
chore: update node args
RebeccaStevens Jul 15, 2023
1e07a9f
refactor: use #-style local imports
RebeccaStevens Jul 15, 2023
8eadbb6
ci: rework compiling tests
RebeccaStevens Jul 15, 2023
aefe6b2
build!: increase minimum supported TypeScript version to 4.3.5
RebeccaStevens Jul 15, 2023
a56d303
chore(release): 6.0.0-next.1 [skip ci]
semantic-release-bot Jul 15, 2023
2055d28
chore: update eslint config
RebeccaStevens Jul 15, 2023
9c89b9e
feat(functional-parameters): add option to ignore getters and setters
RebeccaStevens Jul 17, 2023
b42c6ab
chore(release): 6.0.0-next.2 [skip ci]
semantic-release-bot Jul 17, 2023
d3ce5b0
fix: add sanity checks to type immutablity override settings
RebeccaStevens Jul 17, 2023
37a4dcf
chore: update dep
RebeccaStevens Jul 17, 2023
3fa69dc
chore(release): 6.0.0-next.3 [skip ci]
semantic-release-bot Jul 17, 2023
2a3635f
docs: add tidelift info
RebeccaStevens Jul 20, 2023
813b549
docs: update getting started guide
RebeccaStevens Jul 20, 2023
330807c
docs(prefer-tacit): no longer takes ignorePattern. details also updated
RebeccaStevens Jul 20, 2023
59e0e2a
docs: move ignorePattern details into each rule
RebeccaStevens Jul 20, 2023
a5d3942
docs: remove allowLocalMutation standalone docs
RebeccaStevens Jul 20, 2023
901918d
docs: update immutability setting
RebeccaStevens Jul 20, 2023
b4a7099
chore: deps update
RebeccaStevens Jul 20, 2023
a7094fc
Merge branch 'main' into next
RebeccaStevens Jul 20, 2023
894fb91
feat(no-expression-statements): add option to ignore self returning f…
RebeccaStevens Jul 21, 2023
e2e9a01
chore(release): 6.0.0-next.4 [skip ci]
semantic-release-bot Jul 21, 2023
f448813
Merge branch 'main' into next
RebeccaStevens Jul 21, 2023
48d8eba
fix!: replace `ignorePattern` option with `ignoreIdentifierPattern` a…
RebeccaStevens Jul 21, 2023
180e191
chore(release): 6.0.0-next.5 [skip ci]
semantic-release-bot Jul 21, 2023
ecde24a
feat(immutable-data): add new option `ignoreNonConstDeclarations`
RebeccaStevens Jul 21, 2023
5b1acb9
chore(release): 6.0.0-next.6 [skip ci]
semantic-release-bot Jul 21, 2023
147d82f
Merge branch 'main' into next
RebeccaStevens Jul 21, 2023
9644994
fix(immutable-data): rework logic, it should work now
RebeccaStevens Jul 24, 2023
fef136d
chore(release): 6.0.0-next.7 [skip ci]
semantic-release-bot Jul 24, 2023
4f317d1
Merge branch 'main' into next
RebeccaStevens Jul 24, 2023
d21a728
build: replace ava with vitest
RebeccaStevens Jul 26, 2023
e94f253
refactor: remove nolonger used code for supporting progressively enha…
RebeccaStevens Jul 26, 2023
809e8e2
chore: don't typecheck when running the cz adapter
RebeccaStevens Jul 26, 2023
72ac135
style: remove unsed import
RebeccaStevens Jul 26, 2023
5abebe6
test: modify how tests files all the tests
RebeccaStevens Jul 26, 2023
2aa336f
chore: fix running rules that require type info in markdown
RebeccaStevens Jul 26, 2023
7b9448a
test: typescript rules now require typescript
RebeccaStevens Jul 26, 2023
6f3b59d
refactor: import test case types from rule-tester
RebeccaStevens Jul 26, 2023
136c1b0
chore: deps update
RebeccaStevens Jul 26, 2023
40345cd
docs: add tidelift funding info
RebeccaStevens Jul 27, 2023
3984316
refactor: extend RuleTester instead of overwriting values
RebeccaStevens Jul 28, 2023
16cfa83
docs(prefer-immutable-types): add note about pure functions
RebeccaStevens Jul 28, 2023
3477025
chore: check conditional-imports
RebeccaStevens Jul 28, 2023
4574faf
docs: remove some comments
RebeccaStevens Jul 28, 2023
c87cef0
chore: collect coverage when running local js tests
RebeccaStevens Jul 28, 2023
d2c70af
style: ignore coverage of sanity checks
RebeccaStevens Jul 28, 2023
891adff
build: remove unneeded rollup plugins
RebeccaStevens Jul 28, 2023
bc4c5c0
build: compiled tests need typescript sourcemaps too
RebeccaStevens Jul 28, 2023
3dedda2
chore: improve coverage mapping
RebeccaStevens Jul 28, 2023
31899ea
ci: disbale JS env tests for now
RebeccaStevens Jul 30, 2023
4c80b0a
chore: deps update
RebeccaStevens Jul 30, 2023
7739c6b
style: fix import/no-duplicates
RebeccaStevens Jul 30, 2023
e6bc22e
chore: update pnpm
RebeccaStevens Jul 30, 2023
57e24d1
build: switch to semantic-release-replace-plugin
RebeccaStevens Jul 30, 2023
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
94 changes: 43 additions & 51 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,20 @@
"prettier"
],
"parserOptions": {
"project": [
"./tsconfig.json",
"./tests/tsconfig.json",
"./cz-adapter/tsconfig.json"
]
"project": true
},
"ignorePatterns": ["/build/", "/coverage/", "/lib/", "/cz-adapter/**/*.js"],
"ignorePatterns": [
"/build/",
"/coverage/",
"/lib/",
"/tests-compiled/",
"/cz-adapter/**/*.js"
],
"rules": {
"functional/prefer-immutable-types": "off"
"functional/prefer-immutable-types": "off",
"@typescript-eslint/no-explicit-any": "warn",
"@typescript-eslint/no-unnecessary-condition": "off",
"@typescript-eslint/restrict-plus-operands": "off"
},
"overrides": [
{
Expand Down Expand Up @@ -59,15 +64,26 @@
},
{
"files": ["**/*.test.ts"],
"plugins": ["ava"],
"extends": ["plugin:ava/recommended"],
"rules": {
"@typescript-eslint/no-unsafe-argument": "off",
"@typescript-eslint/no-unsafe-assignment": "off",
"@typescript-eslint/no-unsafe-call": "off",
"@typescript-eslint/no-unsafe-member-access": "off",
"@typescript-eslint/no-unsafe-return": "off",
"jsdoc/require-jsdoc": "off"
"@typescript-eslint/no-unused-vars-experimental": "off",
"@typescript-eslint/strict-boolean-expressions": "off",
"eslint-comments/disable-enable-pair": "off",
"eslint-comments/no-unlimited-disable": "off",
"functional/functional-parameters": "off",
"functional/no-conditional-statements": "off",
"functional/no-expression-statements": "off",
"functional/no-loop-statements": "off",
"functional/no-return-void": "off",
"import/no-named-as-default-member": "off",
"jsdoc/require-jsdoc": "off",
"sonarjs/no-duplicate-string": "off",
"sonarjs/no-identical-functions": "off",
"unicorn/prefer-module": "off"
}
},
{
Expand All @@ -84,64 +100,40 @@
"parserOptions": {
"project": null
},
"extends": ["plugin:markdown/recommended", "plugin:functional/off"],
"extends": [
"plugin:markdown/recommended",
"plugin:@typescript-eslint/disable-type-checked",
"plugin:functional/off"
],
"rules": {
"@typescript-eslint/await-thenable": "off",
"@typescript-eslint/consistent-type-definitions": "off",
"@typescript-eslint/dot-notation": "off",
"@typescript-eslint/explicit-member-accessibility": "off",
"@typescript-eslint/naming-convention": "off",
"@typescript-eslint/no-confusing-void-expression": "off",
"@typescript-eslint/no-empty-function": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-floating-promises": "off",
"@typescript-eslint/no-for-in-array": "off",
"@typescript-eslint/no-implied-eval": "off",
"@typescript-eslint/no-misused-promises": "off",
"@typescript-eslint/no-throw-literal": "off",
"@typescript-eslint/no-unnecessary-condition": "off",
"@typescript-eslint/no-unnecessary-type-assertion": "off",
"@typescript-eslint/no-unsafe-argument": "off",
"@typescript-eslint/no-unsafe-assignment": "off",
"@typescript-eslint/no-unsafe-call": "off",
"@typescript-eslint/no-unsafe-member-access": "off",
"@typescript-eslint/no-unsafe-return": "off",
"@typescript-eslint/no-unused-expressions": "off",
"@typescript-eslint/no-unused-vars": "off",
"@typescript-eslint/non-nullable-type-assertion-style": "off",
"@typescript-eslint/prefer-includes": "off",
"@typescript-eslint/prefer-nullish-coalescing": "off",
"@typescript-eslint/prefer-readonly-parameter-types": "off",
"@typescript-eslint/prefer-readonly": "off",
"@typescript-eslint/prefer-regexp-exec": "off",
"@typescript-eslint/prefer-string-starts-ends-with": "off",
"@typescript-eslint/promise-function-async": "off",
"@typescript-eslint/require-await": "off",
"@typescript-eslint/restrict-plus-operands": "off",
"@typescript-eslint/restrict-template-expressions": "off",
"@typescript-eslint/strict-boolean-expressions": "off",
"@typescript-eslint/switch-exhaustiveness-check": "off",
"@typescript-eslint/unbound-method": "off",
"@typescript-eslint/prefer-function-type": "off",
"@typescript-eslint/consistent-generic-constructors": "off",
"import/no-unresolved": "off",
"init-declarations": "off",
"jsdoc/require-jsdoc": "off",
"no-console": "off",
"no-empty": "off",
"no-invalid-this": "off",
"no-undef": "off",
"no-useless-return": "off",
"node/handle-callback-err": "off",
"n/handle-callback-err": "off",
"prefer-const": "off",
"prettier/prettier": "off",
"sonarjs/no-extra-arguments": "off",
"sonarjs/no-unused-collection": "off",
"unicorn/prefer-optional-catch-binding": "off",
"unicorn/prefer-top-level-await": "off",
"unicorn/switch-case-braces": "off",

"dot-notation": "error",
"no-implied-eval": "error",
"require-await": "error"
"no-console": "off",
"no-empty": "off",
"no-invalid-this": "off",
"no-undef": "off",
"no-useless-return": "off",
"dot-notation": "off",
"no-empty-function": "off",
"no-throw-literal": "off",
"no-unused-vars": "off"
}
}
]
Expand Down
1 change: 0 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
/.husky/** linguist-detectable=false

**/tsconfig.json linguist-language=jsonc
**/tsconfig.*.json linguist-language=jsonc
/.lintstagedrc linguist-language=json
/.vscode/*.json linguist-language=jsonc

Expand Down
3 changes: 2 additions & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
issuehunt: eslint-functional/eslint-plugin-functional
tidelift: npm/eslint-plugin-functional
ko_fi: rebeccastevens
custom: https://github.com/eslint-functional/eslint-plugin-functional/blob/main/DONATIONS.md
issuehunt: eslint-functional/eslint-plugin-functional
7 changes: 7 additions & 0 deletions .github/workflows/sync-labels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,21 @@ on:
push:
branches:
- main
paths:
- .github/labels.yml
workflow_dispatch:

permissions:
pull-requests: write

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- uses: micnncim/action-label-syncer@v1
with:
manifest: .github/labels.yml
env:
GITHUB_TOKEN: ${{ github.token }}
19 changes: 2 additions & 17 deletions .github/workflows/test-js.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ jobs:
ts_version:
- "next"
- "latest"
- "4.0.2"
- "JS"
- "4.3.5"
# - "JS"
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.ts_version == 'next' }}
env:
Expand All @@ -47,21 +47,6 @@ jobs:
if: matrix.ts_version != 'JS'
run: pnpm add -D typescript@"${{ matrix.ts_version }}"

- name: Remove incompatible settings for ts 4.0.2
if: matrix.ts_version == '4.0.2'
run: |
node -e '
const fs = require("fs");
const filename = "./tsconfig.base.json";
const tsConfig = require(filename);
delete tsConfig.compilerOptions.exactOptionalPropertyTypes;
delete tsConfig.compilerOptions.noPropertyAccessFromIndexSignature;
delete tsConfig.compilerOptions.noUncheckedIndexedAccess;
const tsConfigString = JSON.stringify(tsConfig, undefined, 2);
fs.writeFileSync(filename, tsConfigString, { encoding: "utf8" });
console.log("TS Config updated successfully.");
'

- name: Run Tests
run: pnpm test-compiled

Expand Down
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
/lib/
/build/
/coverage/

.nyc_output/
/tests-compiled/

node_modules/

Expand Down
13 changes: 0 additions & 13 deletions .nycrc

This file was deleted.

3 changes: 1 addition & 2 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
/lib/
/build/
/coverage/

.nyc_output/
/tests-compiled/

node_modules/
pnpm-lock.yaml
Expand Down
2 changes: 1 addition & 1 deletion .releaserc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ plugins:
- changelogTitle: "# Changelog

All notable changes to this project will be documented in this file. Dates are displayed in UTC."
- - "@google/semantic-release-replace-plugin"
- - "semantic-release-replace-plugin"
- replacements:
- files:
- "./lib/**/*"
Expand Down
19 changes: 7 additions & 12 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -1,23 +1,18 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "AVA Test Current Test File",
"program": "${workspaceFolder}/node_modules/ava/entrypoints/cli.mjs",
"args": ["${file}"],
"outputCapture": "std",
"skipFiles": ["<node_internals>/**/*.js"],
"env": {
"TEST_ALL_FILES": "1"
},
"name": "Debug Current Test File",
"autoAttachChildProcesses": true,
"skipFiles": ["<node_internals>/**", "**/node_modules/**"],
"program": "${workspaceRoot}/node_modules/vitest/vitest.mjs",
"args": ["run", "${relativeFile}"],
"smartStep": true,
"sourceMaps": true,
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
"console": "integratedTerminal"
}
]
}
1 change: 0 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
{
"files.exclude": {
".nyc_output": true,
"coverage": true,
"cz-adapter/index.js": true
},
Expand Down
74 changes: 74 additions & 0 deletions CHANGELOG.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions DONATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

Any donations would be much appreciated. 😄

## Enterprise Users

`eslint-plugin-functional` is available as part of the [Tidelift Subscription](https://tidelift.com/subscription/pkg/npm-eslint-plugin-functional?utm_source=npm-eslint-plugin-functional&utm_medium=referral&utm_campaign=enterprise&utm_term=repo).

## Real money

[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/rebeccastevens)
Expand Down