diff --git a/package.json b/package.json index 56ba45b462a..9146034cda3 100644 --- a/package.json +++ b/package.json @@ -35,15 +35,15 @@ }, "private": true, "dependencies": { - "@angular/animations": "github:angular/animations-builds#c4f4a34415c8d1d8f0f09384675389aca3dc72ce", + "@angular/animations": "github:angular/animations-builds#ab586a074d1ab824ae3f314d616e6dbf7e28df86", "@angular/cdk": "~9.2.0", - "@angular/common": "github:angular/common-builds#c75d15eb4243f161931fbbd53afec7fe6390847e", - "@angular/compiler": "github:angular/compiler-builds#5dd3740508c0e90a3f920aff00619f9f8474b354", - "@angular/core": "github:angular/core-builds#9b938dca531b62526d663680bbe98a5681d8a68b", - "@angular/forms": "github:angular/forms-builds#7988beae60afa412da41b22b3cc25c1d8987b9c1", + "@angular/common": "github:angular/common-builds#7d748e5dc32e5801b5006e7d1d059a3684c99b0d", + "@angular/compiler": "github:angular/compiler-builds#9153c8721eaf10b707591c55e3653f60029728e6", + "@angular/core": "github:angular/core-builds#338dfbfb64a211f21c590cfd747ae51528132796", + "@angular/forms": "github:angular/forms-builds#d35053d00f8325920098acc3a820462719dd9a10", "@angular/material": "~9.2.0", - "@angular/platform-browser": "github:angular/platform-browser-builds#b0a46fbeacb259f4264f953103f3d62f9f2900ed", - "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#3f1a1b19ff82fb781c1b3130e788ebc608c924dc", + "@angular/platform-browser": "github:angular/platform-browser-builds#f572735d80253d6eab74fddad2c4d2025b17a2a9", + "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#a9d2e20a355e4e63b4bd3e9386d28541d4a3a2df", "@bahmutov/add-typescript-to-cypress": "^2.1.2", "@swimlane/ngx-charts": "^14.0.0", "angular-split": "^3.0.3", @@ -53,6 +53,7 @@ "memo-decorator": "^2.0.1", "ngx-flamegraph": "0.0.7", "rxjs": "~6.5.3", + "semver-dsl": "^1.0.1", "tslib": "^1.10.0", "uuid": "^8.0.0", "webtreemap": "^2.0.1", @@ -62,10 +63,10 @@ "@angular-devkit/build-angular": "github:angular/angular-devkit-build-angular-builds#688da8ed1ba082b4c51b0d7d579730e5de35fa92", "@angular-devkit/build-ng-packagr": "~0.901.0", "@angular/cli": "github:angular/cli-builds#ec62df5479be63e2bb2d2f407a82e1df6b80d648", - "@angular/compiler-cli": "github:angular/compiler-cli-builds#753a5bdbc42e8e4f223abf26c66d96913331b7dc", - "@angular/elements": "github:angular/elements-builds#7e991a7b20b76a680c84ef7f09752d98ebcd3dfe", - "@angular/language-service": "github:angular/language-service-builds#4b766223a595afcbcc6f25536650ae824d418b99", - "@angular/router": "github:angular/router-builds#a1af12a3f822dc22161ef31915c7dc6ed4cc9901", + "@angular/compiler-cli": "github:angular/compiler-cli-builds#b5573fd7917163319da6b9fe6c2b06d226566d8f", + "@angular/elements": "github:angular/elements-builds#710cfb5b0dba72e88564138dd7c98d05b1c95ae4", + "@angular/language-service": "github:angular/language-service-builds#d88cf8689edc25e5012fd0c9b170a2e0018d1334", + "@angular/router": "github:angular/router-builds#57760b8359e38337b26ea85e367ce986ec1a111f", "@types/chrome": "^0.0.106", "@types/clone-deep": "^4.0.1", "@types/jasmine": "~3.5.0", diff --git a/projects/ng-devtools-backend/src/lib/lview-transform.ts b/projects/ng-devtools-backend/src/lib/lview-transform.ts index 52e95e4448d..5c8523fbab1 100644 --- a/projects/ng-devtools-backend/src/lib/lview-transform.ts +++ b/projects/ng-devtools-backend/src/lib/lview-transform.ts @@ -1,8 +1,20 @@ import { ComponentTreeNode, ComponentInstanceType, DirectiveInstanceType } from './component-tree'; import { isCustomElement } from './utils'; import { getDirectiveName } from './highlighter'; +import { SemVerDSL } from 'semver-dsl'; +import { VERSION } from './version'; + +let HEADER_OFFSET = 19; + +const latest = () => { + HEADER_OFFSET = 20; +}; + +SemVerDSL(VERSION).gte('10.0.0', latest); + +// In g3 everyone has version 0.0.0, using HEAD from master. +SemVerDSL(VERSION).eq('0.0.0', latest); -const HEADER_OFFSET = 19; const TYPE = 1; const ELEMENT = 0; const LVIEW_TVIEW = 1; @@ -76,7 +88,9 @@ const getNode = (lView: any, data: any, idx: number): ComponentTreeNode => { const extractNodes = (lViewOrLContainer: any, nodes: ComponentTreeNode[] = []): ComponentTreeNode[] => { if (isLContainer(lViewOrLContainer)) { for (let i = 9; i < lViewOrLContainer.length; i++) { - extractNodes(lViewOrLContainer[i], nodes); + if (lViewOrLContainer[i]) { + extractNodes(lViewOrLContainer[i], nodes); + } } return nodes; } diff --git a/projects/ng-devtools-backend/src/lib/version.ts b/projects/ng-devtools-backend/src/lib/version.ts new file mode 100644 index 00000000000..a888562c4ca --- /dev/null +++ b/projects/ng-devtools-backend/src/lib/version.ts @@ -0,0 +1,11 @@ +const versionElement = document.querySelector('[ng-version]'); +const versionRe = /(\d+\.\d+\.\d+)/; + +const defaultVersion = '0.0.0'; +let version = defaultVersion; +if (versionElement) { + version = versionElement.getAttribute('ng-version') ?? defaultVersion; + version = (version.match(versionRe) ?? [''])[0] ?? defaultVersion; +} + +export const VERSION = version; diff --git a/yarn.lock b/yarn.lock index 5de9bc1611c..d89264fc5d7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11,16 +11,14 @@ rxjs "6.5.4" "@angular-devkit/architect@github:angular/angular-devkit-architect-builds#1d2e7bba0": - version "0.1000.0-next.3+24.1d2e7bb" - uid "8f6fbc3f744585c00ca14de2d3ad7ec1e7f85bea" + version "0.1000.0-next.3" resolved "https://codeload.github.com/angular/angular-devkit-architect-builds/tar.gz/8f6fbc3f744585c00ca14de2d3ad7ec1e7f85bea" dependencies: "@angular-devkit/core" "github:angular/angular-devkit-core-builds#1d2e7bba0" rxjs "6.5.5" "@angular-devkit/build-angular@github:angular/angular-devkit-build-angular-builds#688da8ed1ba082b4c51b0d7d579730e5de35fa92": - version "0.1000.0-next.3+24.1d2e7bb" - uid "688da8ed1ba082b4c51b0d7d579730e5de35fa92" + version "0.1000.0-next.3" resolved "https://codeload.github.com/angular/angular-devkit-build-angular-builds/tar.gz/688da8ed1ba082b4c51b0d7d579730e5de35fa92" dependencies: "@angular-devkit/architect" "github:angular/angular-devkit-architect-builds#1d2e7bba0" @@ -97,8 +95,7 @@ rxjs "6.5.4" "@angular-devkit/build-optimizer@github:angular/angular-devkit-build-optimizer-builds#1d2e7bba0": - version "0.1000.0-next.3+24.1d2e7bb" - uid ee981e1378660498e0d23e6f3bc60884b3b8847b + version "0.1000.0-next.3" resolved "https://codeload.github.com/angular/angular-devkit-build-optimizer-builds/tar.gz/ee981e1378660498e0d23e6f3bc60884b3b8847b" dependencies: loader-utils "2.0.0" @@ -108,8 +105,7 @@ webpack-sources "1.4.3" "@angular-devkit/build-webpack@github:angular/angular-devkit-build-webpack-builds#1d2e7bba0": - version "0.1000.0-next.3+24.1d2e7bb" - uid "35c21af505e2ff63fefe456e67513d669eb7fb43" + version "0.1000.0-next.3" resolved "https://codeload.github.com/angular/angular-devkit-build-webpack-builds/tar.gz/35c21af505e2ff63fefe456e67513d669eb7fb43" dependencies: "@angular-devkit/architect" "github:angular/angular-devkit-architect-builds#1d2e7bba0" @@ -139,8 +135,7 @@ source-map "0.7.3" "@angular-devkit/core@github:angular/angular-devkit-core-builds#1d2e7bba0": - version "10.0.0-next.3+24.1d2e7bb" - uid "9ef4eeb1cbe4fe3e3abff44fc6ad39441915a533" + version "10.0.0-next.3" resolved "https://codeload.github.com/angular/angular-devkit-core-builds/tar.gz/9ef4eeb1cbe4fe3e3abff44fc6ad39441915a533" dependencies: ajv "6.12.2" @@ -158,18 +153,16 @@ rxjs "6.4.0" "@angular-devkit/schematics@github:angular/angular-devkit-schematics-builds#1d2e7bba0": - version "10.0.0-next.3+24.1d2e7bb" - uid "3e02ac02fc5e9bd056640f570ac769f054f9d47d" + version "10.0.0-next.3" resolved "https://codeload.github.com/angular/angular-devkit-schematics-builds/tar.gz/3e02ac02fc5e9bd056640f570ac769f054f9d47d" dependencies: "@angular-devkit/core" "github:angular/angular-devkit-core-builds#1d2e7bba0" ora "4.0.4" rxjs "6.5.5" -"@angular/animations@github:angular/animations-builds#c4f4a34415c8d1d8f0f09384675389aca3dc72ce": - version "10.0.0-next.3+37.sha-1d9375d" - uid c4f4a34415c8d1d8f0f09384675389aca3dc72ce - resolved "https://codeload.github.com/angular/animations-builds/tar.gz/c4f4a34415c8d1d8f0f09384675389aca3dc72ce" +"@angular/animations@github:angular/animations-builds#ab586a074d1ab824ae3f314d616e6dbf7e28df86": + version "10.0.0-next.4" + resolved "https://codeload.github.com/angular/animations-builds/tar.gz/ab586a074d1ab824ae3f314d616e6dbf7e28df86" "@angular/cdk@~9.2.0": version "9.2.0" @@ -179,8 +172,7 @@ parse5 "^5.0.0" "@angular/cli@github:angular/cli-builds#ec62df5479be63e2bb2d2f407a82e1df6b80d648": - version "10.0.0-next.3+24.1d2e7bb" - uid ec62df5479be63e2bb2d2f407a82e1df6b80d648 + version "10.0.0-next.3" resolved "https://codeload.github.com/angular/cli-builds/tar.gz/ec62df5479be63e2bb2d2f407a82e1df6b80d648" dependencies: "@angular-devkit/architect" "github:angular/angular-devkit-architect-builds#1d2e7bba0" @@ -204,15 +196,13 @@ universal-analytics "0.4.20" uuid "7.0.3" -"@angular/common@github:angular/common-builds#c75d15eb4243f161931fbbd53afec7fe6390847e": - version "10.0.0-next.3+37.sha-1d9375d" - uid c75d15eb4243f161931fbbd53afec7fe6390847e - resolved "https://codeload.github.com/angular/common-builds/tar.gz/c75d15eb4243f161931fbbd53afec7fe6390847e" +"@angular/common@github:angular/common-builds#7d748e5dc32e5801b5006e7d1d059a3684c99b0d": + version "10.0.0-next.4" + resolved "https://codeload.github.com/angular/common-builds/tar.gz/7d748e5dc32e5801b5006e7d1d059a3684c99b0d" -"@angular/compiler-cli@github:angular/compiler-cli-builds#753a5bdbc42e8e4f223abf26c66d96913331b7dc": - version "10.0.0-next.3+37.sha-1d9375d" - uid "753a5bdbc42e8e4f223abf26c66d96913331b7dc" - resolved "https://codeload.github.com/angular/compiler-cli-builds/tar.gz/753a5bdbc42e8e4f223abf26c66d96913331b7dc" +"@angular/compiler-cli@github:angular/compiler-cli-builds#b5573fd7917163319da6b9fe6c2b06d226566d8f": + version "10.0.0-next.4" + resolved "https://codeload.github.com/angular/compiler-cli-builds/tar.gz/b5573fd7917163319da6b9fe6c2b06d226566d8f" dependencies: canonical-path "1.0.0" chokidar "^3.0.0" @@ -227,50 +217,42 @@ sourcemap-codec "^1.4.8" yargs "15.3.0" -"@angular/compiler@github:angular/compiler-builds#5dd3740508c0e90a3f920aff00619f9f8474b354": - version "10.0.0-next.3+37.sha-1d9375d" - uid "5dd3740508c0e90a3f920aff00619f9f8474b354" - resolved "https://codeload.github.com/angular/compiler-builds/tar.gz/5dd3740508c0e90a3f920aff00619f9f8474b354" +"@angular/compiler@github:angular/compiler-builds#9153c8721eaf10b707591c55e3653f60029728e6": + version "10.0.0-next.4" + resolved "https://codeload.github.com/angular/compiler-builds/tar.gz/9153c8721eaf10b707591c55e3653f60029728e6" -"@angular/core@github:angular/core-builds#9b938dca531b62526d663680bbe98a5681d8a68b": - version "10.0.0-next.3+37.sha-1d9375d" - uid "9b938dca531b62526d663680bbe98a5681d8a68b" - resolved "https://codeload.github.com/angular/core-builds/tar.gz/9b938dca531b62526d663680bbe98a5681d8a68b" +"@angular/core@github:angular/core-builds#338dfbfb64a211f21c590cfd747ae51528132796": + version "10.0.0-next.4" + resolved "https://codeload.github.com/angular/core-builds/tar.gz/338dfbfb64a211f21c590cfd747ae51528132796" -"@angular/elements@github:angular/elements-builds#7e991a7b20b76a680c84ef7f09752d98ebcd3dfe": - version "10.0.0-next.3+37.sha-1d9375d" - uid "7e991a7b20b76a680c84ef7f09752d98ebcd3dfe" - resolved "https://codeload.github.com/angular/elements-builds/tar.gz/7e991a7b20b76a680c84ef7f09752d98ebcd3dfe" +"@angular/elements@github:angular/elements-builds#710cfb5b0dba72e88564138dd7c98d05b1c95ae4": + version "10.0.0-next.4" + resolved "https://codeload.github.com/angular/elements-builds/tar.gz/710cfb5b0dba72e88564138dd7c98d05b1c95ae4" -"@angular/forms@github:angular/forms-builds#7988beae60afa412da41b22b3cc25c1d8987b9c1": - version "10.0.0-next.3+37.sha-1d9375d" - uid "7988beae60afa412da41b22b3cc25c1d8987b9c1" - resolved "https://codeload.github.com/angular/forms-builds/tar.gz/7988beae60afa412da41b22b3cc25c1d8987b9c1" +"@angular/forms@github:angular/forms-builds#d35053d00f8325920098acc3a820462719dd9a10": + version "10.0.0-next.4" + resolved "https://codeload.github.com/angular/forms-builds/tar.gz/d35053d00f8325920098acc3a820462719dd9a10" -"@angular/language-service@github:angular/language-service-builds#4b766223a595afcbcc6f25536650ae824d418b99": - version "10.0.0-next.3+37.sha-1d9375d" - uid "4b766223a595afcbcc6f25536650ae824d418b99" - resolved "https://codeload.github.com/angular/language-service-builds/tar.gz/4b766223a595afcbcc6f25536650ae824d418b99" +"@angular/language-service@github:angular/language-service-builds#d88cf8689edc25e5012fd0c9b170a2e0018d1334": + version "10.0.0-next.4" + resolved "https://codeload.github.com/angular/language-service-builds/tar.gz/d88cf8689edc25e5012fd0c9b170a2e0018d1334" "@angular/material@~9.2.0": version "9.2.0" resolved "https://registry.yarnpkg.com/@angular/material/-/material-9.2.0.tgz#1b6f0a2e115f93885d7fc2dc4b258d8c9cf6821f" integrity sha512-KKzEIVh6/m56m+Ao8p4PK0SyEr0574l3VP2swj1qPag3u+FYgemmXCGTaChrKdDsez+zeTCPXImBGXzE6NQ80Q== -"@angular/platform-browser-dynamic@github:angular/platform-browser-dynamic-builds#3f1a1b19ff82fb781c1b3130e788ebc608c924dc": - version "10.0.0-next.3+37.sha-1d9375d" - uid "3f1a1b19ff82fb781c1b3130e788ebc608c924dc" - resolved "https://codeload.github.com/angular/platform-browser-dynamic-builds/tar.gz/3f1a1b19ff82fb781c1b3130e788ebc608c924dc" +"@angular/platform-browser-dynamic@github:angular/platform-browser-dynamic-builds#a9d2e20a355e4e63b4bd3e9386d28541d4a3a2df": + version "10.0.0-next.4" + resolved "https://codeload.github.com/angular/platform-browser-dynamic-builds/tar.gz/a9d2e20a355e4e63b4bd3e9386d28541d4a3a2df" -"@angular/platform-browser@github:angular/platform-browser-builds#b0a46fbeacb259f4264f953103f3d62f9f2900ed": - version "10.0.0-next.3+37.sha-1d9375d" - uid b0a46fbeacb259f4264f953103f3d62f9f2900ed - resolved "https://codeload.github.com/angular/platform-browser-builds/tar.gz/b0a46fbeacb259f4264f953103f3d62f9f2900ed" +"@angular/platform-browser@github:angular/platform-browser-builds#f572735d80253d6eab74fddad2c4d2025b17a2a9": + version "10.0.0-next.4" + resolved "https://codeload.github.com/angular/platform-browser-builds/tar.gz/f572735d80253d6eab74fddad2c4d2025b17a2a9" -"@angular/router@github:angular/router-builds#a1af12a3f822dc22161ef31915c7dc6ed4cc9901": - version "10.0.0-next.3+37.sha-1d9375d" - uid a1af12a3f822dc22161ef31915c7dc6ed4cc9901 - resolved "https://codeload.github.com/angular/router-builds/tar.gz/a1af12a3f822dc22161ef31915c7dc6ed4cc9901" +"@angular/router@github:angular/router-builds#57760b8359e38337b26ea85e367ce986ec1a111f": + version "10.0.0-next.4" + resolved "https://codeload.github.com/angular/router-builds/tar.gz/57760b8359e38337b26ea85e367ce986ec1a111f" "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.8.3": version "7.8.3" @@ -1176,8 +1158,7 @@ schema-utils "^2.6.4" "@ngtools/webpack@github:angular/ngtools-webpack-builds#1d2e7bba0": - version "10.0.0-next.3+24.1d2e7bb" - uid a7f00a1017aa7d9918ba5d0a809feae3f6d69d57 + version "10.0.0-next.3" resolved "https://codeload.github.com/angular/ngtools-webpack-builds/tar.gz/a7f00a1017aa7d9918ba5d0a809feae3f6d69d57" dependencies: "@angular-devkit/core" "github:angular/angular-devkit-core-builds#1d2e7bba0" @@ -1237,16 +1218,14 @@ "@angular-devkit/schematics" "8.0.0" "@schematics/angular@github:angular/schematics-angular-builds#1d2e7bba0": - version "10.0.0-next.3+24.1d2e7bb" - uid "66f1fbafccefe2dba25d7911a45f4f8fb7a261e6" + version "10.0.0-next.3" resolved "https://codeload.github.com/angular/schematics-angular-builds/tar.gz/66f1fbafccefe2dba25d7911a45f4f8fb7a261e6" dependencies: "@angular-devkit/core" "github:angular/angular-devkit-core-builds#1d2e7bba0" "@angular-devkit/schematics" "github:angular/angular-devkit-schematics-builds#1d2e7bba0" "@schematics/update@github:angular/schematics-update-builds#1d2e7bba0": - version "0.1000.0-next.3+24.1d2e7bb" - uid c951944d7cb0a3b1c07709df1a916d4ce8de6886 + version "0.1000.0-next.3" resolved "https://codeload.github.com/angular/schematics-update-builds/tar.gz/c951944d7cb0a3b1c07709df1a916d4ce8de6886" dependencies: "@angular-devkit/core" "github:angular/angular-devkit-core-builds#1d2e7bba0"