feat(devtools): adding firefox support for devtools (#44952)

Adding Firefox support for Angular DevTools.

PR Close #44952
This commit is contained in:
Sumit Arora 2022-02-02 14:52:36 -05:00 committed by Jessica Janiuk
parent eb2f4492eb
commit e231d3c878
6 changed files with 105 additions and 17 deletions

View file

@ -12,7 +12,7 @@ const semver = require('semver');
const {writeFileSync, readFileSync} = require('fs');
const {join} = require('path');
const MANIFEST_PATH = join(__dirname, 'src/manifest.json');
const MANIFEST_PATH = join(__dirname, 'src/manifest/manifest.chrome.json');
const manifest = JSON.parse(readFileSync(MANIFEST_PATH).toString());

View file

@ -283,22 +283,25 @@ esbuild(
exports_files(["index.html"])
filegroup(
name = "prod_app_static_files",
[filegroup(
name = "prod_app_static_files_" + build_target,
srcs = [
":index.html",
":manifest.json",
"//devtools/projects/shell-chrome/src/manifest/manifest.%s.json" % build_target,
":shell_chrome_styles",
"//packages/zone.js/bundles:zone.umd.js",
],
)
) for build_target in [
"chrome",
"firefox",
]]
pkg_web(
name = "prodapp",
[pkg_web(
name = "prodapp_" + build_target,
srcs = [
":bundle",
":devtools_bundle",
":prod_app_static_files",
":prod_app_static_files_%s" % build_target,
"//devtools/projects/ng-devtools/src/lib/images",
"//devtools/projects/shell-chrome/src:devtools.html",
"//devtools/projects/shell-chrome/src/app:backend_bundle",
@ -306,10 +309,14 @@ pkg_web(
"//devtools/projects/shell-chrome/src/app:content_script_bundle",
"//devtools/projects/shell-chrome/src/app:ng_validate_bundle",
"//devtools/projects/shell-chrome/src/assets",
"//devtools/projects/shell-chrome/src/manifest",
"//devtools/projects/shell-chrome/src/popups",
],
additional_root_paths = [
"projects/ng-devtools/src/lib",
],
substitutions = {"BUILD_SCM_COMMIT_SHA": "{BUILD_SCM_COMMIT_SHA}"},
)
) for build_target in [
"chrome",
"firefox",
]]

View file

@ -0,0 +1,6 @@
package(default_visibility = ["//visibility:public"])
filegroup(
name = "manifest",
srcs = glob(["*.json"]),
)

View file

@ -16,17 +16,31 @@
"default_popup": "popups/not-angular.html"
},
"devtools_page": "devtools.html",
"web_accessible_resources": ["app/backend_bundle.js", "devtools.html"],
"web_accessible_resources": [
"app/backend_bundle.js",
"devtools.html"
],
"background": {
"scripts": ["app/background_bundle.js"],
"scripts": [
"app/background_bundle.js"
],
"persistent": false
},
"permissions": ["activeTab", "http://*/*", "https://*/*", "file:///*"],
"permissions": [
"activeTab",
"http://*/*",
"https://*/*",
"file:///*"
],
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["app/ng_validate_bundle.js"],
"matches": [
"<all_urls>"
],
"js": [
"app/ng_validate_bundle.js"
],
"run_at": "document_idle"
}
]
}
}

View file

@ -0,0 +1,60 @@
{
"manifest_version": 2,
"short_name": "Angular DevTools",
"name": "Angular DevTools",
"description": "Angular DevTools extends Chrome DevTools adding Angular specific debugging and profiling capabilities.",
"version": "1.0.4",
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'",
"icons": {
"16": "assets/icon16.png",
"48": "assets/icon48.png",
"128": "assets/icon128.png"
},
"browser_action": {
"default_icon": {
"16": "assets/icon16.png",
"48": "assets/icon48.png",
"128": "assets/icon128.png"
},
"default_popup": "popups/not-angular.html",
"browser_style": true
},
"devtools_page": "devtools.html",
"web_accessible_resources": [
"backend.js",
"runtime.js",
"devtools.html"
],
"background": {
"scripts": [
"background.js",
"runtime.js"
]
},
"permissions": [
"activeTab",
"http://*/*",
"https://*/*",
"file:///*"
],
"content_scripts": [
{
"matches": [
"<all_urls>"
],
"js": [
"runtime.js"
],
"run_at": "document_start"
},
{
"matches": [
"<all_urls>"
],
"js": [
"ng-validate.js"
],
"run_at": "document_idle"
}
]
}

View file

@ -37,7 +37,8 @@
"ts-circular-deps:approve": "yarn -s ng-dev ts-circular-deps approve --config ./packages/circular-deps-test.conf.js",
"check-tooling-setup": "yarn tsc --project .ng-dev/tsconfig.json",
"devtools:devserver": "ibazel run //devtools/src:devserver",
"devtools:build:chrome": "bazelisk build --config snapshot //devtools/projects/shell-chrome/src:prodapp",
"devtools:build:chrome": "bazelisk build --config snapshot //devtools/projects/shell-chrome/src:prodapp_chrome",
"devtools:build:firefox": "bazelisk build --config snapshot //devtools/projects/shell-chrome/src:prodapp_firefox",
"devtools:test": "bazelisk test --config snapshot //devtools/..."
},
"// 1": "dependencies are used locally and by bazel",
@ -224,4 +225,4 @@
"**/https-proxy-agent": "5.0.0",
"**/saucelabs": "7.1.3"
}
}
}