Skip to content
This repository was archived by the owner on Oct 24, 2021. It is now read-only.

Commit c33fc1c

Browse files
committed
Fix import paths that are now resolved as of Analyzer 2.5.0.
When we analyze a package's Git repo, our dependencies are installed to "<repo>/bower_components". However, when this package is itself installed as a dependency, our own dependencies will instead be siblings, one directory up the tree. Analyzer (since 2.5.0) will set an import feature's URL to the resolved dependency path as discovered on disk. An import for "../foo/foo.html" will be resolved to "bower_components/foo/foo.html". Transform the URL back to the style that will work when this package is installed as a dependency.
1 parent 8af6ddf commit c33fc1c

File tree

8 files changed

+28
-17
lines changed

8 files changed

+28
-17
lines changed

src/gen-ts.ts

+13-2
Original file line numberDiff line numberDiff line change
@@ -321,8 +321,19 @@ function handleImport(feature: analyzer.Import, tsDoc: ts.Document) {
321321
if (!feature.url) {
322322
return;
323323
}
324-
tsDoc.referencePaths.add(path.relative(
325-
path.dirname(tsDoc.path), makeDeclarationsFilename(feature.url)));
324+
// When we analyze a package's Git repo, our dependencies are installed to
325+
// "<repo>/bower_components". However, when this package is itself installed
326+
// as a dependency, our own dependencies will instead be siblings, one
327+
// directory up the tree.
328+
//
329+
// Analyzer (since 2.5.0) will set an import feature's URL to the resolved
330+
// dependency path as discovered on disk. An import for "../foo/foo.html"
331+
// will be resolved to "bower_components/foo/foo.html". Transform the URL
332+
// back to the style that will work when this package is installed as a
333+
// dependency.
334+
const url = feature.url.replace(/^(bower_components|node_modules)\//, '../');
335+
tsDoc.referencePaths.add(
336+
path.relative(path.dirname(tsDoc.path), makeDeclarationsFilename(url)));
326337
}
327338

328339
/**

src/test/goldens/paper-behaviors/paper-button-behavior.d.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
/// <reference path="bower_components/polymer/polymer.d.ts" />
2-
/// <reference path="bower_components/iron-behaviors/iron-button-state.d.ts" />
1+
/// <reference path="../polymer/polymer.d.ts" />
2+
/// <reference path="../iron-behaviors/iron-button-state.d.ts" />
33
/// <reference path="paper-ripple-behavior.d.ts" />
44

55
declare namespace Polymer {

src/test/goldens/paper-behaviors/paper-checked-element-behavior.d.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
/// <reference path="bower_components/polymer/polymer.d.ts" />
2-
/// <reference path="bower_components/iron-checked-element-behavior/iron-checked-element-behavior.d.ts" />
1+
/// <reference path="../polymer/polymer.d.ts" />
2+
/// <reference path="../iron-checked-element-behavior/iron-checked-element-behavior.d.ts" />
33
/// <reference path="paper-inky-focus-behavior.d.ts" />
44

55
declare namespace Polymer {

src/test/goldens/paper-behaviors/paper-inky-focus-behavior.d.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
/// <reference path="bower_components/polymer/polymer.d.ts" />
2-
/// <reference path="bower_components/iron-behaviors/iron-button-state.d.ts" />
1+
/// <reference path="../polymer/polymer.d.ts" />
2+
/// <reference path="../iron-behaviors/iron-button-state.d.ts" />
33
/// <reference path="paper-ripple-behavior.d.ts" />
44

55
declare namespace Polymer {

src/test/goldens/paper-behaviors/paper-ripple-behavior.d.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
/// <reference path="bower_components/polymer/polymer.d.ts" />
2-
/// <reference path="bower_components/iron-behaviors/iron-button-state.d.ts" />
3-
/// <reference path="bower_components/paper-ripple/paper-ripple.d.ts" />
1+
/// <reference path="../polymer/polymer.d.ts" />
2+
/// <reference path="../iron-behaviors/iron-button-state.d.ts" />
3+
/// <reference path="../paper-ripple/paper-ripple.d.ts" />
44

55
declare namespace Polymer {
66

src/test/goldens/paper-button/paper-button.d.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
/// <reference path="bower_components/polymer/polymer.d.ts" />
2-
/// <reference path="bower_components/iron-flex-layout/iron-flex-layout.d.ts" />
3-
/// <reference path="bower_components/paper-behaviors/paper-button-behavior.d.ts" />
4-
/// <reference path="bower_components/paper-styles/element-styles/paper-material-styles.d.ts" />
1+
/// <reference path="../polymer/polymer.d.ts" />
2+
/// <reference path="../iron-flex-layout/iron-flex-layout.d.ts" />
3+
/// <reference path="../paper-behaviors/paper-button-behavior.d.ts" />
4+
/// <reference path="../paper-styles/element-styles/paper-material-styles.d.ts" />
55

66
/**
77
* Material design: [Buttons](https://www.google.com/design/spec/components/buttons.html)

src/test/goldens/polymer/lib/elements/custom-style.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/// <reference path="../../bower_components/shadycss/custom-style-interface.d.ts" />
1+
/// <reference path="../../../shadycss/custom-style-interface.d.ts" />
22
/// <reference path="../utils/style-gather.d.ts" />
33

44
declare namespace Polymer {

src/test/goldens/polymer/lib/legacy/legacy-element-mixin.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/// <reference path="../../bower_components/shadycss/apply-shim.d.ts" />
1+
/// <reference path="../../../shadycss/apply-shim.d.ts" />
22
/// <reference path="../mixins/element-mixin.d.ts" />
33
/// <reference path="../mixins/gesture-event-listeners.d.ts" />
44
/// <reference path="../mixins/dir-mixin.d.ts" />

0 commit comments

Comments
 (0)