-
Notifications
You must be signed in to change notification settings - Fork 523
Closed
Labels
Can Close?We will close this in 30 days if there is no further activityWe will close this in 30 days if there is no further activitybug
Description
🐞 bug report
Affected Rule
ts_library
Is this a regression?
Uncertain if this is a regression.
Description
When using ts_library on very simple module that imports and make use of a method in ngrx, tsc fails to infer the return type. This contrasts with the vanilla tsc which successfully infers the type and builds the file.🔬 Minimal Reproduction
https://github.com/stephanwlee/bazel-ngc-tsc-bad
Repro steps are detailed in the README.
Note that I am using Bazel 0.26.1.
🔥 Exception or Error
bad-ngc/BUILD.bazel:3:1: Compiling TypeScript (devmode) //:bug failed (Exit 1) tsc_wrapped failed: error executing command bazel-out/host/bin/external/npm/@bazel/typescript/bin/tsc_wrapped @@bazel-out/k8-fastbuild/bin/bug_es5_tsconfig.json
Use --sandbox_debug to see verbose messages from the sandbox
src/core.actions.ts:17:14 - error TS2742: The inferred type of 'meow' cannot be named without a reference to '../external/npm/node_modules/@ngrx/store/src/models'. This is likely not portable. A type annotation is necessary.
17 export const meow = createAction('[Core] wow');
~~~~
src/core.actions.ts:17:14 - error TS2742: The inferred type of 'meow' cannot be named without a reference to '../external/npm/node_modules/@ngrx/store/store'. This is likely not portable. A type annotation is necessary.
17 export const meow = createAction('[Core] wow');
~~~~
src/core.reducers.ts:52:14 - error TS2742: The inferred type of 'getActivePlugin' cannot be named without a reference to '../external/npm/node_modules/@ngrx/store/src/selector'. This is likely not portable. A type annotation is necessary.
52 export const getActivePlugin = createSelector(
~~~~~~~~~~~~~~~
src/core.reducers.ts:52:14 - error TS2742: The inferred type of 'getActivePlugin' cannot be named without a reference to '../external/npm/node_modules/@ngrx/store/store'. This is likely not portable. A type annotation is necessary.
52 export const getActivePlugin = createSelector(
~~~~~~~~~~~~~~~
Target //:bug failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 11.643s, Critical Path: 3.50s
INFO: 0 processes.
FAILED: Build did NOT complete successfully
🌍 Your Environment
Operating System:
DISTRIB_DESCRIPTION="Debian GNU/Linux rodete (upgraded from: Ubuntu 14.04.5 LTS)"
Output of bazel version
:
Build label: 0.26.1
Build time: Thu Jun 6 11:05:05 2019 (1559819105)
Build timestamp: 1559819105
Build timestamp as int: 1559819105
Rules version (SHA):
https://github.com/bazelbuild/rules_nodejs/releases/download/0.34.0/rules_nodejs-0.34.0.tar.gz
Anything else relevant?
I poked around tsc and tsc_wrapped and inspected which files are being traversed (printed modules that are being resolved by compilerHost). Nothing was out of ordinary for both versions -- i.e., tsc_wrapped also traversed through the typed dependency of @ngrx/store (store/typing.d.ts, store/index.d.ts, ... store/src/model.d.ts)
IljaKroonen, tony-scio, nathanhleung, flolu, m-s-sh and 4 morebitofsky and vpanta
Metadata
Metadata
Assignees
Labels
Can Close?We will close this in 30 days if there is no further activityWe will close this in 30 days if there is no further activitybug