Skip to content

fix: warnings for short imports should be shown correctly #4434

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

Merged
merged 2 commits into from
Mar 15, 2019

Conversation

rosen-vladimirov
Copy link
Contributor

@rosen-vladimirov rosen-vladimirov commented Mar 13, 2019

In case you have a minified content or just several statements on the same line, we may print you a warning that you have short imports, in cases where you do not have such.
Fix this by splitting the content by new line and by ; after that. This way, in case you have multiple statements on the same line, we'll separate them and should be able to check them correctly.
Also, ensure node_modules of the application are not analyzed.

NOTE: Currently in case you have a multiline string, like:

const lodash = require("lodash");console.log(`this is
multiline string
that has require "application" in it
and ends somewhere else`);

We'll detect the that has require "application" in it line as short import. Add test to show that this is the intended behavior at the moment, as fixing it requires additional complex logic without much benefit.

PR Checklist

What is the current behavior?

CLI prints warnings for short imports when you have minifed code.

What is the new behavior?

CLI tries to print short imports correctly, even when you have minified code.

Fixes issue #4435

In case you have a minified content or just several statements on the same line, we may print you a warning that you have short imports, in cases where you do not have such.
Fix this by splitting the content by new line and by `;` after that. This way, in case you have multiple statements on the same line, we'll separate them and should be able to check them correctly.
Also, ensure `node_modules` of the application are not analyzed.

NOTE: Currently in case you have a multiline string, like:
```
const lodash = require("lodash");console.log(`this is
multiline string
that has require "application" in it
and ends somewhere else`);
```
We'll detect the `that has require "application" in it` line as short import. Add test to show that this is the intended behavior at the moment, as fixing it requires additional complex logic without much benefit.
@@ -132,6 +141,12 @@ export class ProjectDataService implements IProjectDataService {
}

if (fstat.isDirectory()) {
if (filePath === pathToProjectNodeModules) {
// we do not want to get the files from node_modules directory of the project.
// We'll get here only when you have nsconfig.json with appDirectoryPath set to "."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

appPath 😺

@dtopuzov
Copy link
Contributor

test

1 similar comment
@miroslavaivanova
Copy link
Contributor

test

@ghost ghost removed the new PR label Mar 15, 2019
@ghost ghost added the new PR label Mar 15, 2019
@miroslavaivanova
Copy link
Contributor

test package_version#latest

@ghost ghost assigned Fatme Mar 15, 2019
@Fatme
Copy link
Contributor

Fatme commented Mar 15, 2019

test package_version#latest

@Fatme Fatme merged commit 465b806 into release Mar 15, 2019
@Fatme Fatme deleted the vladimirov/fix-short-imports branch March 15, 2019 10:42
@ghost ghost removed the new PR label Mar 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants