Skip to content

Commit 18be3fc

Browse files
committed
Add chrome extension manifest
1 parent 3dd5ad8 commit 18be3fc

File tree

6 files changed

+189
-25
lines changed

6 files changed

+189
-25
lines changed

Diff for: craco.config.js

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
module.exports = {
2+
webpack: {
3+
configure: (webpackConfig, {env, paths}) => {
4+
return {
5+
...webpackConfig,
6+
entry: {
7+
main: [env === 'development' && require.resolve('react-dev-utils/webpackHotDevClient'),paths.appIndexJs].filter(Boolean),
8+
background: './src/scripts/background.ts',
9+
content: './src/scripts/content.ts',
10+
},
11+
output: {
12+
...webpackConfig.output,
13+
filename: 'static/js/[name].js',
14+
},
15+
optimization: {
16+
...webpackConfig.optimization,
17+
runtimeChunk: false,
18+
}
19+
}
20+
},
21+
}
22+
}

Diff for: package.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
"version": "0.1.0",
44
"private": true,
55
"dependencies": {
6+
"@craco/craco": "^6.4.3",
67
"@testing-library/jest-dom": "^5.14.1",
78
"@testing-library/react": "^12.0.0",
89
"@testing-library/user-event": "^13.2.1",
10+
"@types/chrome": "^0.0.177",
911
"@types/jest": "^27.0.1",
1012
"@types/node": "^16.7.13",
1113
"@types/react": "^17.0.20",
@@ -18,7 +20,7 @@
1820
},
1921
"scripts": {
2022
"start": "react-scripts start",
21-
"build": "react-scripts build",
23+
"build": "INLINE_RUNTIME_CHUNK=false craco build",
2224
"test": "react-scripts test",
2325
"eject": "react-scripts eject"
2426
},

Diff for: public/manifest.json

+24-22
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,27 @@
11
{
2-
"short_name": "React App",
3-
"name": "Create React App Sample",
4-
"icons": [
2+
"manifest_version": 3,
3+
"name": "React Typescript Chrome Extension Boilerplate",
4+
"description": "Minimal boilerplate for making chrome extensions using React and TypeScript",
5+
"version": "1.0.0",
6+
7+
"action": {
8+
"default_popup": "index.html",
9+
"default_title": "Open the popup"
10+
},
11+
12+
"background": {
13+
"service_worker": "./static/js/background.js"
14+
},
15+
16+
"content_scripts": [
517
{
6-
"src": "favicon.ico",
7-
"sizes": "64x64 32x32 24x24 16x16",
8-
"type": "image/x-icon"
9-
},
10-
{
11-
"src": "logo192.png",
12-
"type": "image/png",
13-
"sizes": "192x192"
14-
},
15-
{
16-
"src": "logo512.png",
17-
"type": "image/png",
18-
"sizes": "512x512"
18+
"matches": ["http://*/*", "https://*/*"],
19+
"js": ["./static/js/content.js"]
1920
}
20-
],
21-
"start_url": ".",
22-
"display": "standalone",
23-
"theme_color": "#000000",
24-
"background_color": "#ffffff"
25-
}
21+
],
22+
"icons": {
23+
"16": "logo192.png",
24+
"48": "logo192.png",
25+
"128": "logo192.png"
26+
}
27+
}

Diff for: src/scripts/background.ts

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
console.log("yo");
2+
3+
export {};

Diff for: src/scripts/content.ts

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
console.log("yo");
2+
3+
export {};

Diff for: yarn.lock

+134-2
Original file line numberDiff line numberDiff line change
@@ -1060,6 +1060,30 @@
10601060
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
10611061
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
10621062

1063+
"@craco/craco@^6.4.3":
1064+
version "6.4.3"
1065+
resolved "https://registry.yarnpkg.com/@craco/craco/-/craco-6.4.3.tgz#784395b6ebab764056550a2860494d24c3abd44e"
1066+
integrity sha512-RzkXYmNzRCGUyG7mM+IUMM+nvrpSfA34352sPSGQN76UivAmCAht3sI4v5JKgzO05oUK9Zwi6abCKD7iKXI8hQ==
1067+
dependencies:
1068+
cosmiconfig "^7.0.1"
1069+
cosmiconfig-typescript-loader "^1.0.0"
1070+
cross-spawn "^7.0.0"
1071+
lodash "^4.17.15"
1072+
semver "^7.3.2"
1073+
webpack-merge "^4.2.2"
1074+
1075+
"@cspotcode/[email protected]":
1076+
version "0.8.0"
1077+
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b"
1078+
integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==
1079+
1080+
"@cspotcode/[email protected]":
1081+
version "0.7.0"
1082+
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5"
1083+
integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==
1084+
dependencies:
1085+
"@cspotcode/source-map-consumer" "0.8.0"
1086+
10631087
"@csstools/normalize.css@*":
10641088
version "12.0.0"
10651089
resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-12.0.0.tgz#a9583a75c3f150667771f30b60d9f059473e62c4"
@@ -1538,6 +1562,26 @@
15381562
resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad"
15391563
integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==
15401564

1565+
"@tsconfig/node10@^1.0.7":
1566+
version "1.0.8"
1567+
resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9"
1568+
integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==
1569+
1570+
"@tsconfig/node12@^1.0.7":
1571+
version "1.0.9"
1572+
resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c"
1573+
integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==
1574+
1575+
"@tsconfig/node14@^1.0.0":
1576+
version "1.0.1"
1577+
resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2"
1578+
integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==
1579+
1580+
"@tsconfig/node16@^1.0.2":
1581+
version "1.0.2"
1582+
resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e"
1583+
integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==
1584+
15411585
"@types/aria-query@^4.2.0":
15421586
version "4.2.2"
15431587
resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.2.tgz#ed4e0ad92306a704f9fb132a0cfcf77486dbe2bc"
@@ -1591,6 +1635,14 @@
15911635
dependencies:
15921636
"@types/node" "*"
15931637

1638+
"@types/chrome@^0.0.177":
1639+
version "0.0.177"
1640+
resolved "https://registry.yarnpkg.com/@types/chrome/-/chrome-0.0.177.tgz#b9098a9b0f3714d6604289d176b2a042ddd88ee7"
1641+
integrity sha512-bZIZyNAJMMqIgbRsBM+nGNDPezaWZMr3p+CKz1JGj4Jn8c7SpvdUqaconpxUG5WEL1WoisBeA3sumo+WXaC9CA==
1642+
dependencies:
1643+
"@types/filesystem" "*"
1644+
"@types/har-format" "*"
1645+
15941646
"@types/connect-history-api-fallback@^1.3.5":
15951647
version "1.3.5"
15961648
resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz#d1f7a8a09d0ed5a57aee5ae9c18ab9b803205dae"
@@ -1659,13 +1711,30 @@
16591711
"@types/qs" "*"
16601712
"@types/serve-static" "*"
16611713

1714+
"@types/filesystem@*":
1715+
version "0.0.32"
1716+
resolved "https://registry.yarnpkg.com/@types/filesystem/-/filesystem-0.0.32.tgz#307df7cc084a2293c3c1a31151b178063e0a8edf"
1717+
integrity sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==
1718+
dependencies:
1719+
"@types/filewriter" "*"
1720+
1721+
"@types/filewriter@*":
1722+
version "0.0.29"
1723+
resolved "https://registry.yarnpkg.com/@types/filewriter/-/filewriter-0.0.29.tgz#a48795ecadf957f6c0d10e0c34af86c098fa5bee"
1724+
integrity sha512-BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ==
1725+
16621726
"@types/graceful-fs@^4.1.2":
16631727
version "4.1.5"
16641728
resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15"
16651729
integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==
16661730
dependencies:
16671731
"@types/node" "*"
16681732

1733+
"@types/har-format@*":
1734+
version "1.2.8"
1735+
resolved "https://registry.yarnpkg.com/@types/har-format/-/har-format-1.2.8.tgz#e6908b76d4c88be3db642846bb8b455f0bfb1c4e"
1736+
integrity sha512-OP6L9VuZNdskgNN3zFQQ54ceYD8OLq5IbqO4VK91ORLfOm7WdT/CiT/pHEBSQEqCInJ2y3O6iCm/zGtPElpgJQ==
1737+
16691738
"@types/html-minifier-terser@^6.0.0":
16701739
version "6.1.0"
16711740
resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35"
@@ -2114,6 +2183,11 @@ acorn-walk@^7.0.0, acorn-walk@^7.1.1:
21142183
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
21152184
integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
21162185

2186+
acorn-walk@^8.1.1:
2187+
version "8.2.0"
2188+
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
2189+
integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
2190+
21172191
acorn@^7.0.0, acorn@^7.1.1:
21182192
version "7.4.1"
21192193
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
@@ -2240,6 +2314,11 @@ anymatch@^3.0.3, anymatch@~3.1.2:
22402314
normalize-path "^3.0.0"
22412315
picomatch "^2.0.4"
22422316

2317+
arg@^4.1.0:
2318+
version "4.1.3"
2319+
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
2320+
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
2321+
22432322
arg@^5.0.1:
22442323
version "5.0.1"
22452324
resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.1.tgz#eb0c9a8f77786cad2af8ff2b862899842d7b6adb"
@@ -2971,6 +3050,14 @@ core-util-is@~1.0.0:
29713050
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
29723051
integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
29733052

3053+
cosmiconfig-typescript-loader@^1.0.0:
3054+
version "1.0.4"
3055+
resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-1.0.4.tgz#2903d53aec07c8079c5ff4aa1b10bd5d2fbdff81"
3056+
integrity sha512-ulv2dvwurP/MZAIthXm69bO7EzzIUThZ6RJ1qXhdlXM6to3F+IKBL/17EnhYSG52A5N1KcAUu66vSG/3/77KrA==
3057+
dependencies:
3058+
cosmiconfig "^7"
3059+
ts-node "^10.4.0"
3060+
29743061
cosmiconfig@^6.0.0:
29753062
version "6.0.0"
29763063
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982"
@@ -2982,7 +3069,7 @@ cosmiconfig@^6.0.0:
29823069
path-type "^4.0.0"
29833070
yaml "^1.7.2"
29843071

2985-
cosmiconfig@^7.0.0, cosmiconfig@^7.0.1:
3072+
cosmiconfig@^7, cosmiconfig@^7.0.0, cosmiconfig@^7.0.1:
29863073
version "7.0.1"
29873074
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d"
29883075
integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==
@@ -2993,7 +3080,12 @@ cosmiconfig@^7.0.0, cosmiconfig@^7.0.1:
29933080
path-type "^4.0.0"
29943081
yaml "^1.10.0"
29953082

2996-
cross-spawn@^7.0.2, cross-spawn@^7.0.3:
3083+
create-require@^1.1.0:
3084+
version "1.1.1"
3085+
resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
3086+
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
3087+
3088+
cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
29973089
version "7.0.3"
29983090
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
29993091
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
@@ -3375,6 +3467,11 @@ diff-sequences@^27.4.0:
33753467
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.4.0.tgz#d783920ad8d06ec718a060d00196dfef25b132a5"
33763468
integrity sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww==
33773469

3470+
diff@^4.0.1:
3471+
version "4.0.2"
3472+
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
3473+
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
3474+
33783475
dir-glob@^3.0.1:
33793476
version "3.0.1"
33803477
resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
@@ -5656,6 +5753,11 @@ make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0:
56565753
dependencies:
56575754
semver "^6.0.0"
56585755

5756+
make-error@^1.1.1:
5757+
version "1.3.6"
5758+
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
5759+
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
5760+
56595761
56605762
version "1.0.12"
56615763
resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a"
@@ -7958,6 +8060,24 @@ tryer@^1.0.1:
79588060
resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8"
79598061
integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==
79608062

8063+
ts-node@^10.4.0:
8064+
version "10.4.0"
8065+
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.4.0.tgz#680f88945885f4e6cf450e7f0d6223dd404895f7"
8066+
integrity sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==
8067+
dependencies:
8068+
"@cspotcode/source-map-support" "0.7.0"
8069+
"@tsconfig/node10" "^1.0.7"
8070+
"@tsconfig/node12" "^1.0.7"
8071+
"@tsconfig/node14" "^1.0.0"
8072+
"@tsconfig/node16" "^1.0.2"
8073+
acorn "^8.4.1"
8074+
acorn-walk "^8.1.1"
8075+
arg "^4.1.0"
8076+
create-require "^1.1.0"
8077+
diff "^4.0.1"
8078+
make-error "^1.1.1"
8079+
yn "3.1.1"
8080+
79618081
tsconfig-paths@^3.12.0:
79628082
version "3.12.0"
79638083
resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz#19769aca6ee8f6a1a341e38c8fa45dd9fb18899b"
@@ -8270,6 +8390,13 @@ webpack-manifest-plugin@^4.0.2:
82708390
tapable "^2.0.0"
82718391
webpack-sources "^2.2.0"
82728392

8393+
webpack-merge@^4.2.2:
8394+
version "4.2.2"
8395+
resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d"
8396+
integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==
8397+
dependencies:
8398+
lodash "^4.17.15"
8399+
82738400
webpack-sources@^1.4.3:
82748401
version "1.4.3"
82758402
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933"
@@ -8653,6 +8780,11 @@ yargs@^16.2.0:
86538780
y18n "^5.0.5"
86548781
yargs-parser "^20.2.2"
86558782

8783+
8784+
version "3.1.1"
8785+
resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
8786+
integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
8787+
86568788
yocto-queue@^0.1.0:
86578789
version "0.1.0"
86588790
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"

0 commit comments

Comments
 (0)