extension-create 2.0.0-alpha.4 → 2.0.0-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (342) hide show
  1. package/dist/action/README.md +37 -0
  2. package/dist/action/action/index.html +40 -0
  3. package/dist/action/action/scripts.js +11 -0
  4. package/dist/action/action/styles.css +23 -0
  5. package/dist/action/images/extension_128.png +0 -0
  6. package/dist/action/images/extension_16.png +0 -0
  7. package/dist/action/images/extension_48.png +0 -0
  8. package/dist/action/manifest.json +21 -0
  9. package/dist/action/package.json +21 -0
  10. package/dist/action-chatgpt/.env.example +1 -0
  11. package/dist/action-chatgpt/README.md +37 -0
  12. package/dist/action-chatgpt/action/ActionApp.tsx +118 -0
  13. package/dist/action-chatgpt/action/index.html +13 -0
  14. package/dist/action-chatgpt/action/scripts.tsx +12 -0
  15. package/dist/action-chatgpt/action/styles.css +8 -0
  16. package/dist/action-chatgpt/extension-env.d.ts +9 -0
  17. package/dist/action-chatgpt/images/chatgpt.png +0 -0
  18. package/dist/action-chatgpt/images/extension.png +0 -0
  19. package/dist/action-chatgpt/images/extension_128.png +0 -0
  20. package/dist/action-chatgpt/images/extension_16.png +0 -0
  21. package/dist/action-chatgpt/images/extension_48.png +0 -0
  22. package/dist/action-chatgpt/manifest.json +21 -0
  23. package/dist/action-chatgpt/package.json +30 -0
  24. package/dist/action-chatgpt/postcss.config.js +6 -0
  25. package/dist/action-chatgpt/tailwind.config.js +8 -0
  26. package/dist/action-chatgpt/tsconfig.json +21 -0
  27. package/dist/config-stylelint/README.md +37 -0
  28. package/dist/config-stylelint/images/extension_128.png +0 -0
  29. package/dist/config-stylelint/images/extension_16.png +0 -0
  30. package/dist/config-stylelint/images/extension_48.png +0 -0
  31. package/dist/config-stylelint/images/stylelint.svg +1 -0
  32. package/dist/config-stylelint/manifest.json +15 -0
  33. package/dist/config-stylelint/newtab/index.html +40 -0
  34. package/dist/config-stylelint/newtab/scripts.js +11 -0
  35. package/dist/config-stylelint/newtab/styles.css +20 -0
  36. package/dist/config-stylelint/package.json +23 -0
  37. package/dist/config-stylelint/stylelint.config.json +1 -0
  38. package/dist/content/README.md +37 -0
  39. package/dist/content/background.js +21 -0
  40. package/dist/content/content/scripts.js +32 -0
  41. package/dist/content/content/styles.css +54 -0
  42. package/dist/content/images/extension_128.png +0 -0
  43. package/dist/content/images/extension_16.png +0 -0
  44. package/dist/content/images/extension_48.png +0 -0
  45. package/dist/content/manifest.json +35 -0
  46. package/dist/content/package.json +20 -0
  47. package/dist/content-css-module/README.md +37 -0
  48. package/dist/content-css-module/background.js +21 -0
  49. package/dist/content-css-module/content/Logo.module.css +11 -0
  50. package/dist/content-css-module/content/scripts.js +33 -0
  51. package/dist/content-css-module/content/styles.css +40 -0
  52. package/dist/content-css-module/images/extension_128.png +0 -0
  53. package/dist/content-css-module/images/extension_16.png +0 -0
  54. package/dist/content-css-module/images/extension_48.png +0 -0
  55. package/dist/content-css-module/manifest.json +35 -0
  56. package/dist/content-css-module/package.json +20 -0
  57. package/dist/content-less/README.md +37 -0
  58. package/dist/content-less/background.js +21 -0
  59. package/dist/content-less/content/scripts.js +32 -0
  60. package/dist/content-less/content/styles.less +51 -0
  61. package/dist/content-less/images/extension_128.png +0 -0
  62. package/dist/content-less/images/extension_16.png +0 -0
  63. package/dist/content-less/images/extension_48.png +0 -0
  64. package/dist/content-less/manifest.json +35 -0
  65. package/dist/content-less/package.json +21 -0
  66. package/dist/content-main-world/README.md +37 -0
  67. package/dist/content-main-world/background.js +19 -0
  68. package/dist/content-main-world/content/scripts.js +32 -0
  69. package/dist/content-main-world/content/styles.css +51 -0
  70. package/dist/content-main-world/images/extension_128.png +0 -0
  71. package/dist/content-main-world/images/extension_16.png +0 -0
  72. package/dist/content-main-world/images/extension_48.png +0 -0
  73. package/dist/content-main-world/manifest.json +37 -0
  74. package/dist/content-main-world/package.json +20 -0
  75. package/dist/content-preact/README.md +37 -0
  76. package/dist/content-preact/background.ts +1 -0
  77. package/dist/content-preact/content/ContentApp.tsx +92 -0
  78. package/dist/content-preact/content/scripts.tsx +14 -0
  79. package/dist/content-preact/content/styles.css +10 -0
  80. package/dist/content-preact/extension-env.d.ts +9 -0
  81. package/dist/content-preact/images/chromeWindow.png +0 -0
  82. package/dist/content-preact/images/extension_128.png +0 -0
  83. package/dist/content-preact/images/extension_16.png +0 -0
  84. package/dist/content-preact/images/extension_48.png +0 -0
  85. package/dist/content-preact/images/preact.png +0 -0
  86. package/dist/content-preact/images/tailwind.png +0 -0
  87. package/dist/content-preact/images/tailwind_bg.png +0 -0
  88. package/dist/content-preact/images/typescript.png +0 -0
  89. package/dist/content-preact/manifest.json +31 -0
  90. package/dist/content-preact/package.json +27 -0
  91. package/dist/content-preact/postcss.config.js +6 -0
  92. package/dist/content-preact/tailwind.config.js +8 -0
  93. package/dist/content-preact/tsconfig.json +26 -0
  94. package/dist/content-react/README.md +37 -0
  95. package/dist/content-react/background.ts +1 -0
  96. package/dist/content-react/content/ContentApp.tsx +86 -0
  97. package/dist/content-react/content/scripts.tsx +17 -0
  98. package/dist/content-react/content/styles.css +10 -0
  99. package/dist/content-react/extension-env.d.ts +9 -0
  100. package/dist/content-react/images/chromeWindow.png +0 -0
  101. package/dist/content-react/images/extension_128.png +0 -0
  102. package/dist/content-react/images/extension_16.png +0 -0
  103. package/dist/content-react/images/extension_48.png +0 -0
  104. package/dist/content-react/images/react.png +0 -0
  105. package/dist/content-react/images/tailwind.png +0 -0
  106. package/dist/content-react/images/tailwind_bg.png +0 -0
  107. package/dist/content-react/images/typescript.png +0 -0
  108. package/dist/content-react/manifest.json +28 -0
  109. package/dist/content-react/package.json +28 -0
  110. package/dist/content-react/postcss.config.js +6 -0
  111. package/dist/content-react/tailwind.config.js +8 -0
  112. package/dist/content-react/tsconfig.json +21 -0
  113. package/dist/content-sass/README.md +37 -0
  114. package/dist/content-sass/background.js +21 -0
  115. package/dist/content-sass/content/scripts.js +32 -0
  116. package/dist/content-sass/content/styles.scss +51 -0
  117. package/dist/content-sass/images/extension_128.png +0 -0
  118. package/dist/content-sass/images/extension_16.png +0 -0
  119. package/dist/content-sass/images/extension_48.png +0 -0
  120. package/dist/content-sass/manifest.json +35 -0
  121. package/dist/content-sass/package.json +21 -0
  122. package/dist/content-sass-module/README.md +37 -0
  123. package/dist/content-sass-module/background.js +21 -0
  124. package/dist/content-sass-module/content/Logo.module.scss +18 -0
  125. package/dist/content-sass-module/content/scripts.js +33 -0
  126. package/dist/content-sass-module/content/styles.scss +40 -0
  127. package/dist/content-sass-module/images/extension_128.png +0 -0
  128. package/dist/content-sass-module/images/extension_16.png +0 -0
  129. package/dist/content-sass-module/images/extension_48.png +0 -0
  130. package/dist/content-sass-module/manifest.json +35 -0
  131. package/dist/content-sass-module/package.json +21 -0
  132. package/dist/content-tailwind/README.md +37 -0
  133. package/dist/content-tailwind/background.js +21 -0
  134. package/dist/content-tailwind/content/content.js +45 -0
  135. package/dist/content-tailwind/content/scripts.js +6 -0
  136. package/dist/content-tailwind/content/styles.css +10 -0
  137. package/dist/content-tailwind/images/chromeWindow.png +0 -0
  138. package/dist/content-tailwind/images/extension_128.png +0 -0
  139. package/dist/content-tailwind/images/extension_16.png +0 -0
  140. package/dist/content-tailwind/images/extension_48.png +0 -0
  141. package/dist/content-tailwind/images/react.png +0 -0
  142. package/dist/content-tailwind/images/tailwind.png +0 -0
  143. package/dist/content-tailwind/images/tailwind_bg.png +0 -0
  144. package/dist/content-tailwind/manifest.json +35 -0
  145. package/dist/content-tailwind/package.json +23 -0
  146. package/dist/content-tailwind/postcss.config.js +6 -0
  147. package/dist/content-tailwind/tailwind.config.js +8 -0
  148. package/dist/content-typescript/README.md +37 -0
  149. package/dist/content-typescript/background.ts +26 -0
  150. package/dist/content-typescript/content/scripts.ts +33 -0
  151. package/dist/content-typescript/content/styles.css +51 -0
  152. package/dist/content-typescript/extension-env.d.ts +9 -0
  153. package/dist/content-typescript/images/extension_128.png +0 -0
  154. package/dist/content-typescript/images/extension_16.png +0 -0
  155. package/dist/content-typescript/images/extension_48.png +0 -0
  156. package/dist/content-typescript/images/typescript.png +0 -0
  157. package/dist/content-typescript/manifest.json +35 -0
  158. package/dist/content-typescript/package.json +21 -0
  159. package/dist/content-typescript/tsconfig.json +21 -0
  160. package/dist/content-vue/README.md +37 -0
  161. package/dist/content-vue/background.ts +1 -0
  162. package/dist/content-vue/content/ContentApp.vue +90 -0
  163. package/dist/content-vue/content/scripts.ts +13 -0
  164. package/dist/content-vue/content/shims-vue.d.ts +6 -0
  165. package/dist/content-vue/content/styles.css +10 -0
  166. package/dist/content-vue/extension-env.d.ts +9 -0
  167. package/dist/content-vue/images/chromeWindow.png +0 -0
  168. package/dist/content-vue/images/extension_128.png +0 -0
  169. package/dist/content-vue/images/extension_16.png +0 -0
  170. package/dist/content-vue/images/extension_48.png +0 -0
  171. package/dist/content-vue/images/tailwind.png +0 -0
  172. package/dist/content-vue/images/tailwind_bg.png +0 -0
  173. package/dist/content-vue/images/typescript.png +0 -0
  174. package/dist/content-vue/images/vue.svg +8 -0
  175. package/dist/content-vue/manifest.json +31 -0
  176. package/dist/content-vue/package.json +25 -0
  177. package/dist/content-vue/postcss.config.js +6 -0
  178. package/dist/content-vue/tailwind.config.js +8 -0
  179. package/dist/content-vue/tsconfig.json +21 -0
  180. package/dist/declarative_net_request/README.md +37 -0
  181. package/dist/declarative_net_request/images/extension_128.png +0 -0
  182. package/dist/declarative_net_request/images/extension_16.png +0 -0
  183. package/dist/declarative_net_request/images/extension_48.png +0 -0
  184. package/dist/declarative_net_request/manifest.json +34 -0
  185. package/dist/declarative_net_request/package.json +21 -0
  186. package/dist/declarative_net_request/public/public_ruleset.json +72 -0
  187. package/dist/declarative_net_request/rules_1.json +72 -0
  188. package/dist/init/README.md +37 -0
  189. package/dist/init/manifest.json +7 -0
  190. package/dist/init/package.json +32 -0
  191. package/dist/locales/README.md +37 -0
  192. package/dist/locales/_locales/en/messages.json +10 -0
  193. package/dist/locales/_locales/pt_BR/messages.json +10 -0
  194. package/dist/locales/action/index.html +40 -0
  195. package/dist/locales/action/scripts.js +3 -0
  196. package/dist/locales/action/styles.css +23 -0
  197. package/dist/locales/images/extension_128.png +0 -0
  198. package/dist/locales/images/extension_16.png +0 -0
  199. package/dist/locales/images/extension_48.png +0 -0
  200. package/dist/locales/manifest.json +19 -0
  201. package/dist/locales/package.json +21 -0
  202. package/dist/module.js +11 -11
  203. package/dist/new-less/README.md +37 -0
  204. package/dist/new-less/images/extension_128.png +0 -0
  205. package/dist/new-less/images/extension_16.png +0 -0
  206. package/dist/new-less/images/extension_48.png +0 -0
  207. package/dist/new-less/manifest.json +15 -0
  208. package/dist/new-less/newtab/index.html +40 -0
  209. package/dist/new-less/newtab/scripts.js +11 -0
  210. package/dist/new-less/newtab/styles.less +19 -0
  211. package/dist/new-less/package.json +21 -0
  212. package/dist/new-preact/README.md +37 -0
  213. package/dist/new-preact/extension-env.d.ts +9 -0
  214. package/dist/new-preact/images/extension_128.png +0 -0
  215. package/dist/new-preact/images/extension_16.png +0 -0
  216. package/dist/new-preact/images/extension_48.png +0 -0
  217. package/dist/new-preact/images/preact.png +0 -0
  218. package/dist/new-preact/manifest.json +15 -0
  219. package/dist/new-preact/newtab/NewTabApp.tsx +27 -0
  220. package/dist/new-preact/newtab/index.html +13 -0
  221. package/dist/new-preact/newtab/scripts.tsx +5 -0
  222. package/dist/new-preact/newtab/styles.css +32 -0
  223. package/dist/new-preact/package.json +27 -0
  224. package/dist/new-preact/tsconfig.json +21 -0
  225. package/dist/new-react/README.md +37 -0
  226. package/dist/new-react/extension-env.d.ts +9 -0
  227. package/dist/new-react/images/extension_128.png +0 -0
  228. package/dist/new-react/images/extension_16.png +0 -0
  229. package/dist/new-react/images/extension_48.png +0 -0
  230. package/dist/new-react/images/react.png +0 -0
  231. package/dist/new-react/manifest.json +15 -0
  232. package/dist/new-react/newtab/NewTabApp.tsx +27 -0
  233. package/dist/new-react/newtab/index.html +13 -0
  234. package/dist/new-react/newtab/scripts.tsx +12 -0
  235. package/dist/new-react/newtab/styles.css +23 -0
  236. package/dist/new-react/package.json +28 -0
  237. package/dist/new-react/tsconfig.json +21 -0
  238. package/dist/new-sass/README.md +37 -0
  239. package/dist/new-sass/images/extension_128.png +0 -0
  240. package/dist/new-sass/images/extension_16.png +0 -0
  241. package/dist/new-sass/images/extension_48.png +0 -0
  242. package/dist/new-sass/manifest.json +15 -0
  243. package/dist/new-sass/newtab/index.html +40 -0
  244. package/dist/new-sass/newtab/scripts.js +11 -0
  245. package/dist/new-sass/newtab/styles.scss +19 -0
  246. package/dist/new-sass/package.json +22 -0
  247. package/dist/new-tailwind/README.md +37 -0
  248. package/dist/new-tailwind/extension-env.d.ts +9 -0
  249. package/dist/new-tailwind/images/chromeWindow.png +0 -0
  250. package/dist/new-tailwind/images/extension_128.png +0 -0
  251. package/dist/new-tailwind/images/extension_16.png +0 -0
  252. package/dist/new-tailwind/images/extension_48.png +0 -0
  253. package/dist/new-tailwind/images/react.png +0 -0
  254. package/dist/new-tailwind/images/tailwind.png +0 -0
  255. package/dist/new-tailwind/images/tailwind_bg.png +0 -0
  256. package/dist/new-tailwind/manifest.json +15 -0
  257. package/dist/new-tailwind/newtab/NewTabApp.tsx +67 -0
  258. package/dist/new-tailwind/newtab/index.html +13 -0
  259. package/dist/new-tailwind/newtab/scripts.tsx +12 -0
  260. package/dist/new-tailwind/newtab/styles.css +3 -0
  261. package/dist/new-tailwind/package.json +28 -0
  262. package/dist/new-tailwind/postcss.config.js +6 -0
  263. package/dist/new-tailwind/tailwind.config.js +8 -0
  264. package/dist/new-tailwind/tsconfig.json +21 -0
  265. package/dist/new-typescript/README.md +37 -0
  266. package/dist/new-typescript/extension-env.d.ts +9 -0
  267. package/dist/new-typescript/images/extension_128.png +0 -0
  268. package/dist/new-typescript/images/extension_16.png +0 -0
  269. package/dist/new-typescript/images/extension_48.png +0 -0
  270. package/dist/new-typescript/images/typescript.png +0 -0
  271. package/dist/new-typescript/manifest.json +15 -0
  272. package/dist/new-typescript/newtab/index.html +25 -0
  273. package/dist/new-typescript/newtab/scripts.ts +10 -0
  274. package/dist/new-typescript/newtab/styles.css +18 -0
  275. package/dist/new-typescript/package.json +22 -0
  276. package/dist/new-typescript/tsconfig.json +21 -0
  277. package/dist/new-vue/README.md +37 -0
  278. package/dist/new-vue/extension-env.d.ts +9 -0
  279. package/dist/new-vue/images/extension_128.png +0 -0
  280. package/dist/new-vue/images/extension_16.png +0 -0
  281. package/dist/new-vue/images/extension_48.png +0 -0
  282. package/dist/new-vue/images/vue.svg +8 -0
  283. package/dist/new-vue/manifest.json +15 -0
  284. package/dist/new-vue/newtab/NewTabApp.vue +30 -0
  285. package/dist/new-vue/newtab/index.html +13 -0
  286. package/dist/new-vue/newtab/scripts.ts +7 -0
  287. package/dist/new-vue/newtab/styles.css +36 -0
  288. package/dist/new-vue/package.json +25 -0
  289. package/dist/new-vue/tsconfig.json +21 -0
  290. package/dist/sidebar/README.md +37 -0
  291. package/dist/sidebar/images/extension_128.png +0 -0
  292. package/dist/sidebar/images/extension_16.png +0 -0
  293. package/dist/sidebar/images/extension_48.png +0 -0
  294. package/dist/sidebar/manifest.json +25 -0
  295. package/dist/sidebar/package.json +21 -0
  296. package/dist/sidebar/puzzle.png +0 -0
  297. package/dist/sidebar/sidebar/index.html +39 -0
  298. package/dist/sidebar/sidebar/scripts.js +11 -0
  299. package/dist/sidebar/sidebar/styles.css +27 -0
  300. package/dist/sidebar/test_16.png +0 -0
  301. package/dist/sidebar/test_32.png +0 -0
  302. package/dist/sidebar/test_48.png +0 -0
  303. package/dist/sidebar/test_64.png +0 -0
  304. package/dist/special-folders-pages/README.md +37 -0
  305. package/dist/special-folders-pages/background.js +5 -0
  306. package/dist/special-folders-pages/images/extension_128.png +0 -0
  307. package/dist/special-folders-pages/images/extension_16.png +0 -0
  308. package/dist/special-folders-pages/images/extension_48.png +0 -0
  309. package/dist/special-folders-pages/images/notpublic-file.png +0 -0
  310. package/dist/special-folders-pages/manifest.json +26 -0
  311. package/dist/special-folders-pages/package.json +21 -0
  312. package/dist/special-folders-pages/pages/custom.html +8 -0
  313. package/dist/special-folders-pages/pages/main.css +18 -0
  314. package/dist/special-folders-pages/pages/main.html +16 -0
  315. package/dist/special-folders-pages/pages/main.js +1 -0
  316. package/dist/special-folders-pages/public/css/file.css +3 -0
  317. package/dist/special-folders-pages/public/html/file.html +8 -0
  318. package/dist/special-folders-pages/public/img/icon.png +0 -0
  319. package/dist/special-folders-pages/public/js/file.js +0 -0
  320. package/dist/special-folders-pages/sandbox/index.html +24 -0
  321. package/dist/special-folders-pages/sandbox/scripts.js +0 -0
  322. package/dist/special-folders-pages/sandbox/styles.css +1 -0
  323. package/dist/special-folders-scripts/README.md +37 -0
  324. package/dist/special-folders-scripts/background.js +24 -0
  325. package/dist/special-folders-scripts/images/extension_128.png +0 -0
  326. package/dist/special-folders-scripts/images/extension_16.png +0 -0
  327. package/dist/special-folders-scripts/images/extension_48.png +0 -0
  328. package/dist/special-folders-scripts/manifest.json +27 -0
  329. package/dist/special-folders-scripts/package.json +21 -0
  330. package/dist/special-folders-scripts/pages/index.css +5 -0
  331. package/dist/special-folders-scripts/pages/index.html +3 -0
  332. package/dist/special-folders-scripts/pages/index.js +1 -0
  333. package/dist/special-folders-scripts/public/extension.png +0 -0
  334. package/dist/special-folders-scripts/scripts/content-script.js +3 -0
  335. package/dist/storage/README.md +37 -0
  336. package/dist/storage/images/extension_128.png +0 -0
  337. package/dist/storage/images/extension_16.png +0 -0
  338. package/dist/storage/images/extension_48.png +0 -0
  339. package/dist/storage/manifest.json +15 -0
  340. package/dist/storage/package.json +21 -0
  341. package/dist/storage/schema.json +44 -0
  342. package/package.json +2 -2
@@ -0,0 +1,35 @@
1
+ {
2
+ "manifest_version": 3,
3
+ "version": "0.0.1",
4
+ "name": "content-tailwind",
5
+ "description": "An Extension.js example.",
6
+ "icons": {
7
+ "16": "images/extension_16.png",
8
+ "48": "images/extension_48.png",
9
+ "128": "images/extension_128.png"
10
+ },
11
+ "permissions": [
12
+ "activeTab",
13
+ "scripting"
14
+ ],
15
+ "host_permissions": [
16
+ "<all_urls>"
17
+ ],
18
+ "background": {
19
+ "chromium:service_worker": "background.js",
20
+ "firefox:scripts": [
21
+ "background.js"
22
+ ]
23
+ },
24
+ "content_scripts": [
25
+ {
26
+ "matches": [
27
+ "<all_urls>"
28
+ ],
29
+ "js": [
30
+ "content/scripts.js"
31
+ ]
32
+ }
33
+ ],
34
+ "author": "Your Name"
35
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "private": true,
3
+ "name": "content-tailwind",
4
+ "description": "An Extension.js example.",
5
+ "version": "0.0.1",
6
+ "author": {
7
+ "name": "Your Name",
8
+ "email": "your@email.com",
9
+ "url": "https://yourwebsite.com"
10
+ },
11
+ "license": "MIT",
12
+ "dependencies": {
13
+ "tailwindcss": "^3.4.1"
14
+ },
15
+ "scripts": {
16
+ "dev": "extension dev",
17
+ "start": "extension start",
18
+ "build": "extension build"
19
+ },
20
+ "devDependencies": {
21
+ "extension": "latest"
22
+ }
23
+ }
@@ -0,0 +1,6 @@
1
+ module.exports = {
2
+ plugins: {
3
+ tailwindcss: {},
4
+ autoprefixer: {}
5
+ }
6
+ }
@@ -0,0 +1,8 @@
1
+ /** @type {import('tailwindcss').Config} */
2
+ module.exports = {
3
+ content: ['./content/**/*.html', './content/**/*.js'],
4
+ theme: {
5
+ extend: {}
6
+ },
7
+ plugins: []
8
+ }
@@ -0,0 +1,37 @@
1
+ # content-typescript
2
+
3
+ > An Extension.js example.
4
+
5
+ ## Scripts Available
6
+
7
+ In the project directory, you can run:
8
+
9
+ ### yarn dev
10
+
11
+ ```
12
+ // Runs the app in the development mode.
13
+ // Will open a new browser instance with your extension loaded.
14
+ // The page will reload when you make changes.
15
+ yarn dev
16
+ ```
17
+
18
+ ### yarn start
19
+
20
+ ```
21
+ // Runs the app in the production mode.
22
+ // Will open a new browser instance with your extension loaded.
23
+ // This is how your browser extension will work once published.
24
+ yarn start
25
+ ```
26
+
27
+ ### yarn build
28
+
29
+ ```
30
+ // Builds the app for production.
31
+ // Bundles your browser extension in production mode for the target browser.
32
+ yarn build
33
+ ```
34
+
35
+ ## Learn More
36
+
37
+ Learn more about creating cross-browser extensions in the [Extension.js](https://extension.js.org) documentation.
@@ -0,0 +1,26 @@
1
+ console.log('hello from background script')
2
+
3
+ // eslint-disable-next-line no-undef
4
+ chrome.runtime.onMessage.addListener((request, sender) => {
5
+ if (request.action === 'changeBackgroundColor') {
6
+ changeBackgroundColor(request.color, sender.tab?.id)
7
+ }
8
+ })
9
+
10
+ function changeBackgroundColor(color: string, tabId: number | undefined) {
11
+ if (!tabId) {
12
+ return
13
+ }
14
+
15
+ chrome.scripting
16
+ .executeScript({
17
+ target: {tabId},
18
+ func: setPageBackgroundColor,
19
+ args: [color]
20
+ })
21
+ .catch(console.error)
22
+ }
23
+
24
+ function setPageBackgroundColor(color: string) {
25
+ document.body.style.backgroundColor = color
26
+ }
@@ -0,0 +1,33 @@
1
+ import extensionJsLogo from '../images/extension_128.png'
2
+ import './styles.css'
3
+
4
+ console.log('hello from content_scripts')
5
+
6
+ document.body.innerHTML += `
7
+ <div class="content_script-box">
8
+ <img class="content_script-logo" src=${extensionJsLogo} />
9
+ <h1 class="content_script-title">
10
+ Change the background-color ⬇
11
+ </h1>
12
+ <input type="color" class="content_script-colorPicker" id="colorPicker">
13
+ <p class="content_script-description">
14
+ Learn more about creating cross-browser extensions at <a
15
+ className="underline hover:no-underline"
16
+ href="https://extension.js.org"
17
+ target="_blank"
18
+ >
19
+ https://extension.js.org
20
+ </a>
21
+ </p>
22
+ </div>
23
+ `
24
+
25
+ document.getElementById('colorPicker')?.addEventListener('input', (event) => {
26
+ chrome.runtime
27
+ .sendMessage({
28
+ action: 'changeBackgroundColor',
29
+ // @ts-expect-error
30
+ color: event.target?.value
31
+ })
32
+ .catch(console.error)
33
+ })
@@ -0,0 +1,51 @@
1
+ .content_script-box {
2
+ background: white;
3
+ position: fixed;
4
+ right: 0;
5
+ bottom: 0;
6
+ z-index: 9;
7
+ width: 315px;
8
+ height: 345px;
9
+ margin: 1em;
10
+ padding: 1em;
11
+ display: flex;
12
+ align-items: center;
13
+ justify-content: center;
14
+ flex-direction: column;
15
+ gap: 1em;
16
+ box-shadow: 0px 0px 4px 1px #ccc;
17
+ }
18
+
19
+ .content_script-logo {
20
+ width: 90px;
21
+ align-self: flex-start;
22
+ filter: grayscale(1);
23
+ transition: filter 2s;
24
+ }
25
+
26
+ .content_script-logo:hover {
27
+ filter: grayscale(0);
28
+ }
29
+
30
+ .content_script-title {
31
+ font-size: 1.85em;
32
+ color: #333;
33
+ line-height: 1.1;
34
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
35
+ 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
36
+ font-weight: 700;
37
+ overflow-wrap: break-word;
38
+ word-wrap: break-word;
39
+ -ms-word-break: break-all;
40
+ word-break: break-word;
41
+ }
42
+
43
+ .content_script-description {
44
+ color: #999;
45
+ }
46
+
47
+ .content_script-colorPicker {
48
+ display: block;
49
+ width: 100%;
50
+ height: 50px;
51
+ }
@@ -0,0 +1,9 @@
1
+ // Required Extension.js types for TypeScript projects.
2
+ // This file is auto-generated and should not be excluded.
3
+ // If you need extra types, consider creating a new *.d.ts and
4
+ // referencing it in the "include" array of your tsconfig.json file.
5
+ // See https://www.typescriptlang.org/tsconfig#include for info.
6
+ /// <reference types="../../programs/develop/dist/types/index.d.ts" />
7
+
8
+ // Polyfill types for browser.* APIs.
9
+ /// <reference types="../../programs/develop/dist/types/polyfill.d.ts" />
@@ -0,0 +1,35 @@
1
+ {
2
+ "manifest_version": 3,
3
+ "version": "0.0.1",
4
+ "name": "content-typescript",
5
+ "description": "An Extension.js example.",
6
+ "icons": {
7
+ "16": "images/extension_16.png",
8
+ "48": "images/extension_48.png",
9
+ "128": "images/extension_128.png"
10
+ },
11
+ "permissions": [
12
+ "activeTab",
13
+ "scripting"
14
+ ],
15
+ "host_permissions": [
16
+ "<all_urls>"
17
+ ],
18
+ "background": {
19
+ "chromium:service_worker": "background.ts",
20
+ "firefox:scripts": [
21
+ "background.ts"
22
+ ]
23
+ },
24
+ "content_scripts": [
25
+ {
26
+ "matches": [
27
+ "<all_urls>"
28
+ ],
29
+ "js": [
30
+ "content/scripts.ts"
31
+ ]
32
+ }
33
+ ],
34
+ "author": "Your Name"
35
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "private": true,
3
+ "name": "content-typescript",
4
+ "description": "An Extension.js example.",
5
+ "version": "0.0.1",
6
+ "author": {
7
+ "name": "Your Name",
8
+ "email": "your@email.com",
9
+ "url": "https://yourwebsite.com"
10
+ },
11
+ "devDependencies": {
12
+ "typescript": "5.3.3",
13
+ "extension": "latest"
14
+ },
15
+ "scripts": {
16
+ "dev": "extension dev",
17
+ "start": "extension start",
18
+ "build": "extension build"
19
+ },
20
+ "dependencies": {}
21
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "compilerOptions": {
3
+ "allowJs": true,
4
+ "allowSyntheticDefaultImports": true,
5
+ "esModuleInterop": true,
6
+ "forceConsistentCasingInFileNames": true,
7
+ "isolatedModules": true,
8
+ "jsx": "react-jsx",
9
+ "lib": ["dom", "dom.iterable", "esnext"],
10
+ "moduleResolution": "node",
11
+ "module": "esnext",
12
+ "resolveJsonModule": true,
13
+ "strict": true,
14
+ "target": "esnext",
15
+ "verbatimModuleSyntax": true,
16
+ "useDefineForClassFields": true,
17
+ "skipLibCheck": true
18
+ },
19
+ "include": ["./"],
20
+ "exclude": ["node_modules", "dist"]
21
+ }
@@ -0,0 +1,37 @@
1
+ # content-vue
2
+
3
+ > An Extension.js example.
4
+
5
+ ## Scripts Available
6
+
7
+ In the project directory, you can run:
8
+
9
+ ### yarn dev
10
+
11
+ ```
12
+ // Runs the app in the development mode.
13
+ // Will open a new browser instance with your extension loaded.
14
+ // The page will reload when you make changes.
15
+ yarn dev
16
+ ```
17
+
18
+ ### yarn start
19
+
20
+ ```
21
+ // Runs the app in the production mode.
22
+ // Will open a new browser instance with your extension loaded.
23
+ // This is how your browser extension will work once published.
24
+ yarn start
25
+ ```
26
+
27
+ ### yarn build
28
+
29
+ ```
30
+ // Builds the app for production.
31
+ // Bundles your browser extension in production mode for the target browser.
32
+ yarn build
33
+ ```
34
+
35
+ ## Learn More
36
+
37
+ Learn more about creating cross-browser extensions in the [Extension.js](https://extension.js.org) documentation.
@@ -0,0 +1 @@
1
+ console.log('Hello from the background script!')
@@ -0,0 +1,90 @@
1
+ <script lang="ts" setup>
2
+ import {ref} from 'vue'
3
+
4
+ const isdialogOpen = ref(true)
5
+ const setIsDialogOpen = (value: boolean) => (isdialogOpen.value = value)
6
+ </script>
7
+ <template>
8
+ <div v-if="isdialogOpen">
9
+ <div className="mx-auto max-w-7xl md:px-0 lg:p-6">
10
+ <div
11
+ className="relative isolate overflow-hidden bg-gray-900 px-6 pt-16 shadow-2xl lg:rounded-3xl md:pt-24 md:h-full sm:h-[100vh] lg:flex lg:gap-x-20 lg:px-24 lg:pt-0"
12
+ >
13
+ <div
14
+ className="absolute z-20 top-0 inset-x-0 flex justify-center overflow-hidden pointer-events-none"
15
+ >
16
+ <div className="w-[108rem] flex-none flex justify-end">
17
+ <picture>
18
+ <img
19
+ src="../images/tailwind_bg.png"
20
+ alt=""
21
+ className="w-[90rem] flex-none max-w-none hidden dark:block"
22
+ decoding="async"
23
+ />
24
+ </picture>
25
+ </div>
26
+ </div>
27
+ <div
28
+ className="mx-auto max-w-md text-center lg:py-12 lg:mx-0 lg:flex-auto lg:text-left"
29
+ >
30
+ <div
31
+ className="flex items-center justify-center space-x-4 my-4 mx-auto"
32
+ >
33
+ <img
34
+ alt="Vue logo"
35
+ src="../images/vue.svg"
36
+ className="relative inline-block w-12"
37
+ />
38
+ <div className="text-3xl text-white">+</div>
39
+ <img
40
+ alt="TypeScript logo"
41
+ src="../images/typescript.png"
42
+ className="relative inline-block w-12"
43
+ />
44
+ <div className="text-3xl text-white">+</div>
45
+ <img
46
+ alt="Tailwind logo"
47
+ src="../images/tailwind.png"
48
+ className="relative inline-block w-12"
49
+ />
50
+ </div>
51
+ <h2
52
+ className="text-3xl font-bold tracking-tight text-white sm:text-4xl"
53
+ >
54
+ This is a content script running Vue, TypeScript, and Tailwind.css.
55
+ </h2>
56
+ <p className="mt-6 text-lg leading-8 text-gray-300">
57
+ Learn more about creating cross-browser extensions by
58
+ <button
59
+ @click="setIsDialogOpen(false)"
60
+ className="underline hover:no-underline
61
+ "
62
+ >
63
+ closing this hint
64
+ </button>
65
+ .
66
+ </p>
67
+ </div>
68
+ <div className="relative mt-16 h-80 lg:mt-8">
69
+ <img
70
+ className="absolute left-0 top-0 w-[57rem] max-w-none rounded-md bg-white/5 ring-1 ring-white/10"
71
+ src="../images/chromeWindow.png"
72
+ alt="Chrome window screenshot"
73
+ width="1824"
74
+ height="1080"
75
+ />
76
+ </div>
77
+ </div>
78
+ </div>
79
+ </div>
80
+ <div v-else>
81
+ <div className="mx-auto p-6">
82
+ <button
83
+ @click="setIsDialogOpen(true)"
84
+ className="bg-white rounded-md p-3 text-sm font-semibold text-gray-900 shadow-sm hover:bg-gray-100 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white"
85
+ >
86
+ 🧩 Open content script hint <span aria-hidden="true">+</span>
87
+ </button>
88
+ </div>
89
+ </div>
90
+ </template>
@@ -0,0 +1,13 @@
1
+ import {createApp} from 'vue'
2
+ import ContentApp from './ContentApp.vue'
3
+ import './styles.css'
4
+
5
+ function initial() {
6
+ const rootDiv = document.createElement('div')
7
+ rootDiv.id = 'extension-root'
8
+ document.body.appendChild(rootDiv)
9
+
10
+ createApp(ContentApp).mount(rootDiv)
11
+ }
12
+
13
+ setTimeout(initial, 1000)
@@ -0,0 +1,6 @@
1
+ /* eslint-disable */
2
+ declare module '*.vue' {
3
+ import type {DefineComponent} from 'vue'
4
+ const component: DefineComponent<{}, {}, any>
5
+ export default component
6
+ }
@@ -0,0 +1,10 @@
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ #extension-root {
6
+ position: fixed;
7
+ bottom: 0;
8
+ right: 0;
9
+ z-index: 99999;
10
+ }
@@ -0,0 +1,9 @@
1
+ // Required Extension.js types for TypeScript projects.
2
+ // This file is auto-generated and should not be excluded.
3
+ // If you need extra types, consider creating a new *.d.ts and
4
+ // referencing it in the "include" array of your tsconfig.json file.
5
+ // See https://www.typescriptlang.org/tsconfig#include for info.
6
+ /// <reference types="../../programs/develop/dist/types/index.d.ts" />
7
+
8
+ // Polyfill types for browser.* APIs.
9
+ /// <reference types="../../programs/develop/dist/types/polyfill.d.ts" />
@@ -0,0 +1,8 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128">
2
+ <style>
3
+ .st0 { fill: #42B883; }
4
+ .st1 { fill: #35495E; }
5
+ </style>
6
+ <path class="st0" d="M78.8,10L64,35.4L49.2,10H0l64,110l64-110C128,10,78.8,10,78.8,10z" />
7
+ <path class="st1" d="M78.8,10L64,35.4L49.2,10H25.6L64,76l38.4-66H78.8z" />
8
+ </svg>
@@ -0,0 +1,31 @@
1
+ {
2
+ "manifest_version": 3,
3
+ "version": "0.0.1",
4
+ "name": "content-vue",
5
+ "description": "An Extension.js example.",
6
+ "icons": {
7
+ "16": "images/extension_16.png",
8
+ "48": "images/extension_48.png",
9
+ "128": "images/extension_128.png"
10
+ },
11
+ "background": {
12
+ "chromium:service_worker": "background.ts",
13
+ "firefox:scripts": [
14
+ "background.ts"
15
+ ]
16
+ },
17
+ "content_scripts": [
18
+ {
19
+ "matches": [
20
+ "https://extension.js.org/*"
21
+ ],
22
+ "js": [
23
+ "./content/scripts.ts"
24
+ ],
25
+ "css": [
26
+ "./content/styles.css"
27
+ ]
28
+ }
29
+ ],
30
+ "author": "Your Name"
31
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "content-vue",
3
+ "description": "An Extension.js example.",
4
+ "version": "0.0.1",
5
+ "author": {
6
+ "name": "Your Name",
7
+ "email": "your@email.com",
8
+ "url": "https://yourwebsite.com"
9
+ },
10
+ "license": "MIT",
11
+ "dependencies": {
12
+ "vue": "^3.4.27",
13
+ "tailwindcss": "^3.4.1"
14
+ },
15
+ "devDependencies": {
16
+ "typescript": "5.3.3",
17
+ "extension": "latest"
18
+ },
19
+ "scripts": {
20
+ "dev": "extension dev",
21
+ "start": "extension start",
22
+ "build": "extension build"
23
+ },
24
+ "private": true
25
+ }
@@ -0,0 +1,6 @@
1
+ module.exports = {
2
+ plugins: {
3
+ tailwindcss: {},
4
+ autoprefixer: {}
5
+ }
6
+ }
@@ -0,0 +1,8 @@
1
+ /** @type {import('tailwindcss').Config} */
2
+ module.exports = {
3
+ content: ['**/*.html', '**/*.vue'],
4
+ theme: {
5
+ extend: {}
6
+ },
7
+ plugins: []
8
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "compilerOptions": {
3
+ "allowJs": true,
4
+ "allowSyntheticDefaultImports": true,
5
+ "esModuleInterop": true,
6
+ "forceConsistentCasingInFileNames": true,
7
+ "isolatedModules": true,
8
+ "jsx": "react-jsx",
9
+ "lib": ["dom", "dom.iterable", "esnext"],
10
+ "moduleResolution": "node",
11
+ "module": "esnext",
12
+ "resolveJsonModule": true,
13
+ "strict": true,
14
+ "target": "esnext",
15
+ "verbatimModuleSyntax": true,
16
+ "useDefineForClassFields": true,
17
+ "skipLibCheck": true
18
+ },
19
+ "include": ["./"],
20
+ "exclude": ["node_modules", "dist"]
21
+ }
@@ -0,0 +1,37 @@
1
+ # declarative_net_request
2
+
3
+ > An Extension.js example.
4
+
5
+ ## Scripts Available
6
+
7
+ In the project directory, you can run:
8
+
9
+ ### yarn dev
10
+
11
+ ```
12
+ // Runs the app in the development mode.
13
+ // Will open a new browser instance with your extension loaded.
14
+ // The page will reload when you make changes.
15
+ yarn dev
16
+ ```
17
+
18
+ ### yarn start
19
+
20
+ ```
21
+ // Runs the app in the production mode.
22
+ // Will open a new browser instance with your extension loaded.
23
+ // This is how your browser extension will work once published.
24
+ yarn start
25
+ ```
26
+
27
+ ### yarn build
28
+
29
+ ```
30
+ // Builds the app for production.
31
+ // Bundles your browser extension in production mode for the target browser.
32
+ yarn build
33
+ ```
34
+
35
+ ## Learn More
36
+
37
+ Learn more about creating cross-browser extensions in the [Extension.js](https://extension.js.org) documentation.