-
-
Notifications
You must be signed in to change notification settings - Fork 13
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
fix: eslint-prettier error #50
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
When attempting to fix eslint rules in file, the following error appeared ```Error: "prettier/vue" has been merged into "prettier" in eslint-config-prettier 8.0.0. See: https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md#version-800-2021-02-21``` Reading the linked changelog, it seemed the fix was to simply only use the prettier/recommended extension. Simplified eslintrc to reflect this.
Edit: Rebased so the latest upstream changes are included |
favoyang
added a commit
that referenced
this pull request
Nov 1, 2023
* fix: eslint-prettier error When attempting to fix eslint rules in file, the following error appeared ```Error: "prettier/vue" has been merged into "prettier" in eslint-config-prettier 8.0.0. See: https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md#version-800-2021-02-21``` Reading the linked changelog, it seemed the fix was to simply only use the prettier/recommended extension. Simplified eslintrc to reflect this. * deps: install typescript * misc: ignore builds * feat: convert to typescript * fix: eslint-prettier error When attempting to fix eslint rules in file, the following error appeared ```Error: "prettier/vue" has been merged into "prettier" in eslint-config-prettier 8.0.0. See: https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md#version-800-2021-02-21``` Reading the linked changelog, it seemed the fix was to simply only use the prettier/recommended extension. Simplified eslintrc to reflect this. * fix: eslint errors in typescript-files Eslint was complaining about various keywords being reserved and was unerlining them. Fixed by installing `typescript-eslint` according to [this guide](https://typescript-eslint.io/getting-started) * misc: apply eslint rules reformat and clean-up using new eslint config * chore(deps): bump mkdirp Bumped because >=2 includes typings and seemingly no other breaking changes * chore: fix eslint end-of-line error On my Windows machine eslint was constantly complaining about line endings. Fixed using this answer https://stackoverflow.com/a/53769213 * feat: ambient typings for js module Add ambient typings for another-npm-registry-client * refactor: move file Move types file into types folder * refactor: add basic type for NpmClient Based on usage. Could use some cleanup * refactor: declare global types Declare types instead of exporting them for easier use * refactor: improve ambient type declarations Improve type declarations for another-npm-registry-client by reading it's docs * conf: bump target es version Bump to ES2020 to match Node 14 after consulting https://github.com/microsoft/TypeScript/wiki/Node-Target-Mapping * deps: downgrade node types Downgrade to match node version * refactor: add correct response type * feat: typecheck errors Add some custom type assertions for expected errors * misc: add shared idea files * refactor: clean up imports * refactor: make variables constant Make variables constant where possible * misc: remove outdated ts-ignores * refactor: handle potential null * fix: add better type for upm auth Previously mistakenly used the same auth type as for npm * refactor: fix type warning Instead of assigning different auth properties separately, assign all at once in the different if branches in order to avoid type warnings * fix: type parameter * misc: delete outdates jsdoc comment * fix: unhandled null values Check token and _auth for null before respective usage * fix: type error Convert results array to string before logging to avoid type error. I joined the results using line-breaks, don't know if this is intended. * refactor: use existing type Previously added a custom type for npm search options even though such a type already exists * fix: add missing import Response type was ambiguous without import * fix: remove extraneous declare It seems to cause problems and to be honest I don't know if we need it * fix: type error The result of the nmp-search function is search.Result but because we know the openupm server actually returns PkgInfo objects we can change the type * fix: remove extraneous ts-ignore * fix: type error Instead of initializing env with empty object, populate with default members in order to avoid type error * fix: type error Type was declared incorrectly * misc: remove extraneous ts-ignores * fix: type error Based on line 166 we can assume that undefined is actually a valid value for the version. Adjusted signature accordingly * refactor: prevent value conversion Explicitly check for undefined instead using auto-conversion to avoid "isGitOrLocal" becoming equal to some string * misc: handle undefined Probably unrecoverable, so we just throw * refactor: shorten and fix type error Use Object.assign instead of copying all properties manually. This also avoids an error for unchecked property access * fix: type error Make properties of options optional * fix: potential undefined error * fix: extraneous parameter According to the signature of search it expects only one parameter. Removed the second empty string parameter * fix: editing readonly list The array given to findIndex seems to be readonly so instead we modify the original lines array * fix: type errors First we type-assert the result of npmFetch.json to match its usage. We can assume that it is either an array or record of packages. We also move the log until later in the code and log the objects variable instead of results, since that is guarantied to be an array. We also convert the array to a string using join for better logging * refactor: simplify property access * fix: handle undefined Throw if no latest version could be found * fix: handle undefined Throw if upm-config dir-path could not be resolved * fix: handle null Throw if editor-version could not be parsed * fix: type errors Add type for editor-version regex matches in order to prevent type errors. Also on line 501 I removed the toLowerCase() because it does not seem to be necessary looking at the regex * fix: getLatestVersion should return undefined By reading the tests I saw that this function should return undefined if the version could not be determined. Changed signature * refactor: remove outdated logic See #52 (comment) * fix: handle undefined Throw if version of package to add could not be determined * fix: fix type error Allow undefined as possible value for version in table-row * refactor: assert undefined Version is required in order to print package info * refactor: remove unused imports * fix: unhandled undefined Latest version is required * fix: handle undefined Require latest version * refactor: simplify ifs Remove unnecessary boolean comparisons * refactor: inline return * fix: incorrectly registering errors The callbacks used by the registry client incorrectly always registered an error. Added a null-check to only create an error when something actually went wrong * misc: add build npm script Just runs tsc * misc: reformat file * fix: undefined error Some tests where failing because there was a throw if a package with unknown version was added. Undefined was an acceptable value, so the throw was removed and the types changed accordingly * conf: generate sourcemaps To enable debugging * Revert "refactor: simplify ifs" This reverts commit f9ae663. * fix: incorrect type for env properties * fix: invalid type assertion * refactor: change type Expand type for package names with attached version to allow all strings for the version. The reason is that the string after the @ may not only include versions such as "1.0.0" but also tags such as "beta" * refactor: rename type Rename PkgVersion to PkgVersionInfo in order to be more in line with PkgInfo type name * refactor: rename type Extend type name to be clearer * refactor: simplify package name type A package-name can now include a version or not * refactor: make property optional As indicated by usage * refactor: extract utility function Extract function that checks if the version-name of a package is a url version, such as a git-url. For now we do this as before by just checking if it starts with one of the common protocols * refactor: rename type Shorten version-name type name to just version, since it no longer conflicts with version-info * refactor: remove extraneous if IDE tells me that this if is always false * refactor: rename module To match type * refactor: extract and rename function Rename the parseName function to splitPackageName to better reflect it's purpose. Also moved to separate module * misc: convert tests to typescript Whole bunch of TS errors still, but the tests all pass * refactor: optimize test imports * refactor: convert type declarations to exports Seems to cause less TS problems that way * refactor: make properties optional According to usage in tests, these properties should be optional * fix: type errors in test utils Add return and param types for all functions * misc: reformat files * refactor: make properties optional According to usage in tests * fix: inspector type errors in tests Type inspect variables. We force the null because it is guaranteed that inspectors will be set before a test is run * refactor: remove unused constants * refactor: remove unnecessary await a * refactor: make properties optional According to usage in tests * refactor: fix null and undefined warnings in test Assert not-null or not-undefined where applicable * misc: drop outdated test * feat: fix type error Allow partial pkg-infos in order to satisfy test setups * fix: null error Allow null as seen in tests * conf: simplify test script ts-mocha already compiles TS * misc: change bin structure Instead of building the package using tsc and then running the js file, we can run using ts-node. That way we only need ts files in the project. For this to work a few changes needed to be done: - Removed the initial empty index file - Moved bin-files into lib - Converted bin files to ts and renamed them to index/index-cn - Changed the shebang in the index files to use ts-node. This also requires ts-node is a dependency of the package - Adjust tsconfig in order to work with ts-node Seems like the package still works as intended. It might take a little bit longer to run because of the additional compile step * misc: add missing typescript dependency Seems like mocha requires it * chore: fix eslint-prettier error (#50) When attempting to fix eslint rules in file, the following error appeared ```Error: "prettier/vue" has been merged into "prettier" in eslint-config-prettier 8.0.0. See: https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md#version-800-2021-02-21``` Reading the linked changelog, it seemed the fix was to simply only use the prettier/recommended extension. Simplified eslintrc to reflect this. * deps: install typescript * misc: ignore builds * feat: convert to typescript * fix: eslint errors in typescript-files Eslint was complaining about various keywords being reserved and was unerlining them. Fixed by installing `typescript-eslint` according to [this guide](https://typescript-eslint.io/getting-started) * misc: apply eslint rules reformat and clean-up using new eslint config * chore(deps): bump mkdirp Bumped because >=2 includes typings and seemingly no other breaking changes * chore: fix eslint end-of-line error On my Windows machine eslint was constantly complaining about line endings. Fixed using this answer https://stackoverflow.com/a/53769213 * feat: ambient typings for js module Add ambient typings for another-npm-registry-client * refactor: move file Move types file into types folder * refactor: add basic type for NpmClient Based on usage. Could use some cleanup * refactor: declare global types Declare types instead of exporting them for easier use * refactor: improve ambient type declarations Improve type declarations for another-npm-registry-client by reading it's docs * conf: bump target es version Bump to ES2020 to match Node 14 after consulting https://github.com/microsoft/TypeScript/wiki/Node-Target-Mapping * deps: downgrade node types Downgrade to match node version * refactor: add correct response type * feat: typecheck errors Add some custom type assertions for expected errors * misc: add shared idea files * refactor: clean up imports * refactor: make variables constant Make variables constant where possible * misc: remove outdated ts-ignores * refactor: handle potential null * fix: add better type for upm auth Previously mistakenly used the same auth type as for npm * refactor: fix type warning Instead of assigning different auth properties separately, assign all at once in the different if branches in order to avoid type warnings * fix: type parameter * misc: delete outdates jsdoc comment * fix: unhandled null values Check token and _auth for null before respective usage * fix: type error Convert results array to string before logging to avoid type error. I joined the results using line-breaks, don't know if this is intended. * refactor: use existing type Previously added a custom type for npm search options even though such a type already exists * fix: add missing import Response type was ambiguous without import * fix: remove extraneous declare It seems to cause problems and to be honest I don't know if we need it * fix: type error The result of the nmp-search function is search.Result but because we know the openupm server actually returns PkgInfo objects we can change the type * fix: remove extraneous ts-ignore * fix: type error Instead of initializing env with empty object, populate with default members in order to avoid type error * fix: type error Type was declared incorrectly * misc: remove extraneous ts-ignores * fix: type error Based on line 166 we can assume that undefined is actually a valid value for the version. Adjusted signature accordingly * refactor: prevent value conversion Explicitly check for undefined instead using auto-conversion to avoid "isGitOrLocal" becoming equal to some string * misc: handle undefined Probably unrecoverable, so we just throw * refactor: shorten and fix type error Use Object.assign instead of copying all properties manually. This also avoids an error for unchecked property access * fix: type error Make properties of options optional * fix: potential undefined error * fix: extraneous parameter According to the signature of search it expects only one parameter. Removed the second empty string parameter * fix: editing readonly list The array given to findIndex seems to be readonly so instead we modify the original lines array * fix: type errors First we type-assert the result of npmFetch.json to match its usage. We can assume that it is either an array or record of packages. We also move the log until later in the code and log the objects variable instead of results, since that is guarantied to be an array. We also convert the array to a string using join for better logging * refactor: simplify property access * fix: handle undefined Throw if no latest version could be found * fix: handle undefined Throw if upm-config dir-path could not be resolved * fix: handle null Throw if editor-version could not be parsed * fix: type errors Add type for editor-version regex matches in order to prevent type errors. Also on line 501 I removed the toLowerCase() because it does not seem to be necessary looking at the regex * fix: getLatestVersion should return undefined By reading the tests I saw that this function should return undefined if the version could not be determined. Changed signature * refactor: remove outdated logic See #52 (comment) * fix: handle undefined Throw if version of package to add could not be determined * fix: fix type error Allow undefined as possible value for version in table-row * refactor: assert undefined Version is required in order to print package info * refactor: remove unused imports * fix: unhandled undefined Latest version is required * fix: handle undefined Require latest version * refactor: simplify ifs Remove unnecessary boolean comparisons * refactor: inline return * fix: incorrectly registering errors The callbacks used by the registry client incorrectly always registered an error. Added a null-check to only create an error when something actually went wrong * misc: add build npm script Just runs tsc * misc: reformat file * fix: undefined error Some tests where failing because there was a throw if a package with unknown version was added. Undefined was an acceptable value, so the throw was removed and the types changed accordingly * conf: generate sourcemaps To enable debugging * Revert "refactor: simplify ifs" This reverts commit f9ae663. * fix: incorrect type for env properties * fix: invalid type assertion * refactor: change type Expand type for package names with attached version to allow all strings for the version. The reason is that the string after the @ may not only include versions such as "1.0.0" but also tags such as "beta" * refactor: rename type Rename PkgVersion to PkgVersionInfo in order to be more in line with PkgInfo type name * refactor: rename type Extend type name to be clearer * refactor: simplify package name type A package-name can now include a version or not * refactor: make property optional As indicated by usage * refactor: extract utility function Extract function that checks if the version-name of a package is a url version, such as a git-url. For now we do this as before by just checking if it starts with one of the common protocols * refactor: rename type Shorten version-name type name to just version, since it no longer conflicts with version-info * refactor: remove extraneous if IDE tells me that this if is always false * refactor: rename module To match type * refactor: extract and rename function Rename the parseName function to splitPackageName to better reflect it's purpose. Also moved to separate module * misc: convert tests to typescript Whole bunch of TS errors still, but the tests all pass * refactor: optimize test imports * refactor: convert type declarations to exports Seems to cause less TS problems that way * refactor: make properties optional According to usage in tests, these properties should be optional * fix: type errors in test utils Add return and param types for all functions * misc: reformat files * refactor: make properties optional According to usage in tests * fix: inspector type errors in tests Type inspect variables. We force the null because it is guaranteed that inspectors will be set before a test is run * refactor: remove unused constants * refactor: remove unnecessary await a * refactor: make properties optional According to usage in tests * refactor: fix null and undefined warnings in test Assert not-null or not-undefined where applicable * misc: drop outdated test * feat: fix type error Allow partial pkg-infos in order to satisfy test setups * fix: null error Allow null as seen in tests * conf: simplify test script ts-mocha already compiles TS * misc: change bin structure Instead of building the package using tsc and then running the js file, we can run using ts-node. That way we only need ts files in the project. For this to work a few changes needed to be done: - Removed the initial empty index file - Moved bin-files into lib - Converted bin files to ts and renamed them to index/index-cn - Changed the shebang in the index files to use ts-node. This also requires ts-node is a dependency of the package - Adjust tsconfig in order to work with ts-node Seems like the package still works as intended. It might take a little bit longer to run because of the additional compile step * misc: add missing typescript dependency Seems like mocha requires it * Bump node version Bump from 14 to 16. See #52 (comment) * misc: better build structure See #52 (comment) * misc: add CI TS build step * misc: remove unused dependencies * misc: regenerate package lock * chore: update .node-version to 16 * chore: update .npmignore * fix: add the npm clean script to run before build --------- Co-authored-by: Favo Yang <favoyang@gmail.com>
github-actions bot
pushed a commit
that referenced
this pull request
Nov 1, 2023
# [1.16.0](1.15.5...1.16.0) (2023-11-01) ### Features * convert project to TypeScript ([#52](#52)), require node v16 ([8e68b9a](8e68b9a)), closes [/github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md#version-800-2021-02-21](https://github.com//github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md/issues/version-800-2021-02-21) [/github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md#version-800-2021-02-21](https://github.com//github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md/issues/version-800-2021-02-21) [/github.com//pull/52#issuecomment-1776779428](https://github.com//github.com/openupm/openupm-cli/pull/52/issues/issuecomment-1776779428) [#50](#50) [/github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md#version-800-2021-02-21](https://github.com//github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md/issues/version-800-2021-02-21) [/github.com//pull/52#issuecomment-1776779428](https://github.com//github.com/openupm/openupm-cli/pull/52/issues/issuecomment-1776779428) [/github.com//pull/52#discussion_r1375481622](https://github.com//github.com/openupm/openupm-cli/pull/52/issues/discussion_r1375481622) [/github.com//pull/52#discussion_r1378008074](https://github.com//github.com/openupm/openupm-cli/pull/52/issues/discussion_r1378008074)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When attempting to fix eslint rules in file, the following error appeared
Error: "prettier/vue" has been merged into "prettier" in eslint-config-prettier 8.0.0. See: https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md#version-800-2021-02-21
Reading the linked changelog, it seemed the fix was to simply only use the prettier/recommended extension. Simplified eslintrc to reflect this.