Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(language-service): provide diagnostic for invalid templateUrls #32586

Closed

Conversation

@ayazhafiz
Copy link
Contributor

commented Sep 10, 2019

templateUrls that do not point to actual files are now diagnosed as such
by the Language Service. Support for styleUrls will come in a next PR.

This introduces a utility method getPropertyValueOfType that scans
TypeScript ASTs until a property assignment whose initializer of a
certain type is found. This PR also notices a couple of things that
could be improved in the language-service implementation, such as
enumerating directive properties and unifying common logic, that will be
fixed in future PRs.

Part of #32564.

PR Checklist

Please check if your PR fulfills the following requirements:

PR Type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Documentation content changes
  • angular.io application / infrastructure changes
  • Other... Please describe:

What is the current behavior?

Issue Number: N/A

What is the new behavior?

Does this PR introduce a breaking change?

  • Yes
  • No

Other information

@ayazhafiz ayazhafiz requested a review from kyliau Sep 10, 2019
@ayazhafiz ayazhafiz requested a review from angular/tools-language-service as a code owner Sep 10, 2019
@ayazhafiz ayazhafiz self-assigned this Sep 10, 2019
@googlebot googlebot added the cla: yes label Sep 10, 2019
@ngbot ngbot bot modified the milestone: needsTriage Sep 10, 2019
packages/language-service/src/diagnostics.ts Outdated Show resolved Hide resolved
packages/language-service/src/utils.ts Show resolved Hide resolved
packages/language-service/test/diagnostics_spec.ts Outdated Show resolved Hide resolved
ayazhafiz added 2 commits Sep 10, 2019
`templateUrls` that do not point to actual files are now diagnosed as such
by the Language Service. Support for `styleUrls` will come in a next PR.

This introduces a utility method `getPropertyValueOfType` that scans
TypeScript ASTs until a property assignment whose initializer of a
certain type is found. This PR also notices a couple of things that
could be improved in the language-service implementation, such as
enumerating directive properties and unifying common logic, that will be
fixed in future PRs.

Part of #32564.
…eUrls
@ayazhafiz ayazhafiz force-pushed the ayazhafiz:feat/templateUrl-diagnostics branch from a85f7dd to 412fe88 Sep 12, 2019
@ayazhafiz ayazhafiz requested a review from kyliau Sep 12, 2019
@kyliau
kyliau approved these changes Sep 12, 2019
@ngbot

This comment has been minimized.

Copy link

commented Sep 12, 2019

I see that you just added the PR action: merge label, but the following checks are still failing:
    failure status "ci/angular: size" is failing
    failure status "ci/circleci: legacy-unit-tests-saucelabs" is failing
    failure status "ci/circleci: test" is failing
    failure status "ci/circleci: test_ivy_aot" is failing
    pending missing required status "ci/circleci: publish_snapshot"

If you want your PR to be merged, it has to pass all the CI checks.

If you can't get the PR to a green state due to flakes or broken master, please try rebasing to master and/or restarting the CI job. If that fails and you believe that the issue is not due to your change, please contact the caretaker and ask for help.

…eUrls
@kara kara closed this in adeee0f Sep 12, 2019
arnehoek added a commit to arnehoek/angular that referenced this pull request Sep 26, 2019
…ngular#32586)

`templateUrls` that do not point to actual files are now diagnosed as such
by the Language Service. Support for `styleUrls` will come in a next PR.

This introduces a utility method `getPropertyValueOfType` that scans
TypeScript ASTs until a property assignment whose initializer of a
certain type is found. This PR also notices a couple of things that
could be improved in the language-service implementation, such as
enumerating directive properties and unifying common logic, that will be
fixed in future PRs.

Part of angular#32564.

PR Close angular#32586
@angular-automatic-lock-bot

This comment has been minimized.

Copy link

commented Oct 13, 2019

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Oct 13, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.