Skip to content

Commit b30cf6e

Browse files
devversionjelbourn
authored andcommitted
refactor(schematics): gracefully handle non statically analyzable values (#13143)
Currently we just treat every value of `@Component#template` or `@Component#styles` as `ts.StringLiteral`. This works in the most cases, but there can be also developers that inline their template using some specific Webpack loaders or variables.
1 parent 84ae42c commit b30cf6e

12 files changed

+87
-54
lines changed

src/lib/schematics/update/rules/attribute-selectors/attributeSelectorsStylesheetRule.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export class Walker extends ComponentWalker {
4444
this._reportExtraStylesheetFiles();
4545
}
4646

47-
visitInlineStylesheet(literal: ts.StringLiteral) {
47+
visitInlineStylesheet(literal: ts.StringLiteralLike) {
4848
this._createReplacementsForContent(literal, literal.getText())
4949
.forEach(data => addFailureAtReplacement(this, data.failureMessage, data.replacement));
5050
}

src/lib/schematics/update/rules/attribute-selectors/attributeSelectorsTemplateRule.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export class Walker extends ComponentWalker {
3434
/** Change data that upgrades to the specified target version. */
3535
data = getChangesForTarget(this.getOptions()[0], attributeSelectors);
3636

37-
visitInlineTemplate(template: ts.StringLiteral) {
37+
visitInlineTemplate(template: ts.StringLiteralLike) {
3838
this._createReplacementsForContent(template, template.getText())
3939
.forEach(data => addFailureAtReplacement(this, data.failureMessage, data.replacement));
4040
}

src/lib/schematics/update/rules/checkTemplateMiscRule.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export class Rule extends Rules.AbstractRule {
2626

2727
export class Walker extends ComponentWalker {
2828

29-
visitInlineTemplate(template: ts.StringLiteral) {
29+
visitInlineTemplate(template: ts.StringLiteralLike) {
3030
this._createFailuresForContent(template, template.getText())
3131
.forEach(data => this.addFailureFromStartToEnd(data.start, data.end, data.message));
3232
}

src/lib/schematics/update/rules/css-selectors/cssSelectorsStylesheetRule.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export class Walker extends ComponentWalker {
4343
this._reportExtraStylesheetFiles();
4444
}
4545

46-
visitInlineStylesheet(literal: ts.StringLiteral) {
46+
visitInlineStylesheet(literal: ts.StringLiteralLike) {
4747
this._createReplacementsForContent(literal, literal.getText())
4848
.forEach(data => addFailureAtReplacement(this, data.failureMessage, data.replacement));
4949
}

src/lib/schematics/update/rules/css-selectors/cssSelectorsTemplateRule.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export class Walker extends ComponentWalker {
3434
/** Change data that upgrades to the specified target version. */
3535
data = getChangesForTarget(this.getOptions()[0], cssSelectors);
3636

37-
visitInlineTemplate(template: ts.StringLiteral) {
37+
visitInlineTemplate(template: ts.StringLiteralLike) {
3838
this._createReplacementsForContent(template, template.getText())
3939
.forEach(data => addFailureAtReplacement(this, data.failureMessage, data.replacement));
4040
}

src/lib/schematics/update/rules/element-selectors/elementSelectorsStylesheetRule.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export class Walker extends ComponentWalker {
4343
this._reportExtraStylesheetFiles();
4444
}
4545

46-
visitInlineStylesheet(literal: ts.StringLiteral) {
46+
visitInlineStylesheet(literal: ts.StringLiteralLike) {
4747
this._createReplacementsForContent(literal, literal.getText())
4848
.forEach(data => addFailureAtReplacement(this, data.failureMessage, data.replacement));
4949
}

src/lib/schematics/update/rules/element-selectors/elementSelectorsTemplateRule.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export class Walker extends ComponentWalker {
3434
/** Change data that upgrades to the specified target version. */
3535
data = getChangesForTarget(this.getOptions()[0], elementSelectors);
3636

37-
visitInlineTemplate(template: ts.StringLiteral) {
37+
visitInlineTemplate(template: ts.StringLiteralLike) {
3838
this._createReplacementsForContent(template, template.getText())
3939
.forEach(data => addFailureAtReplacement(this, data.failureMessage, data.replacement));
4040
}

src/lib/schematics/update/rules/input-names/inputNamesStylesheetRule.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export class Walker extends ComponentWalker {
4848
this._reportExtraStylesheetFiles();
4949
}
5050

51-
visitInlineStylesheet(literal: ts.StringLiteral) {
51+
visitInlineStylesheet(literal: ts.StringLiteralLike) {
5252
this._createReplacementsForContent(literal, literal.getText())
5353
.forEach(data => addFailureAtReplacement(this, data.failureMessage, data.replacement));
5454
}

src/lib/schematics/update/rules/input-names/inputNamesTemplateRule.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export class Walker extends ComponentWalker {
3434
/** Change data that upgrades to the specified target version. */
3535
data = getChangesForTarget(this.getOptions()[0], inputNames);
3636

37-
visitInlineTemplate(template: ts.StringLiteral) {
37+
visitInlineTemplate(template: ts.StringLiteralLike) {
3838
this._createReplacementsForContent(template, template.getText())
3939
.forEach(data => addFailureAtReplacement(this, data.failureMessage, data.replacement));
4040
}

src/lib/schematics/update/rules/output-names/outputNamesTemplateRule.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export class Walker extends ComponentWalker {
3434
/** Change data that upgrades to the specified target version. */
3535
data = getChangesForTarget(this.getOptions()[0], outputNames);
3636

37-
visitInlineTemplate(template: ts.StringLiteral) {
37+
visitInlineTemplate(template: ts.StringLiteralLike) {
3838
this._createReplacementsForContent(template, template.getText())
3939
.forEach(data => addFailureAtReplacement(this, data.failureMessage, data.replacement));
4040
}

0 commit comments

Comments
 (0)