GithubHelp home page GithubHelp logo

lifeart / ember-language-server Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ember-tooling/ember-language-server

31.0 4.0 16.0 2.3 MB

Language Server Protocol implementation for Ember.js and Glimmer projects

Home Page: https://marketplace.visualstudio.com/items?itemName=lifeart.vscode-ember-unstable

License: MIT License

JavaScript 1.12% TypeScript 98.77% Shell 0.01% HTML 0.10%
language-server language-server-protocol emberjs visual-studio-code dx autocomplete handlebars hacktoberfest glimmerjs

ember-language-server's Introduction

Ember Language Server

Greenkeeper badge

The Ember Language Server (ELS) implements the Language Server Protocol for Ember.js projects. ELS enables editors to provide features like auto complete, goto definition and diagnostics. To get these features, you have to install the plugin for your editor.

Features

All features currently only work in Ember CLI application that use the default classic structure, and are a rough first draft with a lot of room for improvements. Pods and addons are not supported yet.

  • Autocompletion

    • *.{js/ts}: services, models, routes, transforms
    • *.hbs: components, route names, helpers, modifiers, local paths, arguments
    • Namespaces support (batman syntax)
  • Template linting

    • works only if ember-template-lint dependency added into project.
    • ember-template-lint (v2, v3, v4) integration, including documentation links and auto fixes
    • template linting inside .js and .ts files (with hbs literal)
    • experimental linting inside .gjs and .gts files (with <template> tag)
  • Definition providers for (enable features like "Go To Definition" or "Peek Definition"):

    • Components (in Templates)
    • Helpers (in Templates)
    • Modifiers (in Templates)
    • Models
    • Transforms
    • Component imports (from addons)
    • Namespace components (batman syntax)
  • Route autocompletion in link-to and <LinkTo> components.

  • Outlet jumping

  • Workspaces support

  • Supports Ignoring of LS initialization on unneeded projects by using ignoredProjects config option, if you need "exclude except" functionality, specify project name as !my-project.

Editor Plugins

Addons available for install

Addon notes:

  • all addons could be added as dev-dependency for a project
  • dev-dependency installation allow us to have independent versions of addons for different projects
  • for global addon installation check LS settings in your editor (you have to specify path to addon root in LS config)
  • you could build your project-specific addon

Integration details

Server entrypoints

lib/start-server.js - nodejs

lib/start-worker-server.js - worker

Server options

new Server({fs, type})

fs - available options:

  • sync - LS should use nodejs.fs logic
  • async - LS should use client's fs provider

type - available options:

  • node - supported addons & require logic
  • worker - addons and require logic not supported



License

MIT

ember-language-server's People

Contributors

achambers avatar alexlafroscia avatar bors-ng[bot] avatar brettcannon avatar camerondubas avatar caseywatts avatar clinyong avatar dbaeumer avatar dependabot-support avatar dependabot[bot] avatar flashios09 avatar godric3 avatar graemechapman avatar greenkeeper[bot] avatar hodofhod avatar hoovercj avatar josa42 avatar lifeart avatar ljw1004 avatar locks avatar madnificent avatar msftgits avatar notriddle avatar nullvoxpopuli avatar patocallaghan avatar saravanak avatar semantic-release-bot avatar suchitadoshi1987 avatar t-sauer avatar turbo87 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

Watchers

 avatar  avatar  avatar  avatar

ember-language-server's Issues

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


🚨 Reminder! Less than one month left to migrate your repositories over to Snyk before Greenkeeper says goodbye on June 3rd! πŸ’œ πŸššπŸ’¨ πŸ’š

Find out how to migrate to Snyk at greenkeeper.io


The devDependency @typescript-eslint/eslint-plugin was updated from 2.32.0 to 2.33.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 devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Release Notes for v2.33.0

2.33.0 (2020-05-12)

Bug Fixes

  • experimental-utils: remove accidental dep on json-schema (#2010) (1875fba)

Features

  • eslint-plugin: add extension rule lines-between-class-members (#1684) (08f93e6)
Commits

The new version differs by 4 commits.

  • 9acff7c chore: publish v2.33.0
  • 08f93e6 feat(eslint-plugin): add extension rule lines-between-class-members (#1684)
  • f3f3bf8 docs: add some more FAQ (#2011)
  • 1875fba fix(experimental-utils): remove accidental dep on json-schema (#2010)

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 🌴

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


🚨 Reminder! Less than one month left to migrate your repositories over to Snyk before Greenkeeper says goodbye on June 3rd! πŸ’œ πŸššπŸ’¨ πŸ’š

Find out how to migrate to Snyk at greenkeeper.io


The devDependency @typescript-eslint/parser was updated from 2.31.0 to 2.32.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 devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Release Notes for v2.32.0

2.32.0 (2020-05-11)

Bug Fixes

  • eslint-plugin: [no-base-to-string] support boolean in unions (#1979) (6987ecc)
  • eslint-plugin: [no-type-alias] handle readonly types in aliases (#1990) (56d9870)
  • eslint-plugin: [no-unused-expressions] inherit messages from base rule (#1992) (51ca404)

Features

Commits

The new version differs by 5 commits.

  • 18e7b5b chore: publish v2.32.0
  • 18668b7 feat: bump dependencies and align AST (#2007)
  • 6987ecc fix(eslint-plugin): [no-base-to-string] support boolean in unions (#1979)
  • 56d9870 fix(eslint-plugin): [no-type-alias] handle readonly types in aliases (#1990)
  • 51ca404 fix(eslint-plugin): [no-unused-expressions] inherit messages from base rule (#1992)

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 🌴

An in-range update of ts-jest is breaking the build 🚨


☝️ Important announcement: Greenkeeper will be saying goodbye πŸ‘‹ and passing the torch to Snyk on June 3rd, 2020! Find out how to migrate to Snyk and more at greenkeeper.io


The devDependency ts-jest was updated from 25.2.1 to 25.3.0.

🚨 View failing branch.

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

ts-jest is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

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 🌴

Angle brackets autocomplete lil bug

Hello, great extension, thanks, I found this little bug.

I have this component

{{tables/i18n-models-table}}

The angle brackets equivalent is

<Tables::I18nModelsTable />

And the extension autocompletes with the n after the 18, upper case, like this:

<Tables::I18NModelsTable />

go-to-definition in 3d else

{{#if (eq this.lastAnswer @task.word)}}

{{else if (and @task.nextAttempt this.taskResultIsVisible)}}

{{else}}
  [HERE NOT WORKING]
  <AudioPlayer
    @audioFileUrl={{@task.audioFileUrl}}
    @disabled={{@disableAudioPlayer}}
  />
{{/if}}

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


☝️ Important announcement: Greenkeeper will be saying goodbye πŸ‘‹ and passing the torch to Snyk on June 3rd, 2020! Find out how to migrate to Snyk and more at greenkeeper.io


The devDependency @typescript-eslint/eslint-plugin was updated from 2.30.0 to 2.31.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 devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Release Notes for v2.31.0

2.31.0 (2020-05-04)

Bug Fixes

  • eslint-plugin: [dot-notation] handle missing declarations (#1947) (383f931)
  • eslint-plugin: [method-signature-style] fix overloaded methods to an intersection type (#1966) (7f3fba3)
  • eslint-plugin: [return-await] await in a normal function (#1962) (f82fd7b)
  • eslint-plugin: [unbound-method] false positives for unary expressions (#1964) (b35070e)
  • eslint-plugin: no-base-to-string boolean expression detect (#1969) (f78f13a)

Features

  • eslint-plugin: [member-ordering] add decorators support (#1870) (f7ec192)
  • eslint-plugin: [prefer-optional-chain] added option to convert to suggestion fixer (#1965) (2f0824b)
  • eslint-plugin: new extended rule 'no-invalid-this' (#1823) (b18bc35)
  • eslint-plugin-internal: add rule no-poorly-typed-ts-props (#1949) (56ea7c9)
  • experimental-utils: expose our RuleTester extension (#1948) (2dd1638)
Commits

The new version differs by 15 commits.

  • 176054c chore: publish v2.31.0
  • 1f3c344 chore: upgrade to prettier 2.0 (#1970)
  • b18bc35 feat(eslint-plugin): new extended rule 'no-invalid-this' (#1823)
  • 2f0824b feat(eslint-plugin): [prefer-optional-chain] added option to convert to suggestion fixer (#1965)
  • 7f3fba3 fix(eslint-plugin): [method-signature-style] fix overloaded methods to an intersection type (#1966)
  • f78f13a fix(eslint-plugin): no-base-to-string boolean expression detect (#1969)
  • b35070e fix(eslint-plugin): [unbound-method] false positives for unary expressions (#1964)
  • f82fd7b fix(eslint-plugin): [return-await] await in a normal function (#1962)
  • 05476ca docs(eslint-plugin): [naming-convention] correct typo in example (#1961)
  • 80d934b chore: turn on no-poorly-typed-ts-props (#1955)
  • b609b43 chore: fix CI (#1958)
  • 56ea7c9 feat(eslint-plugin-internal): add rule no-poorly-typed-ts-props (#1949)
  • 2dd1638 feat(experimental-utils): expose our RuleTester extension (#1948)
  • 383f931 fix(eslint-plugin): [dot-notation] handle missing declarations (#1947)
  • f7ec192 feat(eslint-plugin): [member-ordering] add decorators support (#1870)

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 🌴

1.1.1+ Upgrade causes go to definition to go to tests

Hi --
First of all -- I love this extension!

Recently, I updated from 1.1.0 and Go to Definition on a component in a handlebars file started jumping to the component's test file instead of it's component template.

I've given this a shot in versions 1.1.1, 1.2.1, 1.2.2 and 1.3.2 and the issue is the same in all of them.

Things are working on 1.1.0 for me.

How can I help assist debugging this?
I'm guessing something funky is going on in here?
https://github.com/lifeart/ember-language-server/blob/component-context-info-origin/src/definition-providers/template.ts

Feat: command proxy for addons api

usecase:

currently we have proxy command, in extension itself, it allow execute any VSCode command, and return execution results into any command

https://github.com/lifeart/vscode-ember/blob/master/src/extension.ts#L98

we need to create api to return result back to extension server and pass it down to addon

for example:

1.) addon: execute command ["create-file", "els:after-create-file"]
2.) server: execute command ["proxy-command", "create-file", "els:after-create-file" ]
3.) vscode: execute command "create-file"
4.) passing result back to extension
5.) extension passing result back to server
6.) server passing result back to "els:after-create-file", registered in addon

addon_command -> api_command -> extension_proxy -> (vscode command evaluation) -> extension_proxy -> api_command -> other_addon_command

Falsy linting error in VS Code editor

Description

This error only reproduces after performing the following steps:

  1. Create an ember octane application. (using [email protected])
  2. remove ember-cli-template-lint and install ember-template-lint.
  3. change extends: 'octane' to extends: ['octane', 'stylistic'] in .template-lintrc.js
  4. remove ember-cli-eslint and install eslint
  5. now open a .js or .hbs file, change anything and save, should see the following:

image

and as the screenshot shows, execute linting in the command line won't detect any real errors, it's only happening in the editor.

Reproduction Repository

https://github.com/nightire/vscode-linting-error

Environments

  • ember-cli version: v3.6.0
  • ember.js version: ~3.16.0
  • node version: v12.14.1
  • ember-language-server version: v0.3.8

An in-range update of lint-staged is breaking the build 🚨


🚨 Reminder! Less than one month left to migrate your repositories over to Snyk before Greenkeeper says goodbye on June 3rd! πŸ’œ πŸššπŸ’¨ πŸ’š

Find out how to migrate to Snyk at greenkeeper.io


The devDependency lint-staged was updated from 10.2.4 to 10.2.5.

🚨 View failing branch.

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

lint-staged is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Release Notes for v10.2.5

10.2.5 (2020-05-22)

Bug Fixes

  • truncate command title to stdout width (#865) (b8e1a4a)
Commits

The new version differs by 1 commits.

  • b8e1a4a fix: truncate command title to stdout width (#865)

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 🌴

nvm doesn't play nicely with nodePath

Using nvm to manage my node, I ran into an issue where my template linting was not working at all. With @lifeart 's guidance, we narrowed it down to this block:

if (!nodePath) {
  return;
}

inside the getLinter getting hit, which I guess bails on everything else. Commenting this out return the linting in my editor. πŸ‘

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


🚨 Reminder! Less than one month left to migrate your repositories over to Snyk before Greenkeeper says goodbye on June 3rd! πŸ’œ πŸššπŸ’¨ πŸ’š

Find out how to migrate to Snyk at greenkeeper.io


The devDependency @typescript-eslint/eslint-plugin was updated from 2.31.0 to 2.32.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 devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Release Notes for v2.32.0

2.32.0 (2020-05-11)

Bug Fixes

  • eslint-plugin: [no-base-to-string] support boolean in unions (#1979) (6987ecc)
  • eslint-plugin: [no-type-alias] handle readonly types in aliases (#1990) (56d9870)
  • eslint-plugin: [no-unused-expressions] inherit messages from base rule (#1992) (51ca404)

Features

Commits

The new version differs by 5 commits.

  • 18e7b5b chore: publish v2.32.0
  • 18668b7 feat: bump dependencies and align AST (#2007)
  • 6987ecc fix(eslint-plugin): [no-base-to-string] support boolean in unions (#1979)
  • 56d9870 fix(eslint-plugin): [no-type-alias] handle readonly types in aliases (#1990)
  • 51ca404 fix(eslint-plugin): [no-unused-expressions] inherit messages from base rule (#1992)

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 🌴

An in-range update of @glimmer/syntax is breaking the build 🚨

The dependency @glimmer/syntax was updated from 0.47.5 to 0.47.6.

🚨 View failing branch.

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

@glimmer/syntax 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
  • ❌ continuous-integration/travis-ci/push: The Travis CI build failed (Details).

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 🌴

An in-range update of lint-staged is breaking the build 🚨


🚨 Reminder! Less than one month left to migrate your repositories over to Snyk before Greenkeeper says goodbye on June 3rd! πŸ’œ πŸššπŸ’¨ πŸ’š

Find out how to migrate to Snyk at greenkeeper.io


The devDependency lint-staged was updated from 10.2.2 to 10.2.3.

🚨 View failing branch.

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

lint-staged is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Release Notes for v10.2.3

10.2.3 (2020-05-18)

Bug Fixes

Commits

The new version differs by 3 commits.

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 🌴

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

The devDependency @typescript-eslint/parser 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/parser is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (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 🌴

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


🚨 Reminder! Less than one month left to migrate your repositories over to Snyk before Greenkeeper says goodbye on June 3rd! πŸ’œ πŸššπŸ’¨ πŸ’š

Find out how to migrate to Snyk at greenkeeper.io


The devDependency @typescript-eslint/parser was updated from 3.0.2 to 3.1.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 devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • βœ… continuous-integration/travis-ci/push: The Travis CI build passed (Details).
  • ❌ codecov/project: 40.87% (+-0.34%) compared to 827d019 (Details).
  • ❌ codecov/patch: 14.81% of diff hit (target 41.21%) (Details).

Release Notes for v3.1.0

3.1.0 (2020-06-01)

Bug Fixes

  • eslint-plugin: [explicit-module-boundary-types] don't check returned functions if parent function has return type (#2084) (d7d4eeb)
  • eslint-plugin: [no-unnecessary-condition] handle comparison of any, unknown and loose comparisons with nullish values (#2123) (1ae1d01)
  • eslint-plugin: [no-unnecessary-condition] improve optional chain handling (#2111) (9ee399b)
  • eslint-plugin: [no-unnecessary-condition] improve optional chain handling 2 - electric boogaloo (#2138) (c87cfaf)
  • eslint-plugin: [no-unused-expressions] ignore import expressions (#2130) (e383691)
  • eslint-plugin: [no-var-requires] false negative for TSAsExpression and MemberExpression (#2139) (df95338)
  • experimental-utils: downlevel type declarations for versions older than 3.8 (#2133) (7925823)

Features

  • eslint-plugin: [ban-ts-comments] add "allow-with-description" option (#2099) (8a0fd18)
  • eslint-plugin: [ban-types] allow selective disable of default options with false value (#2137) (1cb8ca4)
  • eslint-plugin: [explicit-module-boundary-types] improve accuracy and coverage (#2135) (caaa859)
Commits

The new version differs by 15 commits.

  • 2c8402a chore: publish v3.1.0
  • c87cfaf fix(eslint-plugin): [no-unnecessary-condition] improve optional chain handling 2 - electric boogaloo (#2138)
  • 1cb8ca4 feat(eslint-plugin): [ban-types] allow selective disable of default options with false value (#2137)
  • df95338 fix(eslint-plugin): [no-var-requires] false negative for TSAsExpression and MemberExpression (#2139)
  • 0e83d15 docs: fix typo in npm install command (#2136)
  • caaa859 feat(eslint-plugin): [explicit-module-boundary-types] improve accuracy and coverage (#2135)
  • 7925823 fix(experimental-utils): downlevel type declarations for versions older than 3.8 (#2133)
  • 8a0fd18 feat(eslint-plugin): [ban-ts-comments] add "allow-with-description" option (#2099)
  • 1ae1d01 fix(eslint-plugin): [no-unnecessary-condition] handle comparison of any, unknown and loose comparisons with nullish values (#2123)
  • 9ee399b fix(eslint-plugin): [no-unnecessary-condition] improve optional chain handling (#2111)
  • d7d4eeb fix(eslint-plugin): [explicit-module-boundary-types] don't check returned functions if parent function has return type (#2084)
  • e383691 fix(eslint-plugin): [no-unused-expressions] ignore import expressions (#2130)
  • dc061ed docs: include npm install instructions in getting started (#2120)
  • 407bfa1 docs(eslint-plugin): remove no-void from roadmap (#2124)
  • d70fba2 docs: update FAQ and add issue template config (#2117)

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 🌴

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

The devDependency @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 devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (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 🌴

An in-range update of lint-staged is breaking the build 🚨


🚨 Reminder! Less than one month left to migrate your repositories over to Snyk before Greenkeeper says goodbye on June 3rd! πŸ’œ πŸššπŸ’¨ πŸ’š

Find out how to migrate to Snyk at greenkeeper.io


The devDependency lint-staged was updated from 10.2.6 to 10.2.7.

🚨 View failing branch.

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

lint-staged is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Release Notes for v10.2.7

10.2.7 (2020-05-29)

Bug Fixes

  • use machine output to avoid escaped and quoted filenames (ea80a3d)
Commits

The new version differs by 3 commits.

  • 21a2b41 Merge pull request #876 from johnnywalker/allow-spaces-in-partially-staged
  • 390d168 test: add test for hiding unstaged changes in renamed file
  • ea80a3d fix: use machine output to avoid escaped and quoted filenames

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 🌴

An in-range update of lint-staged is breaking the build 🚨


☝️ Important announcement: Greenkeeper will be saying goodbye πŸ‘‹ and passing the torch to Snyk on June 3rd, 2020! Find out how to migrate to Snyk and more at greenkeeper.io


The devDependency lint-staged was updated from 10.1.5 to 10.1.6.

🚨 View failing branch.

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

lint-staged is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Release Notes for v10.1.6

10.1.6 (2020-04-19)

Bug Fixes

  • deps: update dependencies (e093b1d)
Commits

The new version differs by 1 commits.

  • e093b1d fix(deps): update dependencies

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 🌴

Create feature list

04/02/2019

  • ability to go to component style if css-modules used (lense)
  • allow langserver handle diynamically created projects inside working dir

02/12/2019

  • allow ember projects have internal addon-api #25

03/12/2019

05/12/2019

  • template: block params autocomplete #30
  • template: scoped params autocomplete #29

08/12/2019

  • linter batching (allow to execute multiple linters per file) #33

10/12/2019

  • server.addToRegistry method, to allow addon autors implement custom layout support

19/12/2019

  • allow addons handle project-scoped command execution
  • els.runInEmberCLI command, ability to execute custom command if ember-fast-cli installed.
  • Addon API onInit function support.

21/12/2019

  • improved go-to component template definition logic
  • registry initialied during project initialization
  • added logging for els-addon names, added to project
  • workspace folders change event support
  • Addon API addWatcher funnction (ability to watch file changes)
  • private Projct.files (list of all project files)

23/12/2019

  • updated angle bracket naming normalization
  • implemented Matcher api (improve project files discovery)

24/12/2019

  • test files lookup (lense)
  • els.getRelatedFiles command, ability to load related files (by path)

26/12/2019

  • addon component files lookup (for addon autors) (lense)

04/02/2020

  • runtime project lookup (if ember-cli-build.js file appear)
  • lense: component styles (added support for css modules)

04/02/2020

  • ability to have local els addons (non project-scoped)

21/02/2020

  • show rule name in template-linter messages

09/03/2020

  • ability to reload project from button (VSCode)

02/05/2020

  • lense: pod-styled component tests discovery

03/05/2020

  • Ember File Usages feature (for components)
  • els.getKindUsages - allow ELS Addons resolve files by normalized token name

10/05/2020

  • Addon API: code action api

20/05/2020

23/05/2020

  • template-lint rule-fix feature
  • fixed lense for addon/app files
  • fixed template-lint initialization without global node path
  • els.proxyCommand - allow ELS Addons execute any vscode command

add simplified autocomplete logic for addon authors

inputs:

we shold have ability to add minimalistic autocomplete format for (at least) template scope (for addon autors)

for example:

const autocompleteInfo = {
    modifiers: [
        {
            name: 'foo-bar', 
            description: '', 
            file: fsPath, 
            namedArguments: [
                { 
                    name: 'foo', 
                    description: 'boo', 
                    defaultValue: 'foo' 
                }
            ]
        },
    ],
    helpers: [
        {
            name: 'foo-bar', 
            description: '', 
            file: fsPath, 
            namedArguments: [
                { 
                    name: 'foo', 
                    description: 'boo', 
                    defaultValue: 'foo' 
                }
            ]
        },
    ],
    components: [
        {
            name: 'foo-bar', 
            description: '', 
            file: fsPath, 
            namedArguments: [
                { 
                    name: 'foo', 
                    description: 'boo', 
                    defaultValue: 'foo' 
                }
            ]
        }
    ]
}

RFC: addon api

WHY?

Idea is - allow users to install langerver extensions into project.

langerver extension -> npm package with special field in package.json and handler in js file.

in package.json we specify features we wanna handle, and handler expose api methods for it.


ELS addon example

package.json

"ember-language-server": {
    "entry": "./lib/langserver",
    "version": 1,
    "debug"? : true, // allow hot-reload addon logic without server restart
    "capabilities": {
      "definitionProvider": true,
      "referencesProvider": true,
      "completionProvider": true,
      "codeActionProvider": true
    }
}

lib/langserver.js

module.exports.onReference = async function(projectRoot, params) {
  return [
    {
      range: {
        end: {
          character: 0,
          line: 0
        },
        start: {
          character: 0,
          line: 0
        }
      },
      uri: "file://path/to/resolved/component.js"
    }
  ];
};

module.exports.onComplete = async function(projectRoot, { focusPath }) {
  if (focusPath.node.type === "ElementNode") {
    return [
      {
        label: "MyCustomComponent"
      },
      {
        label: "MyHardcodedComponent"
      }
    ];
  }
};

module.exports.onDefinition = async function(projectRoot, params) {
  return [
    {
      range: {
        end: {
          character: 0,
          line: 0
        },
        start: {
          character: 0,
          line: 0
        }
      },
      uri: "file://path/to/resolved/component.js"
    }
  ];
};

refs: vastec/ember-unused-components#56


Addon API interface

import { Definition, FileChangeType, Diagnostic, TextDocument, Location, TextDocumentIdentifier, Position, CompletionItem, CodeActionParams } from 'vscode-languageserver';
import Server from '../server';
import ASTPath from './../glimmer-utils';

type Executor = (server: Server, command: string, args: any[]) => any;
type Linter = (document: TextDocument) => Diagnostic[];
type Watcher = (uri: string, change: FileChangeType) => any;

type MatchResultType =
  | 'helper'
  | 'service'
  | 'route'
  | 'controller'
  | 'modifier'
  | 'template'
  | 'component'
  | 'model'
  | 'transform'
  | 'adapter'
  | 'serializer';

interface MatchResult {
  type: MatchResultType;
  name: string;
}

interface Project {
  root: string; // project entry path
  addCommandExecutor(key: string, fn: Executor): void;
  addLinter(fn: Linter): void;
  addWatcher(fn: Watcher): void;
  matchPathToType(filePath: string): null | MatchResult;
}

interface Registry {
  component: {
    [componentName: string]: string[] // files, related to component
  },
  service: {
    [serviceName: string]: string[] // files, related to service
  },
  routePath: {
    [routePath: string]: string[] // files, related to route (templates, controllers, routes)
  }
}

interface Command {
   command: string // els.executeInEmberCLI
   arguments: any[] // first argument - file path / project root, if command scoped to project
}
interface Server {
  getRegistry(projectRoot: string): Registry;
  onExecute(command: Command): any;
  getUsages(normalizedName: string): string[]; // return list of files, related to token
}

interface BaseAPIParams {
  server: Server;
  textDocument: TextDocumentIdentifier;
  position: Position;
}
interface ExtendedAPIParams {
  focusPath: ASTPath;
  type: 'script' | 'template';
}
interface ReferenceFunctionParams extends BaseAPIParams {
  results: Location[];
}
interface CompletionFunctionParams extends ExtendedAPIParams {
  results: CompletionItem[];
}
interface DefinitionFunctionParams extends ExtendedAPIParams {
  results: Location[];
}

interface CodeActionFunctionParams extends CodeActionParams {
  results: (Command | CodeAction)[];
  server: Server;
  document: TextDocument
}

type ReferenceResolveFunction = (root: string, params: ReferenceFunctionParams) => Promise<Location[]>;
type CompletionResolveFunction = (root: string, params: CompletionFunctionParams) => Promise<CompletionItem[]>;
type DefinitionResolveFunction = (root: string, params: DefinitionFunctionParams) => Promise<Location[]>;
type CodeActionResolveFunction = (root: string, params: CodeActionParams) => Promise<(Command | CodeAction)[] | undefined | null>;
type InitCallback = (server: Server, project: Project) => void;


export interface AddonAPI {
  onReference: undefined | ReferenceResolveFunction;
  onComplete: undefined | CompletionResolveFunction;
  onDefinition: undefined | DefinitionResolveFunction;
  onCodeAction: undefined | CodeActionResolveFunction;
  onInit: undefined | InitCallback;
}

Addon api:

addon-api.ts

Addons:

Ember addons with langserver API:

Wiki: https://github.com/lifeart/ember-language-server/wiki

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


🚨 Reminder! Less than one month left to migrate your repositories over to Snyk before Greenkeeper says goodbye on June 3rd! πŸ’œ πŸššπŸ’¨ πŸ’š

Find out how to migrate to Snyk at greenkeeper.io


The devDependency @typescript-eslint/eslint-plugin was updated from 3.0.2 to 3.1.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 devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Release Notes for v3.1.0

3.1.0 (2020-06-01)

Bug Fixes

  • eslint-plugin: [explicit-module-boundary-types] don't check returned functions if parent function has return type (#2084) (d7d4eeb)
  • eslint-plugin: [no-unnecessary-condition] handle comparison of any, unknown and loose comparisons with nullish values (#2123) (1ae1d01)
  • eslint-plugin: [no-unnecessary-condition] improve optional chain handling (#2111) (9ee399b)
  • eslint-plugin: [no-unnecessary-condition] improve optional chain handling 2 - electric boogaloo (#2138) (c87cfaf)
  • eslint-plugin: [no-unused-expressions] ignore import expressions (#2130) (e383691)
  • eslint-plugin: [no-var-requires] false negative for TSAsExpression and MemberExpression (#2139) (df95338)
  • experimental-utils: downlevel type declarations for versions older than 3.8 (#2133) (7925823)

Features

  • eslint-plugin: [ban-ts-comments] add "allow-with-description" option (#2099) (8a0fd18)
  • eslint-plugin: [ban-types] allow selective disable of default options with false value (#2137) (1cb8ca4)
  • eslint-plugin: [explicit-module-boundary-types] improve accuracy and coverage (#2135) (caaa859)
Commits

The new version differs by 15 commits.

  • 2c8402a chore: publish v3.1.0
  • c87cfaf fix(eslint-plugin): [no-unnecessary-condition] improve optional chain handling 2 - electric boogaloo (#2138)
  • 1cb8ca4 feat(eslint-plugin): [ban-types] allow selective disable of default options with false value (#2137)
  • df95338 fix(eslint-plugin): [no-var-requires] false negative for TSAsExpression and MemberExpression (#2139)
  • 0e83d15 docs: fix typo in npm install command (#2136)
  • caaa859 feat(eslint-plugin): [explicit-module-boundary-types] improve accuracy and coverage (#2135)
  • 7925823 fix(experimental-utils): downlevel type declarations for versions older than 3.8 (#2133)
  • 8a0fd18 feat(eslint-plugin): [ban-ts-comments] add "allow-with-description" option (#2099)
  • 1ae1d01 fix(eslint-plugin): [no-unnecessary-condition] handle comparison of any, unknown and loose comparisons with nullish values (#2123)
  • 9ee399b fix(eslint-plugin): [no-unnecessary-condition] improve optional chain handling (#2111)
  • d7d4eeb fix(eslint-plugin): [explicit-module-boundary-types] don't check returned functions if parent function has return type (#2084)
  • e383691 fix(eslint-plugin): [no-unused-expressions] ignore import expressions (#2130)
  • dc061ed docs: include npm install instructions in getting started (#2120)
  • 407bfa1 docs(eslint-plugin): remove no-void from roadmap (#2124)
  • d70fba2 docs: update FAQ and add issue template config (#2117)

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 🌴

An in-range update of @types/lodash is breaking the build 🚨


🚨 Reminder! Less than one month left to migrate your repositories over to Snyk before Greenkeeper says goodbye on June 3rd! πŸ’œ πŸššπŸ’¨ πŸ’š

Find out how to migrate to Snyk at greenkeeper.io


The devDependency @types/lodash was updated from 4.14.153 to 4.14.154.

🚨 View failing branch.

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

@types/lodash is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

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 🌴

An in-range update of prettier is breaking the build 🚨

The devDependency prettier was updated from 1.18.2 to 1.19.0.

🚨 View failing branch.

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

prettier is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Release Notes for Prettier 1.19: Long awaited Vue option, TypeScript 3.7 and new JavaScript features

diff

πŸ”— Release Notes

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 🌴

isFixable does not work for ember-template-lint-plugin-tailwindcss

The problem seems to be that the something fails once there is a linebreak in between opening and closing HTML tag. The problem manifests itself as "no quick fixes available" in vscode.

Screenshot 2020-05-23 at 16 35 20

 FAIL  test/bultin-addons/core/template-linter-test.ts
  ● ProjectTemplateLinter β€Ί it return valid result on template with linebreaks

    TypeError: Cannot read property 'type' of undefined

      19 |
      20 |   while (cursor) {
    > 21 |     if (validNodes.includes(cursor.node.type)) {
         |                                         ^
      22 |       return {
      23 |         selection: focusPath.sourceForNode(),
      24 |         location: focusPath.node.loc,

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


🚨 Reminder! Less than one month left to migrate your repositories over to Snyk before Greenkeeper says goodbye on June 3rd! πŸ’œ πŸššπŸ’¨ πŸ’š

Find out how to migrate to Snyk at greenkeeper.io


The devDependency @typescript-eslint/parser was updated from 2.32.0 to 2.33.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 devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Release Notes for v2.33.0

2.33.0 (2020-05-12)

Bug Fixes

  • experimental-utils: remove accidental dep on json-schema (#2010) (1875fba)

Features

  • eslint-plugin: add extension rule lines-between-class-members (#1684) (08f93e6)
Commits

The new version differs by 4 commits.

  • 9acff7c chore: publish v2.33.0
  • 08f93e6 feat(eslint-plugin): add extension rule lines-between-class-members (#1684)
  • f3f3bf8 docs: add some more FAQ (#2011)
  • 1875fba fix(experimental-utils): remove accidental dep on json-schema (#2010)

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 🌴

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.