Giter Site home page Giter Site logo

standard / ts-standard Goto Github PK

View Code? Open in Web Editor NEW
435.0 3.0 35.0 198 KB

Typescript style guide, linter, and formatter using StandardJS

Home Page: https://www.npmjs.com/package/ts-standard

License: MIT License

JavaScript 100.00%
typescript linter code-style standard eslint ts typescript-standard code-fixer standardjs tslint

ts-standard's Introduction

Tests npm npm License TS-Standard - TypeScript Standard Style Guide Dependabot badge

ts-standard

TypeScript Style Guide, with linter and automatic code fixer based on StandardJS

πŸ’Ύ Install

npm install --save-dev ts-standard

⌨️ Basic Usage

ts-standard

Enable auto code fixing

ts-standard --fix

Note: A tsconfig.json or similar project file is required. See TSConfig section below for more details

πŸ“œ Help

ts-standard - Standard for TypeScript! (https://github.com/standard/ts-standard)

Usage:
  ts-standard <flags> [FILES...]

  If FILES is omitted, all JavaScript/TypeScript source files (*.js, *.jsx, *.mjs, *.cjs, *.ts, *.tsx)
  in the current working directory are checked, recursively.

  Certain paths (node_modules/, coverage/, vendor/, *.min.js, and
  files/folders that begin with '.' like .git/) are automatically ignored.

  Paths in a project's root .gitignore file are also automatically ignored.

Flags:
      --fix       Automatically fix problems
  -p, --project   Specify ts-config location (default: ./tsconfig.eslint.json or ./tsconfig.json)
      --version   Show current version
  -h, --help      Show usage information

Flags (advanced):
      --stdin     Read file text from stdin
      --ext       Specify JavaScript/TypeScript file extensions
      --global    Declare global variable
      --plugin    Use custom eslint plugin
      --env       Use custom eslint environment
      --parser    Use custom ts/js parser (default: @typescript-eslint/parser)

🧬 TSConfig: Linting with Type Information

By default ts-standard will search the current working director (cwd) for the following in order

  1. tsconfig.eslint.json
  2. tsconfig.json

You can also manually configure the location of the tsconfig file by either passing the path to the --project flag or adding a ts-standard configuration property to your package.json file.

{
  "ts-standard": {
    "project": "path/to/tsconfig.json"
  }
}

πŸ—‘ Ignoring files and folders

You can add an ignore property to your package.json ts-standard configuration settings.

{
  "ts-standard": {
    "ignore": [
      "dist",
      "src/**/*.js"
    ]
  }
}

🚫 Please change X rule

This project has no control over the rules implemented, as such this project cannot change any of the rules that have been configured. If you want to discuss the rules, please visit the rules configuration repo eslint-config-standard-with-typescript.

πŸ§™ Why

This utility was designed to be the standard equivalent for typescript. Underneath the hood, this utility uses the same standard-engine and combines that engine with the official eslint-config-standard-with-typescript ruleset.

You can also choose to just use eslint with the eslint-config-standard-with-typescript shareable config instead and achieve the same results as this project. But ts-standard saves you from having to manually install all the extra dependencies and may reduce configuration overhead.

πŸŽ‰ Special Thanks

Special thanks to standard for inspiration and some shared code and to eslint-config-standard-with-typescript for creating a typescript specific standard.

πŸ“‹ Contributing Guide

I welcome all pull requests. Please make sure you add appropriate test cases for any features added. Before opening a PR please make sure to run the following scripts:

  • npm run lint:standard checks for code errors and format according to standard
  • npm test make sure all tests pass

ts-standard's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar greenkeeper[bot] avatar lindluni avatar linusu avatar luisenmarroquin avatar mcfedr avatar mightyiam avatar rostislav-simonik avatar theoludwig avatar toddbluhm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ts-standard's Issues

Release v12.0.2

Hi @divlo

Is it possible to publish a 12.0.2 release to NPM to pick up this change: #269

Thank you ❀️

Allow overriding or disabling rules for certain files/directories.

What version of this package are you using?
10.0.0

What problem do you want to solve?
Override/disable rules for certain files/directories

What do you think is the correct solution to this problem?
Reading per-directories eslintrc configuration files to override default rules. In my case, I have tests in the "test" directory and would like to disable (@typescript-eslint/no-unused-expressions) or I get lint errors for expect() assertions.

Are you willing to submit a pull request to implement this change?
Yes, though I would appreciate some guidance on where this change should be made.

project package option does not support glob patterns

What version of this package are you using?
11.0.0

What operating system, Node.js, and npm version?

  • macOS
  • node 16
  • npm 8.1.2

What happened?

The docs state:

Its possible to specify multiple projects using an array as in the underlying parser

The referenced underlying specification for this field states that one may

add each referenced tsconfig to the project field either separately, or via a glob.

However, ts-standard, in its validator isValidPath, assumes that an array of projects specifies concrete filepaths, not glob patterns (because it calls fs.statSync on each of the given array entries).

What did you expect to happen?

Support for glob patterns, so we don't have to hard-code all of our sub-projects in our package.json

Are you willing to submit a pull request to fix this bug?

I guess so. It seems like a straightforward fix. To be honest, I don't know why ts-standard is going through the trouble of validating these filepaths, since the underlying logic probably will, on its own?

An in-range update of @typescript-eslint/eslint-plugin is breaking the build 🚨

The dependency @typescript-eslint/eslint-plugin was updated from 2.19.2 to 2.20.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

@typescript-eslint/eslint-plugin is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details

Release Notes for v2.20.0

2.20.0 (2020-02-17)

Features

  • eslint-plugin: [ban-types] allow banning null and undefined (#821) (0b2b887)
  • eslint-plugin: [strict-boolean-expressions] refactor, add clearer error messages (#1480) (db4b530)
Commits

The new version differs by 3 commits.

  • f9dd7ec chore: publish v2.20.0
  • db4b530 feat(eslint-plugin): [strict-boolean-expressions] refactor, add clearer error messages (#1480)
  • 0b2b887 feat(eslint-plugin): [ban-types] allow banning null and undefined (#821)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Can ts-standard use v5.12.1 or higher of @typescript-eslint/parser?

As of right now, the version of @typescript-eslint/parser is in the 4.x series, but when I run ts-standard in the command line, I get this warning if I update to a newer version. I would like to use TypeScript 4.5 and above with ts-standard of course:

$ ts-standard && jest --coverage
=============

WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.

You may find that it works just fine, or you may not.

SUPPORTED TYPESCRIPT VERSIONS: >=3.3.1 <4.5.0

YOUR TYPESCRIPT VERSION: 4.5.5

Please only submit bug reports when using the officially supported version.

--stdin-filename option is gone and now stdin is completely broken again

What version of this package are you using?

The most recent 12.0.1

What operating system, Node.js, and npm version?
Ubuntu 22.04 LTS, Node v14.19.3, NPM 6.14.17
What happened?

ts-standard does not support reading files from stdin. Previous workaround was to specify the --stdin-filename option which is not available anymore.

Easy to repro: have a type import in a .ts file (import type { ... ] from '...') and then check the file from stdin:

ts-standard --stdin < <filename>.ts

Output:

ts-standard: Standard for TypeScript! (https://github.com/standard/ts-standard)
  <text>:18:13: Parsing error: Unexpected token { (null)

Regular check works fine: ts-standard <filename>.ts

ts-standard: Standard for TypeScript! (https://github.com/standard/ts-standard)
ts-standard: Run `ts-standard --fix` to automatically fix some problems.
  <path>.ts:116:20: A space is required after '{'. (@typescript-eslint/object-curly-spacing)
  <path>.ts:116:43: A space is required before '}'. (@typescript-eslint/object-curly-spacing)

What did you expect to happen?

I'd expect it to work (that is, either fix --stdin or return --stdin-filename option back)

Are you willing to submit a pull request to fix this bug?

Error: failed to load plugin

What version of this package are you using?
11.0.0
What operating system, Node.js, and npm version?
Mac OS big sur 11.6.2, node v16.13.1, yarn 1.22.11
What happened?

Error: Failed to load plugin '@typescript-eslint' declared in '--config Β» eslint-config-standard-with-typescript': Cannot find module 'typescript'

What did you expect to happen?
Ability to run "ts-standard" without above error.

Are you willing to submit a pull request to fix this bug?
Yes but I don't know how to fix it.

Moving to the official standard org

Hey,

Thanks for this wonderful library, made it really easy to get started with eslint-config-standard-with-typescript!

Would you be interested in moving this repo to the official Standard repo here on GitHub? No pressure if you don't want to.

If you would like that, you would get added to the Standard team as well. You'll continue to maintain this module, and we'll try and help out as well.

I haven't taken this up with anyone else in the team yet since I just found out about this package, but I cannot imaging that there would be any objections ☺️

Cheers 🍻

An in-range update of @typescript-eslint/eslint-plugin is breaking the build 🚨

The dependency @typescript-eslint/eslint-plugin was updated from 2.19.0 to 2.19.1.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

@typescript-eslint/eslint-plugin is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details

Release Notes for v2.19.1

2.19.1 (2020-02-10)

Bug Fixes

  • eslint-plugin: [unbound-method] blacklist a few unbound natives (#1562) (4670aab)
  • typescript-estree: ts returning wrong file with project references (#1575) (4c12dac)
Commits

The new version differs by 5 commits.

  • 1c8f0df chore: publish v2.19.1
  • 4c12dac fix(typescript-estree): ts returning wrong file with project references (#1575)
  • e9cf734 docs(eslint-plugin): fix typo in readme
  • 10d86b1 docs(eslint-plugin): [no-dupe-class-members] fix typo (#1566)
  • 4670aab fix(eslint-plugin): [unbound-method] blacklist a few unbound natives (#1562)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

After upgrade to v12 TypeScript Standard Style server is not able to find tsconfig.json

What version of this package are you using?
v12.0.1

What operating system, Node.js, and npm version?
Windows 10
node -v
v16.18.0
npm -v
8.19.2

What happened?
My project is configured to work with vscode-standard extension. It works with version 11 of ts-standard.
After Upgrade to v12 TypeScript Standard Style server is not able to find tsconfig.json

Output:

Unable to locate the project file. A project file (tsconfig.json or tsconfig.eslint.json) is required in order to use ts-standard.
[Info  - 16:14:04] Connection to server got closed. Server will restart.
[Info  - 16:14:04] TypeScript Standard Style server stopped.
[Info  - 16:14:04] TypeScript Standard Style server stopped.
[Info  - 16:14:05] TypeScript Standard Style server is running.
Unable to locate the project file. A project file (tsconfig.json or tsconfig.eslint.json) is required in order to use ts-standard.
[Error - 16:14:05] The TypeScript Standard Style server crashed 5 times in the last 3 minutes. The server will not be restarted. See the output for more information.
[Info  - 16:14:05] TypeScript Standard Style server stopped.

.vscode/settings.json

{
    "editor.formatOnSave": false,
    "editor.formatOnType": false,
    "editor.codeActionsOnSave": {
      "source.fixAll.eslint": true
    },
    "eslint.validate": ["typescript"],
    "standard.autoFixOnSave": true
} 

tsconfig.json

{
  "compilerOptions": {
    /* Language and Environment */
    "target": "es2016",                                  /* Set the JavaScript language version for emitted JavaScript and include compatible library 
    /* Modules */
    "module": "commonjs",                                /* Specify what module code is generated. */
    "rootDir": "./",                                  /* Specify the root folder within your source files. */
    "strict": true,                                      /* Enable all strict type-checking options. */
    "skipLibCheck": true                                 /* Skip type checking all .d.ts files. */
  }
}

What did you expect to happen?

Typescript standard engine should do autofix code

Are you willing to submit a pull request to fix this bug?

Stdin doesn't lint

Hey, thank you, great project.

I would like to use it with ale (vim) for asynchronous lint, but it seems stdin isn't working as expected.

simple.ts

type Foo = {
  x: string
}

const f: Foo = {
  x: 'bar'
};

Output from ts-standard ./src/simple.ts

ts-standard: Typescript Standard Style! (https://github.com/toddbluhm/ts-standard)
ts-standard: Run `ts-standard --fix` to automatically fix some problems.
  /Users/jm/lint-test/src/simple.ts:1:6: Use an `interface` instead of a `type`. (@typescript-eslint/consistent-type-definitions)
  /Users/jm/lint-test/src/simple.ts:5:7: 'f' is assigned a value but never used. (@typescript-eslint/no-unused-vars)
  /Users/jm/lint-test/src/simple.ts:7:2: Extra semicolon. (@typescript-eslint/semi)

All fine.

But if I do cat ./src/simple.ts | ts-standard --stdin

(node:17421) ExperimentalWarning: Readable[Symbol.asyncIterator] is an experimental feature. This feature could change at any time
ts-standard: Typescript Standard Style! (https://github.com/toddbluhm/ts-standard)
  <text>:1:6: Parsing error: Unexpected token Foo ()

Am I missing something?

macos 10.15.4
node v10.15.1
npm 6.14.7

Support eslint-env and global

Version: "^10.0.0"

Problem

In my jest tests, I'm getting 'test' is not defined. and 'expect' is not defined.

I'd like to allow those globals in my jest files in the same way I do using standardjs by adding /* eslint-env jest */ or listing the globals in the file /* globals test expect */ rather than allowing those globals in all files.

Solution

Implement the behavior of standardjs as described here and here

I'd be willing to work on this, but I'd need a lot of help understanding this repo and how standardjs handles this.

Can't integrate eslint-plugin-react-hooks into Next app

What version of this package are you using?
"ts-standard": "^10.0.0"

What operating system, Node.js, and npm version?
Ubuntu 20.04.1 LTS "Focal Fossa" (on WSL2)

What happened?
eslint-plugin-react-hooks reports no errors - even though there are a couple of spots in the inspected files where rules of React hooks are broken.

Here's my config in package.json:

"ts-standard": {
    "ignore": [
      "next-env.d.ts"
    ],
    "plugins": [
      "react-hooks"
    ]
  }

eslint-plugin-react-hooks is installed as a dev dependency:

"eslint-plugin-react-hooks": "^4.2.0",

I'm running the following command:
ts-standard --fix

What did you expect to happen?
Expected to see errors reported by ts-standard

Are you willing to submit a pull request to fix this bug?
Depends. I suspect my setup is missing something.

An in-range update of @typescript-eslint/parser is breaking the build 🚨

The dependency @typescript-eslint/parser was updated from 2.3.3 to 2.4.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

@typescript-eslint/parser is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details

Release Notes for v2.4.0

2.4.0 (2019-10-14)

Bug Fixes

  • eslint-plugin: [promise-function-async] Should not report… (#1023) (514bed9)
  • support long running "watch" lint sessions (#973) (854620e)

Features

  • typescript-estree: support for parsing 3.7 features (#1045) (623febf)
Commits

The new version differs by 8 commits.

  • 111ecc6 chore: publish v2.4.0
  • 623febf feat(typescript-estree): support for parsing 3.7 features (#1045)
  • 854620e fix: support long running "watch" lint sessions (#973)
  • fec73b0 docs: clarify which versions of ESLint are supported (#1073)
  • 5f92b9f docs: add TOC to root README (#838)
  • 526d336 chore: add test for function types & no-restricted-globals rule (#1055)
  • 514bed9 fix(eslint-plugin): [promise-function-async] Should not report… (#1023)
  • a3f84e1 chore(eslint-plugin): Add missing rule function types (#1047)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

how to use ts-standard in intellij?

ts-standard is linting my *.ts files nicely, but how do I get Intellij to do it automatically, like it does with standard and *.js files?

The `--version` flag requires the `--project` flag

What version of this package are you using?

12.0.0

What operating system, Node.js, and npm version?

OSX, Node v16.15.0, NPM 8.19.2

What happened?

The --version flag is requiring the tsconfig.json be passed in to provide the version.

What did you expect to happen?

The --version flag should work by simply running ts-standard --version and not require ts-standard --version --project <path-to-config>

Are you willing to submit a pull request to fix this bug?

Yes, if I can figure it out

npm version 10.0.0 is actually different

What version of this package are you using?

10.0.0

What operating system, Node.js, and npm version?

Manjaro Linux, Node v14.17.4, npm 7.24.1, yarn 1.22.11

What happened?

Doing yarn add -D ts-standard installs version 10.0.0, but it's actually published long time ago and doesn't correspond to what's in this repo. Current version here is still 10.0.0, but there are changes (eslint-config-standard-with-typescript is upgraded to v21, while on npm it's still v19).

What did you expect to happen?

Get the latest version of this package.

Are you willing to submit a pull request to fix this bug?

No need or PR, just push a new version to npm.

when trying to use it with create-react-app, it breaks with non-null (!) operator

What version of this package are you using?
"ts-standard": "^9.0.0",
What operating system, Node.js, and npm version?
macOS Big Sur
node 12.18.3
What happened?
I tried adding ts-standard to a blank create-react-app
What did you expect to happen?
In this particular case I tried to use the non-null operator on a variable that can be null, however this seams to break down and not work at all, it is probably some misconfiguration on the internal eslint rules?

Screenshot 2020-11-25 at 19 47 48

Are you willing to submit a pull request to fix this bug?
No, sorry, don't know how eslint or this package work

ts-standard is linting *.min.js files

What version of this package are you using?
ts-standard --version says 12.0.1

What operating system, Node.js, and npm version?
MacOS Monterey
npm 8.3.1
node 17.4.0

What happened?
I am using ts-standard in my front end TypeScript project.

My folder structure looks like:

package.json
src/
    backend/
        tsconfig.json
        src/**/*.ts
    frontend/
        tsconfig.json
        src/**/*.ts
        libs/showdown.min.js

Where I have both a TypeScript backend and a front end project, and in the front end project I have the external thirdparty minified file libs/showdown.min.js.

When I run ts-standard, it is linting all the files in the src/frontend/** folder, but unfortunately also the showdown.min.js:

$ node_modules/.bin/ts-standard --ext ts --project src/frontend/tsconfig.json src/frontend

/Users/corgrath/go/src/myproject/src/frontend/libs/showdown.min.js:2:81754](http:/myproject/src/frontend/libs/showdown.min.js:2:81754): 'define' is not defined. (no-undef)

Even with --ext ts and --ext .ts the file is linted.

I have also tried this in the main package.json:

{
  "ts-standard": {
    "ignore": [
      "src/**/*.js"
    ]
  }
}

What did you expect to happen?
All *.min.js files should be excluded from the linting.

Are you willing to submit a pull request to fix this bug?

Three unused function parameters

What version of this package are you using?

10.0.0

What operating system, Node.js, and npm version?

macOS 11.0.1, Node v12.18.2

What happened?

willResolveField (_: {}, __: {}, ___: {}, { path, fieldName, parentType, returnType }: GraphQLResolveInfo): ReturnType<NonNullable<GraphQLExtension['willResolveField']>> {
  // ...
}

Parameter name ___ trimmed as _ must match one of the following formats: camelCase, PascalCase, UPPER_CASE (@typescript-eslint/naming-convention)

What did you expect to happen?

I expected no errors since I'm using the _, __, and ___ names to ignore the arguments

Are you willing to submit a pull request to fix this bug?

Yes

An in-range update of @typescript-eslint/eslint-plugin is breaking the build 🚨

The dependency @typescript-eslint/eslint-plugin was updated from 2.17.0 to 2.18.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

@typescript-eslint/eslint-plugin is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details

Release Notes for v2.18.0

2.18.0 (2020-01-27)

Bug Fixes

  • eslint-plugin: [explicit-module-boundary-types] false positive for returned fns (#1490) (5562ad5)
  • improve token types and add missing type guards (#1497) (ce41d7d)
  • eslint-plugin: [naming-convention] fix filter option (#1482) (718cd88)
  • eslint-plugin: fix property access on undefined error (#1507) (d89e8e8)
  • experimental-utils: widen type of settings property (#1527) (b515e47)
  • typescript-estree: error on unexpected jsdoc nodes (#1525) (c8dfac3)
  • typescript-estree: fix identifier tokens typed as Keyword (#1487) (77a1caa)

Features

  • eslint-plugin: add comma-spacing (#1495) (1fd86be)
  • eslint-plugin: add new rule prefer-as-const (#1431) (420db96)
  • eslint-plugin: create ban-ts-comment rule (#1361) (2a83d13)
  • eslint-plugin-internal: add prefer-ast-types-enum (#1508) (c3d0a3a)
  • experimental-utils: make RuleMetaData.docs optional (#1462) (cde97ac)
  • parser: improve scope-analysis types (#1481) (4a727fa)
Commits

The new version differs by 30 commits.

  • b835ec2 chore: publish v2.18.0
  • 367b18f docs(eslint-plugin): add script to generate the readme tables (#1524)
  • 03221d2 test: fix vscode launch configuration for windows (#1523)
  • f991764 chore(eslint-plugin): refactor explicit return type rules to share code (#1493)
  • c8dfac3 fix(typescript-estree): error on unexpected jsdoc nodes (#1525)
  • 6d1d2a2 test: fix coverage reports from codecov (#1528)
  • b515e47 fix(experimental-utils): widen type of settings property (#1527)
  • 67784d6 docs: extra 'a' in CONTRIBUTING.md (#1518)
  • afa7900 chore: enable prefer-ast-types-enum internal rule (#1514)
  • c3d0a3a feat(eslint-plugin-internal): add prefer-ast-types-enum (#1508)
  • 718cd88 fix(eslint-plugin): [naming-convention] fix filter option (#1482)
  • 802e347 chore(eslint-plugin): use getFixturesRootDir in tests (#1506)
  • 9ca65dc chore: update istanbul-reports to make tests quiet (#1509)
  • d89e8e8 fix(eslint-plugin): fix property access on undefined error (#1507)
  • 06731e7 test(eslint-plugin): cleanup no-use-before-define tests (#1505)

There are 30 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Unexpected linter output

Hey guys,

when running npx ts-standard --fix in my ts-project, I am getting:

Failed to load parser '@typescript-eslint/parser' declared in '--config Β» eslint-config-standard-with-typescript#overrides[0]': Cannot find module 'typescript'
Require stack:
- /Users/dominik/.npm/_npx/46101/lib/node_modules/ts-standard/node_modules/@typescript-eslint/typescript-estree/dist/parser.js
- /Users/dominik/.npm/_npx/46101/lib/node_modules/ts-standard/node_modules/@typescript-eslint/parser/dist/parser.js
- /Users/dominik/.npm/_npx/46101/lib/node_modules/ts-standard/node_modules/eslint/lib/cli-engine/config-array-factory.js
- /Users/dominik/.npm/_npx/46101/lib/node_modules/ts-standard/node_modules/eslint/lib/cli-engine/cascading-config-array-factory.js
- /Users/dominik/.npm/_npx/46101/lib/node_modules/ts-standard/node_modules/eslint/lib/cli-engine/cli-engine.js
- /Users/dominik/.npm/_npx/46101/lib/node_modules/ts-standard/node_modules/eslint/lib/cli-engine/index.js
- /Users/dominik/.npm/_npx/46101/lib/node_modules/ts-standard/node_modules/eslint/lib/api.js
- /Users/dominik/.npm/_npx/46101/lib/node_modules/ts-standard/dist/ts-standard.js
- /Users/dominik/.npm/_npx/46101/lib/node_modules/ts-standard/dist/cli.js
- /Users/dominik/.npm/_npx/46101/lib/node_modules/ts-standard/bin/cmd.js: Error: Failed to load parser '@typescript-eslint/parser' declared in '--config Β» eslint-config-standard-with-typescript#overrides[0]': Cannot find module 'typescript'
Require stack:
- /Users/dominik/.npm/_npx/46101/lib/node_modules/ts-standard/node_modules/@typescript-eslint/typescript-estree/dist/parser.js
- /Users/dominik/.npm/_npx/46101/lib/node_modules/ts-standard/node_modules/@typescript-eslint/parser/dist/parser.js
- /Users/dominik/.npm/_npx/46101/lib/node_modules/ts-standard/node_modules/eslint/lib/cli-engine/config-array-factory.js
- /Users/dominik/.npm/_npx/46101/lib/node_modules/ts-standard/node_modules/eslint/lib/cli-engine/cascading-config-array-factory.js
- /Users/dominik/.npm/_npx/46101/lib/node_modules/ts-standard/node_modules/eslint/lib/cli-engine/cli-engine.js
- /Users/dominik/.npm/_npx/46101/lib/node_modules/ts-standard/node_modules/eslint/lib/cli-engine/index.js
- /Users/dominik/.npm/_npx/46101/lib/node_modules/ts-standard/node_modules/eslint/lib/api.js
- /Users/dominik/.npm/_npx/46101/lib/node_modules/ts-standard/dist/ts-standard.js
- /Users/dominik/.npm/_npx/46101/lib/node_modules/ts-standard/dist/cli.js
- /Users/dominik/.npm/_npx/46101/lib/node_modules/ts-standard/bin/cmd.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:982:15)
    at Function.Module._load (internal/modules/cjs/loader.js:864:27)
    at Module.require (internal/modules/cjs/loader.js:1044:19)
    at require (internal/modules/cjs/helpers.js:77:18)
    at Object.<anonymous> (/Users/dominik/.npm/_npx/46101/lib/node_modules/ts-standard/node_modules/@typescript-eslint/typescript-estree/dist/parser.js:20:25)
    at Module._compile (internal/modules/cjs/loader.js:1158:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
    at Module.load (internal/modules/cjs/loader.js:1002:32)
    at Function.Module._load (internal/modules/cjs/loader.js:901:14)
    at Module.require (internal/modules/cjs/loader.js:1044:19)

Making ts-standard easier to use

I was going through the issues of standard in the original repo, and I saw that issue : standard/standard#1356

What problem do you want to solve?

I feel like ts-standard should follow the principles/rules as close as possible of standard.

What do you think is the correct solution to this problem?

  • Build in snazzy so users can do ts-standard --report=snazzy and get pretty output maybe we can add package.json options as well.
    Also, in the standard issue, they're talking about standard-json and standard-tap.

  • Build-in prettier would be awesome, maybe if we do ts-standard --format, it automatically runs prettier + ts-standard --fix.
    prettier also runs in .md, .json, .yaml, .css files etc. not only in .js or .ts

    I see that this project is using this script in package.json :
    "lint": "prettier --write '**/*.{ts*,js*,yml}' && bin/cmd.js --fix && tsc --noEmit"

    and this prettier configuration :

    "prettier": {
      "singleQuote": true,
      "semi": false
    }

    What if we would not need to do all these configurations ourselves and ts-standard will do it for us ?

Are you willing to submit a pull request to implement this change?

Yes of couse!

Lint .tsx files by default

Just dropped this into a React Native project and noticed that it doesn't lint .tsx files by default. It does however lint .jsx files by default ☺️

Parsing error: Unexpected token. Class

What version of this package are you using?

What operating system, Node.js, and npm version?
WINServer 2016 [email protected]

What happened?
When i create new class, a have this error
image

and errors highligt is not work

What did you expect to happen?

Are you willing to submit a pull request to fix this bug?

--fix for "An explicit null check is required" breaks code

What version of this package are you using?

What operating system, Node.js, and npm version?
macos 12.3
Node: v16.14.2
npm: 8.5.3

What happened?

write this code:

function stuff (arg: string, optionalArg?: string[]) {
  optionalArg = optionalArg || ['some', 'default', 'value']
}

run ts-standard --fix, it turns into

function stuff(arg: string, optionalArg?: string[]) {
  optionalArg = (optionalArg != null) || ['some', 'default', 'value']
}

which is broken because optionalArg = (optionalArg != null) sets optionalArg to true instead of keeping it as-is when it has a truthy value. Also, typescript doesn't even compile the new code because the variable can now be a string[] or boolean.

What did you expect to happen?

Code doesn't get changed or code gets changed to use the ?? operator instead.

Are you willing to submit a pull request to fix this bug?

no

Making eslint config file configurable

What version of this package are you using?
"ts-standard": "^9.0.0"

What problem do you want to solve?
Currently the eslint config file path is almost hardcoded because of this line : https://github.com/standard/ts-standard/blob/master/src/ts-standard.ts#L72
In this case for example in https://github.com/fastify/fastify we cannot use ts-standard because we have 2 different configs for javascript and typescript parts of the project. Currently the typescript configuration is located in types/tsconfig.json and the eslint for TS files is in types/.eslintrc.json.

What do you think is the correct solution to this problem?
Adding the eslintConfig file path configurable would fix the issue

Are you willing to submit a pull request to implement this change?
Sure

Doesn't format JSX like standard does

What version of this package are you using?
^10.0.0

What operating system, Node.js, and npm version?
14.16.0

What happened?
When I go to VSCode settings and set "standard.engine":"standard" it formats JSX with jsx-indent-props rule
When I set "standard.engine":"ts-standard" it doesn't format JSX

What did you expect to happen?
When I set "standard.engine":"ts-standard", it should format JSX just like standard does

Are you willing to submit a pull request to fix this bug?
Sure, if you can point me in the right direction... does it need a rule added?

FYI this is my settings.json file in VSCode that works great for Standard and JS files. But clearly doesn't work for TSX files.

{
  "editor.formatOnSave": true,
  "[javascript]": {
    "editor.formatOnSave": false
  },
  "javascript.validate.enable": false,
  "standard.autoFixOnSave": true
}

TBH, I'm struggling to find much info on how to configure this correctly. Every guide I can find assume you are either 100% TSX or 100% JS files.

Bug: 'variable' is defined but never used (@typescript-eslint/no-unused-vars) but is actually used.

Hey πŸ‘‹,

I had a bug with ts-standard, I have a file called global.d.ts that look like this :

import { UserRequest } from '../models/User'

declare global {
  namespace Express {
    interface Request {
      user?: UserRequest
    }
  }
}

Where UserRequest is a simple interface, with that setup as I said in the title I've got 'UserRequest' is defined but never used. (@typescript-eslint/no-unused-vars) error, but I shouldn't have this error because I'm actually using it.

For the moment my workaround (not really pretty) is to do something like this :

// eslint-disable-next-line
import { UserRequest } from '../models/User'

Looking forward to discuss the bug, thank you.

Spacing around intersections and unions

What version of this package are you using?
10.0.0

What problem do you want to solve?
I would like to have consistent spacing around the intersection and union operators of typescript. At the moment all these things are allowed:

type a = string|boolean
type b = string |boolean
type c = string | boolean
type d =
  string
  |boolean
  | number
type e = MyClass&string

What do you think is the correct solution to this problem?
I would say the most readable would be to always enforce spaces around the | and &. Especially with the & it gets really messy if there are no spaces.

Are you willing to submit a pull request to implement this change?
Not at the moment

Package does not provide `@typescript-eslint/parser`

What version of this package are you using?
11.0.0

What operating system, Node.js, and npm version?
x86_64-apple-darwin21.3.0
node v16.14.0/npm 8.5.0
yarn 3.1.1

What happened?
when installing packages with yarn, yarn reports the following:

ts-standard@npm:11.0.0 [49082] doesn't provide @typescript-eslint/parser (pb50bc), requested by @typescript-eslint/eslint-plugin

What did you expect to happen?
ts-standard should depend on @typescript-eslint/parser because @typescript-eslint/eslint-plugin lists it as a peer dependency.

Are you willing to submit a pull request to fix this bug?
yes

react/require-render-return fires for non-react code

What version of this package are you using?
12.0.1

What operating system, Node.js, and npm version?
macOS, 16.18.1, 9.6.0

What happened?
When I lint code that creates a custom element by subclassing a class named Component, I get an error because the subclass's render method (which is declared as void) doesn't return something. It shouldn't return anything. TypeScript is not React and in any event non-React code shouldn't be assumed to be React code.

What did you expect to happen?
This code is fine. No errors should be thrown.

Are you willing to submit a pull request to fix this bug?
No.

Allow `--project` to accept an absolute path

What version of this package are you using?

v12.0.1

What problem do you want to solve?

Allow --project flag to accept an absolute path, today resolve-tsconfig.js only accepts a path relative to the current working directory: https://github.com/standard/ts-standard/blob/master/resolve-tsconfig.js#L29

What do you think is the correct solution to this problem?

Check if the user provided path is an absolute path.

Are you willing to submit a pull request to implement this change?

Yes

Error: Configuration for rule "@typescript-eslint/no-unused-expressions" is invalid

What version of this package are you using?
ts-standard Version: 10.0.0

What operating system, Node.js, and npm version?
OS: Ubuntu 20.04.3 LTS
Node Version: 16.7.0
NPM Version: 7.21.0

What happened?
Every time I open VSCode standard run once but after that, it will start to show this error. It will run through the command line but not through VSCode.

Error: --config Β» eslint-config-standard-with-typescript#overrides[0]:
	Configuration for rule "@typescript-eslint/no-unused-expressions" is invalid:
	Value {"allowShortCircuit":true,"allowTernary":true,"allowTaggedTemplates":true,"enforceForJSX":false} should NOT have additional properties.

    at ConfigValidator.validateRuleOptions (/home/amanv/Documents/react-app/node_modules/ts-standard/node_modules/@eslint/eslintrc/lib/shared/config-validator.js:144:23)
    at /home/amanv/Documents/react-app/node_modules/ts-standard/node_modules/@eslint/eslintrc/lib/shared/config-validator.js:199:18
    at Array.forEach (<anonymous>)
    at ConfigValidator.validateRules (/home/amanv/Documents/react-app/node_modules/ts-standard/node_modules/@eslint/eslintrc/lib/shared/config-validator.js:196:34)
    at ConfigValidator.validateConfigArray (/home/amanv/Documents/react-app/node_modules/ts-standard/node_modules/@eslint/eslintrc/lib/shared/config-validator.js:322:18)
    at CascadingConfigArrayFactory._finalizeConfigArray (/home/amanv/Documents/react-app/node_modules/ts-standard/node_modules/@eslint/eslintrc/lib/cascading-config-array-factory.js:493:23)
    at CascadingConfigArrayFactory.getConfigArrayForFile (/home/amanv/Documents/react-app/node_modules/ts-standard/node_modules/@eslint/eslintrc/lib/cascading-config-array-factory.js:299:21)
    at CLIEngine.isPathIgnored (/home/amanv/Documents/react-app/node_modules/ts-standard/node_modules/eslint/lib/cli-engine/cli-engine.js:973:18)
    at CLIEngine.executeOnText (/home/amanv/Documents/react-app/node_modules/ts-standard/node_modules/eslint/lib/cli-engine/cli-engine.js:884:38)
    at Linter.lintTextSync (/home/amanv/Documents/react-app/node_modules/standard-engine/index.js:78:55)

What did you expect to happen?
It should fix or show the error after I save but it will run only at one time.

My config

  "standard.run": "onSave",
  "standard.autoFixOnSave": true,
  "standard.engine": "ts-standard",
  "editor.formatOnSave": true,
  "javascript.validate.enable": true,
  "standard.enable": true,

Are you willing to submit a pull request to fix this bug?
Nope

Version 3.1.0 is not published to npm

There seems be a new version, 3.1.0, in the master branch, but this version is not published to npm.

The current version gives this warning when trying to use it with TypeScript 3.7 so would appreciate if you could publish the 3.1.0 version ☺️

npm WARN [email protected] requires a peer of typescript@>=3.0.0 <3.7.0 but none is installed.

semistandard with TypeScript

What version of this package are you using?
10.0.0

What problem do you want to solve?
Using semistandard with TypeScript.

What do you think is the correct solution to this problem?
Either supporting a semi option in the ts-standard object within package.json or a similar ts-semistandard package.

Are you willing to submit a pull request to implement this change?
Maybe. I am not familiar with this project, but I would take a look.

An in-range update of @typescript-eslint/eslint-plugin is breaking the build 🚨

The dependency @typescript-eslint/eslint-plugin was updated from 2.9.0 to 2.10.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

@typescript-eslint/eslint-plugin is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details

Release Notes for v2.10.0

2.10.0 (2019-12-02)

Bug Fixes

  • eslint-plugin: [no-empty-function] add missed node types (#1271) (e9d44f5)
  • eslint-plugin: [no-untyped-pub-sig] ignore set return (#1264) (6daff10)
  • eslint-plugin: [no-unused-expressions] ignore directives (#1285) (ce4c803)
  • eslint-plugin: [prefer-optional-chain] allow $ in identifiers (c72c3c1)
  • eslint-plugin: [prefer-optional-chain] handle more cases (#1261) (57ddba3)
  • eslint-plugin: [return-await] allow Any and Unknown (#1270) (ebf5e0a)
  • eslint-plugin: [strict-bool-expr] allow nullish coalescing (#1275) (3b39340)
  • typescript-estree: make FunctionDeclaration.body non-null (#1288) (dc73510)

Features

  • eslint-plugin: [no-empty-func] private/protected construct (#1267) (3b931ac)
  • eslint-plugin: [no-non-null-assert] add suggestion fixer (#1260) (e350a21)
  • eslint-plugin: [no-unnec-cond] support nullish coalescing (#1148) (96ef1e7)
  • eslint-plugin: [prefer-null-coal] opt for suggestion fixer (#1272) (f84eb96)
  • experimental-utils: add isSpaceBetween declaration to Sou… (#1268) (f83f04b)
Commits

The new version differs by 16 commits.

  • 5adb8a2 chore: publish v2.10.0
  • 065393b docs(eslint-plugin): typo in the configs README (#1295)
  • 96ef1e7 feat(eslint-plugin): [no-unnec-cond] support nullish coalescing (#1148)
  • e350a21 feat(eslint-plugin): [no-non-null-assert] add suggestion fixer (#1260)
  • ce4c803 fix(eslint-plugin): [no-unused-expressions] ignore directives (#1285)
  • f84eb96 feat(eslint-plugin): [prefer-null-coal] opt for suggestion fixer (#1272)
  • dc73510 fix(typescript-estree): make FunctionDeclaration.body non-null (#1288)
  • 3b39340 fix(eslint-plugin): [strict-bool-expr] allow nullish coalescing (#1275)
  • ebf5e0a fix(eslint-plugin): [return-await] allow Any and Unknown (#1270)
  • e9d44f5 fix(eslint-plugin): [no-empty-function] add missed node types (#1271)
  • 3b931ac feat(eslint-plugin): [no-empty-func] private/protected construct (#1267)
  • c72c3c1 fix(eslint-plugin): [prefer-optional-chain] allow $ in identifiers
  • f83f04b feat(experimental-utils): add isSpaceBetween declaration to Sou… (#1268)
  • 57ddba3 fix(eslint-plugin): [prefer-optional-chain] handle more cases (#1261)
  • 6daff10 fix(eslint-plugin): [no-untyped-pub-sig] ignore set return (#1264)

There are 16 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Parsing error: The file must be included in at least one of the projects provided

What version of this package are you using?

$ ts-standard --version
10.0.0

What operating system, Node.js, and npm version?

$ node --version && npm --version
v15.8.0
7.5.1

Windows 10 Pro - 1903 - build 18362.267

What happened?
When using ts-standard with a new Vue3 Typescript app, I get the following error for each file:

<file>:0:0: Parsing error: "parserOptions.project" has been set for @typescript-eslint/parser.
The file does not match your project config: <file>.
The file must be included in at least one of the projects provided. ()

Here are the steps to reproduce:

npm init @vitejs/app -- my-vue-app --template vue-ts
cd my-vue-app
npm i
npx ts-standard

This uses the following template: https://github.com/vitejs/vite/tree/main/packages/create-app/template-vue-ts
Here is the content of tsconfig.json:

{
  "compilerOptions": {
    "target": "esnext",
    "module": "esnext",
    "moduleResolution": "node",
    "strict": true,
    "jsx": "preserve",
    "sourceMap": true,
    "resolveJsonModule": true,
    "esModuleInterop": true,
    "lib": ["esnext", "dom"],
    "types": ["vite/client"]
  },
  "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
}

What did you expect to happen?
Not to get the error

Are you willing to submit a pull request to fix this bug?
Yes, if someone else or I manage to find the issue πŸ˜…

ts-standard: Unexpected linter output

Hello,

I just installed ts-standard and try to run it. The first thing the CLI told me is

$ npx ts-standard
Unable to locate the project file. A project file (tsconfig.json or tsconfig.eslint.json) is required in order to use ts-standard

and that's right. So I add a little tsconfig.json configuration, like:

{
  "compilerOptions": {
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true,
    "noFallthroughCasesInSwitch": true,
    "skipLibCheck": true,
    "strict": true,
    "target": "ES2019"
  },
  "include": ["src/"]
}

Now, I try to run the command again, and a weird error is reported:

 npx ts-standard
ts-standard: Unexpected linter output:

--config Β» eslint-config-standard-with-typescript#overrides[0]:
	Configuration for rule "@typescript-eslint/indent" is invalid:
	Value {"SwitchCase":1,"VariableDeclarator":1,"outerIIFEBody":1,"MemberExpression":1,"FunctionDeclaration":{"parameters":1,"body":1},"FunctionExpression":{"parameters":1,"body":1},"CallExpression":{"arguments":1},"ArrayExpression":1,"ObjectExpression":1,"ImportDeclaration":1,"flatTernaryExpressions":false,"ignoreComments":false,"ignoredNodes":["TemplateLiteral *","JSXElement","JSXElement > *","JSXAttribute","JSXIdentifier","JSXNamespacedName","JSXMemberExpression","JSXSpreadAttribute","JSXExpressionContainer","JSXOpeningElement","JSXClosingElement","JSXFragment","JSXOpeningFragment","JSXClosingFragment","JSXText","JSXEmptyExpression","JSXSpreadChild"],"offsetTernaryExpressions":true} should NOT have additional properties.
: Error: --config Β» eslint-config-standard-with-typescript#overrides[0]:
	Configuration for rule "@typescript-eslint/indent" is invalid:
	Value {"SwitchCase":1,"VariableDeclarator":1,"outerIIFEBody":1,"MemberExpression":1,"FunctionDeclaration":{"parameters":1,"body":1},"FunctionExpression":{"parameters":1,"body":1},"CallExpression":{"arguments":1},"ArrayExpression":1,"ObjectExpression":1,"ImportDeclaration":1,"flatTernaryExpressions":false,"ignoreComments":false,"ignoredNodes":["TemplateLiteral *","JSXElement","JSXElement > *","JSXAttribute","JSXIdentifier","JSXNamespacedName","JSXMemberExpression","JSXSpreadAttribute","JSXExpressionContainer","JSXOpeningElement","JSXClosingElement","JSXFragment","JSXOpeningFragment","JSXClosingFragment","JSXText","JSXEmptyExpression","JSXSpreadChild"],"offsetTernaryExpressions":true} should NOT have additional properties.

    at ConfigValidator.validateRuleOptions (/Users/kikobeats/vercel/edge-runtime/node_modules/@eslint/eslintrc/lib/shared/config-validator.js:144:23)
    at /Users/kikobeats/vercel/edge-runtime/node_modules/@eslint/eslintrc/lib/shared/config-validator.js:199:18
    at Array.forEach (<anonymous>)
    at ConfigValidator.validateRules (/Users/kikobeats/vercel/edge-runtime/node_modules/@eslint/eslintrc/lib/shared/config-validator.js:196:34)
    at ConfigValidator.validateConfigArray (/Users/kikobeats/vercel/edge-runtime/node_modules/@eslint/eslintrc/lib/shared/config-validator.js:322:18)
    at CascadingConfigArrayFactory._finalizeConfigArray (/Users/kikobeats/vercel/edge-runtime/node_modules/@eslint/eslintrc/lib/cascading-config-array-factory.js:493:23)
    at CascadingConfigArrayFactory.getConfigArrayForFile (/Users/kikobeats/vercel/edge-runtime/node_modules/@eslint/eslintrc/lib/cascading-config-array-factory.js:299:21)
    at FileEnumerator._iterateFilesRecursive (/Users/kikobeats/vercel/edge-runtime/node_modules/ts-standard/node_modules/eslint/lib/cli-engine/file-enumerator.js:445:49)
    at _iterateFilesRecursive.next (<anonymous>)
    at FileEnumerator.iterateFiles (/Users/kikobeats/vercel/edge-runtime/node_modules/ts-standard/node_modules/eslint/lib/cli-engine/file-enumerator.js:296:49)

If you think this is a bug in `ts-standard`, open an issue: https://github.com/standard/ts-standard/issues

I understand ts-standard mess with some rules merging, but not sure why. I tried other tsconfig.json settings but all the time I get this error.

Environment

npx envinfo --binaries --system

  System:
    OS: macOS 12.0.1
    CPU: (10) arm64 Apple M1 Pro
    Memory: 5.12 GB / 32.00 GB
    Shell: 3.3.1 - /opt/homebrew/bin/fish
  Binaries:
    Node: 16.13.1 - ~/.local/share/nvm/v16.13.1/bin/node
    Yarn: 1.22.17 - /opt/homebrew/bin/yarn
    npm: 8.1.2 - ~/.local/share/nvm/v16.13.1/bin/npm

Add support for @typescript/eslint version 6.x.x

What version of this package are you using?

12.0.2

What problem do you want to solve?

Support for @typescript/eslint version 6.x.x

Current version installed along with latest @typescript-eslint trigger that warning:

=============

WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.

You may find that it works just fine, or you may not.

SUPPORTED TYPESCRIPT VERSIONS: >=3.3.1 <5.2.0

YOUR TYPESCRIPT VERSION: 5.2.2

Please only submit bug reports when using the officially supported version.

=============

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.