cezaraugusto / extension Goto Github PK
View Code? Open in Web Editor NEW🧩 Plug-and-play, zero-config, cross-browser extension development tool.
Home Page: https://extension.js.org
License: MIT License
🧩 Plug-and-play, zero-config, cross-browser extension development tool.
Home Page: https://extension.js.org
License: MIT License
Hey! Love the project, amazing work!
I was wondering what the plans are for supporting UI that's injected into the current web page using shadow DOM or other isolation techniques. This is similar to Plasmo's Content Scripts UI.
My use case involves displaying a chatbot on specific websites and enhancing the experience.
@extension-create/create and @extension-create/develop can benefit from some e2e tests. It should cover whatever we say we support in the documentation.
xcrun safari-web-extension-converter
In alpha versions we used to have a "--browsers=all" flag that would open all browser runners at once. We should re-enable that.
Currently, extension-create
is too heavy to run via npx
which is useful only for demonstration purposes. It's best to let users npm install -g extension-create
and add an update notification for when it needs update.
extension.d.ts
the path to the default types should be absolute.update-check
to handle package updates: https://www.npmjs.com/package/update-check.Installation fails on Windows because of the usage of UNIX-only executable "sh"
'sh' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] preinstall: `sh preinstall.sh`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] preinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\s-che\AppData\Roaming\npm-cache\_logs\2021-03-02T15_17_57_063Z-debug.log
Install for [ 'extension-create@latest' ] failed with code 1
Would be nice to allow extension developers to access which is the current browser and whether we are in development/production mode.
.env
files based on current mode, namely .env.local
, .env.production
and .env.development
..env
files based on browser vendor, namely .env.edge
, .env.safari
, etc.Hey, I found your project to be useful. I was wondering if there is a way to say template="tailwind" && template="content"
I just released webpack-run-edge-extension
that can allow us to support Edge as well without polyfills. The work needed is to add a reasonable API and to allow developers to work on both Chrome and Edge at the same time.
For some reason it isn't.
I'm trying to create a extension with typescript react template
npx extension create my-extension --template=react-typescript
I'm getting an error related to edge
node:internal/modules/cjs/loader:1147
throw err;
^
Error: Cannot find module 'webpack-run-edge-extension'
Require stack:
- /home/***/.npm/_npx/3b1fc9cdc75022aa/node_modules/@extension-create/develop/dist/module.js
- /home/***/.npm/_npx/3b1fc9cdc75022aa/node_modules/extension/dist/cli.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
at Module._load (node:internal/modules/cjs/loader:985:27)
at Module.require (node:internal/modules/cjs/loader:1235:19)
at require (node:internal/modules/helpers:176:18)
at Object.<anonymous> (/home/***/.npm/_npx/3b1fc9cdc75022aa/node_modules/@extension-create/develop/dist/module.js:10:10676)
at Module._compile (node:internal/modules/cjs/loader:1376:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
at Module.load (node:internal/modules/cjs/loader:1207:32)
at Module._load (node:internal/modules/cjs/loader:1023:12)
at Module.require (node:internal/modules/cjs/loader:1235:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/home/***/.npm/_npx/3b1fc9cdc75022aa/node_modules/@extension-create/develop/dist/module.js',
'/home/***/.npm/_npx/3b1fc9cdc75022aa/node_modules/extension/dist/cli.js'
]
}
Node.js v20.11.0
I'm on ubuntu, so dont have edge browser installed
Versions
node: 20.11.0
npm 10.2.4
ubuntu: 22.04.1 LTS
It's outdated.
yarn extension-create test my-extension-hello
should be equivalent to running jest
in the project root.
Add visual tools to show users how to develop HTML interfaces and add some other functionality to get users up-to-speed into development.
Auto option (correct flag TBD) should trigger both create
and run
commands, and kickoff a new browser instance immediately after the command.
Ref: https://github.com/mdn/webextensions-examples
Index | Done | MV | Source | Name |
---|---|---|---|---|
0 | ⏳ | 2 | src | mdn-all/annotate-page |
1 | ⏳ | 2 | src | mdn-all/apply-css |
2 | ⏳ | 2 | src | mdn-all/beastify |
3 | ⏳ | 2 | src | mdn-all/bookmark-it |
4 | ⏳ | 2 | src | mdn-all/borderify |
5 | ⏳ | 2 | src | mdn-all/chill-out |
6 | ⏳ | 2 | src | mdn-all/commands |
7 | ⏳ | 2 | src | mdn-all/content-script-register |
8 | ⏳ | 2 | src | mdn-all/context-menu-copy-link-with-types |
9 | ⏳ | 2 | src | mdn-all/contextual-identities |
10 | ⏳ | 2 | src | mdn-all/cookie-bg-picker |
11 | ⏳ | 2 | src | mdn-all/devtools-inspector-sidebar |
12 | ⏳ | 2 | src | mdn-all/devtools-panels |
13 | ⏳ | 2 | src | mdn-all/discogs-search |
14 | ⏳ | 3 | src | mdn-all/dnr-block-only |
15 | ⏳ | 3 | src | mdn-all/dnr-dynamic-with-options |
16 | ⏳ | 3 | src | mdn-all/dnr-redirect-url |
17 | ⏳ | 2 | src | mdn-all/dynamic-theme |
18 | ⏳ | 2 | src | mdn-all/emoji-substitution |
19 | ✅ | 2 | src | mdn-all/eslint-example |
20 | ⏳ | 2 | src | mdn-all/export-helpers |
21 | ⏳ | 2 | src | mdn-all/favourite-colour |
22 | ⏳ | 2 | src | mdn-all/find-across-tabs |
23 | ⏳ | 2 | src | mdn-all/firefox-code-search |
24 | ⏳ | 2 | src | mdn-all/forget-it |
25 | ⏳ | 2 | src | mdn-all/google-userinfo |
26 | ⏳ | 2 | src | mdn-all/history-deleter |
27 | ⏳ | 2 | src | mdn-all/http-response |
28 | ⏳ | 2 | src | mdn-all/imagify |
29 | ⏳ | 2 | src | mdn-all/latest-download |
30 | ⏳ | 2 | src | mdn-all/list-cookies |
31 | ⏳ | 2 | src | mdn-all/menu-accesskey-visible |
32 | ⏳ | 2 | src | mdn-all/menu-demo |
33 | ⏳ | 2 | src | mdn-all/menu-labelled-open |
34 | ⏳ | 2 | src | mdn-all/menu-remove-element |
35 | ⏳ | 2 | src | mdn-all/menu-search |
36 | ✅ | 2 | src | mdn-all/mocha-client-tests/addon |
37 | ⏳ | 2 | src | mdn-all/native-messaging/add-on |
38 | ⏳ | 2 | src | mdn-all/navigation-stats |
39 | ⏳ | 2 | src | mdn-all/notify-link-clicks-i18n |
40 | ⏳ | 2 | src | mdn-all/open-irc-links |
41 | ⏳ | 2 | src | mdn-all/open-my-page-button |
42 | ⏳ | 2 | src | mdn-all/page-to-extension-messaging |
43 | ⏳ | 2 | src | mdn-all/permissions |
44 | ⏳ | 2 | src | mdn-all/private-browsing-theme |
45 | ⏳ | 2 | src | mdn-all/proxy-blocker |
46 | ⏳ | 2 | src | mdn-all/quicknote |
47 | ⏳ | 2 | src | mdn-all/root-cert-stats |
48 | ⏳ | 2 | src | mdn-all/runtime-examples |
49 | ⏳ | 2 | src | mdn-all/selection-to-clipboard |
50 | ⏳ | 2 | src | mdn-all/session-state |
51 | ⏳ | 2 | src | mdn-all/store-collected-images/webextension-plain |
52 | ⏳ | 2 | src | mdn-all/store-collected-images/webextension-with-webpack/extension |
53 | ⏳ | 2 | src | mdn-all/stored-credentials |
54 | ⏳ | 2 | src | mdn-all/tabs-tabs-tabs |
55 | ⏳ | 2 | src | mdn-all/theme-integrated-sidebar |
56 | ⏳ | 2 | src | mdn-all/theme-switcher |
57 | ⏳ | 2 | src | mdn-all/themes/animated |
58 | ⏳ | 2 | src | mdn-all/themes/temp |
59 | ⏳ | 2 | src | mdn-all/themes/weta_fade |
60 | ⏳ | 2 | src | mdn-all/themes/weta_fade_chrome |
61 | ⏳ | 2 | src | mdn-all/themes/weta_mirror |
62 | ⏳ | 2 | src | mdn-all/themes/weta_tiled |
63 | ⏳ | 2 | src | mdn-all/top-sites |
64 | ⏳ | 2 | src | mdn-all/user-agent-rewriter |
65 | ⏳ | 2 | src | mdn-all/user-script-register |
66 | ⏳ | 2 | src | mdn-all/webpack-modules/addon |
67 | ⏳ | 2 | src | mdn-all/window-manipulator |
Due to symlink bugs. See output:
npm ERR! code EEXIST
npm ERR! syscall symlink
npm ERR! path ../lib/node_modules/extension-create/cli.js
npm ERR! dest /usr/local/bin/extension-create
npm ERR! errno -17
npm ERR! EEXIST: file already exists, symlink '../lib/node_modules/extension-create/cli.js' -> '/usr/local/bin/extension-create'
npm ERR! File exists: /usr/local/bin/extension-create
npm ERR! Remove the existing file and try again, or run npm
npm ERR! with --force to overwrite files recklessly.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/cezar/.npm/_logs/2021-01-27T13_37_52_386Z-debug.log
STR:
yarn extension-create HELLO
Include support for CSS, LESS, SASS, JSX, and all usual webpack loader options.
Ref: https://github.com/GoogleChrome/chrome-extensions-samples
Index | Done | MV | Source | Name |
---|---|---|---|---|
0 | ✅ | 3 | src | chrome-api-samples/action |
1 | ⏳ | 3 | src | chrome-api-samples/alarms |
2 | ✅ | 3 | src | chrome-api-samples/bookmarks |
3 | ✅ | 3 | src | chrome-api-samples/browsingData |
4 | ✅ | 3 | src | chrome-api-samples/contentSettings |
5 | ✅ | 3 | src | chrome-api-samples/contextMenus/basic |
6 | ✅ | 3 | src | chrome-api-samples/contextMenus/global_context_search |
7 | ⏳ | 3 | src | chrome-api-samples/cookies |
8 | ✅ | 3 | src | chrome-api-samples/debugger |
9 | ✅ | 3 | src | chrome-api-samples/declarativeNetRequest/no-cookies |
10 | ⏳ | 3 | src | chrome-api-samples/declarativeNetRequest/url-blocker |
11 | ✅ | 3 | src | chrome-api-samples/declarativeNetRequest/url-redirect |
12 | ✅ | 3 | src | chrome-api-samples/default_command_override |
13 | ✅ | 3 | src | chrome-api-samples/devtools/inspectedWindow |
14 | ✅ | 3 | src | chrome-api-samples/devtools/panels |
15 | ✅ | 3 | src | chrome-api-samples/favicon |
16 | ⏳ | 3 | src | chrome-api-samples/fontSettings/fontSettings Advanced |
17 | ✅ | 3 | src | chrome-api-samples/fontSettings/fontSettings Basic |
18 | ✅ | 3 | src | chrome-api-samples/history/historyOverride |
19 | ✅ | 3 | src | chrome-api-samples/history/showHistory |
20 | ✅ | 3 | src | chrome-api-samples/idle |
21 | ✅ | 3 | src | chrome-api-samples/il8n |
22 | ✅ | 3 | src | chrome-api-samples/omnibox/new-tab-search |
23 | ✅ | 3 | src | chrome-api-samples/omnibox/simple-example |
24 | ✅ | 3 | src | chrome-api-samples/override/blank_ntp |
25 | ⏳ | 3 | src | chrome-api-samples/power |
26 | ✅ | 3 | src | chrome-api-samples/printing |
27 | ✅ | 3 | src | chrome-api-samples/privacy |
28 | ⏳ | 3 | src | chrome-api-samples/readingList |
29 | ✅ | 3 | src | chrome-api-samples/richNotification |
30 | ✅ | 3 | src | chrome-api-samples/sandbox/sandbox |
31 | ✅ | 3 | src | chrome-api-samples/sandbox/sandboxed-content |
32 | ⏳ | 3 | src | chrome-api-samples/scripting |
33 | ✅ | 3 | src | chrome-api-samples/storage/stylizr |
34 | ✅ | 3 | src | chrome-api-samples/tabCapture |
35 | ✅ | 3 | src | chrome-api-samples/tabs/inspector |
36 | ✅ | 3 | src | chrome-api-samples/tabs/pin |
37 | ⏳ | 3 | src | chrome-api-samples/tabs/screenshot |
38 | ✅ | 3 | src | chrome-api-samples/tabs/zoom |
39 | ✅ | 3 | src | chrome-api-samples/topSites/basic |
40 | ✅ | 3 | src | chrome-api-samples/topSites/magic8ball |
41 | ✅ | 3 | src | chrome-api-samples/userScripts |
42 | ⏳ | 3 | src | chrome-api-samples/web-accessible-resources |
43 | ✅ | 3 | src | chrome-api-samples/webNavigation/basic |
44 | ⏳ | 3 | src | chrome-api-samples/webRequest/http-auth |
45 | ⏳ | 3 | src | chrome-api-samples/windows |
Index | Done | MV | Source | Name |
---|---|---|---|---|
0 | ⏳ | 2 | src | chrome-archive/apps/samples/analytics |
1 | ⏳ | 2 | src | chrome-archive/apps/samples/appengine-channelapi/app |
2 | ⏳ | 2 | src | chrome-archive/apps/samples/appsquare |
3 | ⏳ | 2 | src | chrome-archive/apps/samples/appview/embedded-app |
4 | ⏳ | 2 | src | chrome-archive/apps/samples/appview/host-app |
5 | ⏳ | 2 | src | chrome-archive/apps/samples/blink1 |
6 | ⏳ | undefined | src | chrome-archive/apps/samples/bluetooth-samples/battery-service-demo |
7 | ⏳ | undefined | src | chrome-archive/apps/samples/bluetooth-samples/device-info-demo |
8 | ⏳ | undefined | src | chrome-archive/apps/samples/bluetooth-samples/heart-rate-sensor |
9 | ⏳ | 2 | src | chrome-archive/apps/samples/calculator |
10 | ⏳ | 2 | src | chrome-archive/apps/samples/camera-capture |
11 | ⏳ | 2 | src | chrome-archive/apps/samples/clock |
12 | ⏳ | 2 | src | chrome-archive/apps/samples/context-menu |
13 | ⏳ | 2 | src | chrome-archive/apps/samples/dart |
14 | ⏳ | 2 | src | chrome-archive/apps/samples/desktop-capture |
15 | ⏳ | 2 | src | chrome-archive/apps/samples/dialog-element |
16 | ⏳ | 2 | src | chrome-archive/apps/samples/diff |
17 | ⏳ | 2 | src | chrome-archive/apps/samples/filesystem-access |
18 | ⏳ | 2 | src | chrome-archive/apps/samples/frameless-window |
19 | ⏳ | 2 | src | chrome-archive/apps/samples/gcm-notifications |
20 | ⏳ | 2 | src | chrome-archive/apps/samples/gdrive |
21 | ⏳ | 2 | src | chrome-archive/apps/samples/github-auth |
22 | ⏳ | 2 | src | chrome-archive/apps/samples/hello-world |
23 | ⏳ | 2 | src | chrome-archive/apps/samples/hello-world-sync |
24 | ⏳ | 2 | src | chrome-archive/apps/samples/hid |
25 | ⏳ | 2 | src | chrome-archive/apps/samples/identity |
26 | ⏳ | 2 | src | chrome-archive/apps/samples/image-edit |
27 | ⏳ | 2 | src | chrome-archive/apps/samples/instagram-auth |
28 | ⏳ | 2 | src | chrome-archive/apps/samples/io2012-presentation/helloworld |
29 | ⏳ | 2 | src | chrome-archive/apps/samples/io2012-presentation |
30 | ⏳ | 2 | src | chrome-archive/apps/samples/io2012-presentation/servo |
31 | ⏳ | 2 | src | chrome-archive/apps/samples/ioio |
32 | ⏳ | 2 | src | chrome-archive/apps/samples/keyboard-handler |
33 | ⏳ | 2 | src | chrome-archive/apps/samples/managed-in-app-payments |
34 | ⏳ | 2 | src | chrome-archive/apps/samples/manga-cam |
35 | ⏳ | 2 | src | chrome-archive/apps/samples/mdns-browser |
36 | ⏳ | 2 | src | chrome-archive/apps/samples/media-gallery |
37 | ⏳ | 2 | src | chrome-archive/apps/samples/messaging/app1 |
38 | ⏳ | 2 | src | chrome-archive/apps/samples/messaging/app2 |
39 | ⏳ | 2 | src | chrome-archive/apps/samples/messaging/extension |
40 | ⏳ | 2 | src | chrome-archive/apps/samples/mini-code-edit |
41 | ⏳ | 2 | src | chrome-archive/apps/samples/multicast |
42 | ⏳ | 2 | src | chrome-archive/apps/samples/one-time-payment |
43 | ⏳ | 2 | src | chrome-archive/apps/samples/optional-permissions |
44 | ⏳ | 2 | src | chrome-archive/apps/samples/parrot-ar-drone |
45 | ⏳ | 2 | src | chrome-archive/apps/samples/platform-title |
46 | ⏳ | 2 | src | chrome-archive/apps/samples/printing |
47 | ⏳ | 2 | src | chrome-archive/apps/samples/restarted-demo |
48 | ⏳ | 2 | src | chrome-archive/apps/samples/rich-notifications |
49 | ⏳ | 2 | src | chrome-archive/apps/samples/sandbox |
50 | ⏳ | 2 | src | chrome-archive/apps/samples/sandboxed-content |
51 | ⏳ | 2 | src | chrome-archive/apps/samples/serial/adkjs/app |
52 | ⏳ | 2 | src | chrome-archive/apps/samples/serial/espruino |
53 | ⏳ | 2 | src | chrome-archive/apps/samples/serial/ledtoggle |
54 | ⏳ | 2 | src | chrome-archive/apps/samples/serial-control-signals |
55 | ⏳ | 2 | src | chrome-archive/apps/samples/servo |
56 | ⏳ | 2 | src | chrome-archive/apps/samples/storage |
57 | ⏳ | 2 | src | chrome-archive/apps/samples/syncfs-editor |
58 | ⏳ | 2 | src | chrome-archive/apps/samples/systemInfo |
59 | ⏳ | 2 | src | chrome-archive/apps/samples/tasks |
60 | ⏳ | 2 | src | chrome-archive/apps/samples/tcpserver |
61 | ⏳ | 2 | src | chrome-archive/apps/samples/telnet |
62 | ⏳ | 2 | src | chrome-archive/apps/samples/text-editor |
63 | ⏳ | 2 | src | chrome-archive/apps/samples/todomvc |
64 | ⏳ | 2 | src | chrome-archive/apps/samples/tts |
65 | ⏳ | 2 | src | chrome-archive/apps/samples/udp |
66 | ⏳ | 2 | src | chrome-archive/apps/samples/url-handler |
67 | ⏳ | 2 | src | chrome-archive/apps/samples/usb/device-info |
68 | ⏳ | 2 | src | chrome-archive/apps/samples/usb/knob |
69 | ⏳ | 2 | src | chrome-archive/apps/samples/usb-label-printer |
70 | ⏳ | 2 | src | chrome-archive/apps/samples/weather |
71 | ⏳ | 2 | src | chrome-archive/apps/samples/web-store |
72 | ⏳ | 2 | src | chrome-archive/apps/samples/webgl-pointer-lock |
73 | ⏳ | 2 | src | chrome-archive/apps/samples/webserver |
74 | ⏳ | 2 | src | chrome-archive/apps/samples/websocket-server |
75 | ⏳ | 2 | src | chrome-archive/apps/samples/webview-samples/browser |
76 | ⏳ | 2 | src | chrome-archive/apps/samples/webview-samples/declarative-web-request |
77 | ⏳ | 2 | src | chrome-archive/apps/samples/webview-samples/insert-css |
78 | ⏳ | 2 | src | chrome-archive/apps/samples/webview-samples/local-resources |
79 | ⏳ | 2 | src | chrome-archive/apps/samples/webview-samples/multi-tab-browser |
80 | ⏳ | 2 | src | chrome-archive/apps/samples/webview-samples/new-window |
81 | ⏳ | 2 | src | chrome-archive/apps/samples/webview-samples/new-window-user-agent |
82 | ⏳ | 2 | src | chrome-archive/apps/samples/webview-samples/shared-script |
83 | ⏳ | 2 | src | chrome-archive/apps/samples/webview-samples/user-agent |
84 | ⏳ | 2 | src | chrome-archive/apps/samples/webview-samples/webview |
85 | ⏳ | 2 | src | chrome-archive/apps/samples/window-options |
86 | ⏳ | 2 | src | chrome-archive/apps/samples/window-state |
87 | ⏳ | 2 | src | chrome-archive/apps/samples/windows |
88 | ⏳ | 2 | src | chrome-archive/mv2/api/bookmarks/basic |
89 | ⏳ | 2 | src | chrome-archive/mv2/api/browserAction/make_page_red |
90 | ⏳ | 2 | src | chrome-archive/mv2/api/browserAction/print |
91 | ⏳ | 2 | src | chrome-archive/mv2/api/browserAction/set_icon_path |
92 | ⏳ | 2 | src | chrome-archive/mv2/api/browserAction/set_page_color |
93 | ⏳ | 2 | src | chrome-archive/mv2/api/browsingData/basic |
94 | ⏳ | 2 | src | chrome-archive/mv2/api/commands |
95 | ⏳ | 2 | src | chrome-archive/mv2/api/contentSettings |
96 | ⏳ | 2 | src | chrome-archive/mv2/api/contextMenus/basic |
97 | ⏳ | 2 | src | chrome-archive/mv2/api/contextMenus/event_page |
98 | ⏳ | 2 | src | chrome-archive/mv2/api/contextMenus/global_context_search |
99 | ⏳ | 2 | src | chrome-archive/mv2/api/cookies |
100 | ⏳ | 2 | src | chrome-archive/mv2/api/debugger/live-headers |
101 | ⏳ | 2 | src | chrome-archive/mv2/api/debugger/pause-resume |
102 | ⏳ | 2 | src | chrome-archive/mv2/api/default_command_override |
103 | ⏳ | 3 | src | chrome-archive/mv2/api/desktopCapture |
104 | ⏳ | 2 | src | chrome-archive/mv2/api/deviceInfo/basic |
105 | ⏳ | 2 | src | chrome-archive/mv2/api/devtools/network/chrome-firephp |
106 | ⏳ | 2 | src | chrome-archive/mv2/api/devtools/panels/chrome-query |
107 | ⏳ | 2 | src | chrome-archive/mv2/api/displaySource/tabCast |
108 | ⏳ | 2 | src | chrome-archive/mv2/api/document_scan |
109 | ⏳ | 2 | src | chrome-archive/mv2/api/downloads/download_filename_controller |
110 | ⏳ | 2 | src | chrome-archive/mv2/api/downloads/download_links |
111 | ⏳ | 2 | src | chrome-archive/mv2/api/downloads/download_manager |
112 | ⏳ | 2 | src | chrome-archive/mv2/api/downloads/download_open |
113 | ⏳ | 2 | src | chrome-archive/mv2/api/downloads/downloads_overwrite |
114 | ⏳ | 2 | src | chrome-archive/mv2/api/eventPage/basic |
115 | ⏳ | 2 | src | chrome-archive/mv2/api/extension/isAllowedAccess |
116 | ⏳ | 2 | src | chrome-archive/mv2/api/fileSystemProvider/archive |
117 | ⏳ | 2 | src | chrome-archive/mv2/api/fileSystemProvider/basic |
118 | ⏳ | 2 | src | chrome-archive/mv2/api/fontSettings |
119 | ⏳ | 2 | src | chrome-archive/mv2/api/history/historyOverride |
120 | ⏳ | 2 | src | chrome-archive/mv2/api/history/showHistory |
121 | ⏳ | 2 | src | chrome-archive/mv2/api/i18n/cld |
122 | ⏳ | 2 | src | chrome-archive/mv2/api/i18n/detectLanguage |
123 | ⏳ | 2 | src | chrome-archive/mv2/api/i18n/getMessage |
124 | ⏳ | 2 | src | chrome-archive/mv2/api/i18n/localizedHostedApp |
125 | ⏳ | 2 | src | chrome-archive/mv2/api/idle/idle_simple |
126 | ⏳ | 2 | src | chrome-archive/mv2/api/input.ime/basic |
127 | ⏳ | 2 | src | chrome-archive/mv2/api/messaging/timer |
128 | ⏳ | 2 | src | chrome-archive/mv2/api/nativeMessaging/app |
129 | ⏳ | 2 | src | chrome-archive/mv2/api/notifications |
130 | ⏳ | 2 | src | chrome-archive/mv2/api/omnibox/newtab_search |
131 | ⏳ | 2 | src | chrome-archive/mv2/api/omnibox/simple-example |
132 | ⏳ | 2 | src | chrome-archive/mv2/api/override/blank_ntp |
133 | ⏳ | 2 | src | chrome-archive/mv2/api/override/override_igoogle |
134 | ⏳ | 2 | src | chrome-archive/mv2/api/pageAction/pageaction_by_content |
135 | ⏳ | 2 | src | chrome-archive/mv2/api/pageAction/pageaction_by_url |
136 | ⏳ | 2 | src | chrome-archive/mv2/api/pageAction/set_icon |
137 | ⏳ | 2 | src | chrome-archive/mv2/api/permissions/extension-questions |
138 | ⏳ | 2 | src | chrome-archive/mv2/api/power |
139 | ⏳ | 2 | src | chrome-archive/mv2/api/preferences/allowThirdPartyCookies |
140 | ⏳ | 2 | src | chrome-archive/mv2/api/preferences/enableReferrer |
141 | ⏳ | 2 | src | chrome-archive/mv2/api/printing |
142 | ⏳ | 2 | src | chrome-archive/mv2/api/printingMetrics |
143 | ⏳ | 2 | src | chrome-archive/mv2/api/processes/process_monitor |
144 | ⏳ | 2 | src | chrome-archive/mv2/api/processes/show_tabs |
145 | ⏳ | 2 | src | chrome-archive/mv2/api/storage/stylizr |
146 | ⏳ | 2 | src | chrome-archive/mv2/api/tabCapture |
147 | ⏳ | 2 | src | chrome-archive/mv2/api/tabs/inspector |
148 | ⏳ | 2 | src | chrome-archive/mv2/api/tabs/pin |
149 | ⏳ | 2 | src | chrome-archive/mv2/api/tabs/screenshot |
150 | ⏳ | 2 | src | chrome-archive/mv2/api/tabs/zoom |
151 | ⏳ | 2 | src | chrome-archive/mv2/api/topsites/basic |
152 | ⏳ | 2 | src | chrome-archive/mv2/api/topsites/magic8ball |
153 | ⏳ | 2 | src | chrome-archive/mv2/api/ttsEngine/console_tts_engine |
154 | ⏳ | 2 | src | chrome-archive/mv2/api/water_alarm_notification |
155 | ⏳ | 2 | src | chrome-archive/mv2/api/webNavigation/basic |
156 | ⏳ | 2 | src | chrome-archive/mv2/api/webview/capturevisibleregion |
157 | ⏳ | 2 | src | chrome-archive/mv2/api/webview/comm_demo_app |
158 | ⏳ | 2 | src | chrome-archive/mv2/api/webview/comm_demo_ext |
159 | ⏳ | 2 | src | chrome-archive/mv2/api/windows/merge_windows |
160 | ⏳ | 2 | src | chrome-archive/mv2/extensions/app_launcher |
161 | ⏳ | 2 | src | chrome-archive/mv2/extensions/buildbot |
162 | ⏳ | 2 | src | chrome-archive/mv2/extensions/calendar |
163 | ⏳ | 2 | src | chrome-archive/mv2/extensions/catblock |
164 | ⏳ | 2 | src | chrome-archive/mv2/extensions/catifier |
165 | ⏳ | 2 | src | chrome-archive/mv2/extensions/chrome_search |
166 | ⏳ | 2 | src | chrome-archive/mv2/extensions/constant_context |
167 | ⏳ | 2 | src | chrome-archive/mv2/extensions/download_images |
168 | ⏳ | 2 | src | chrome-archive/mv2/extensions/email_this_page |
169 | ⏳ | 2 | src | chrome-archive/mv2/extensions/fx |
170 | ⏳ | undefined | src | chrome-archive/mv2/extensions/gdocs |
171 | ⏳ | 2 | src | chrome-archive/mv2/extensions/gmail |
172 | ⏳ | 2 | src | chrome-archive/mv2/extensions/imageinfo |
173 | ⏳ | 2 | src | chrome-archive/mv2/extensions/irc/app |
174 | ⏳ | 2 | src | chrome-archive/mv2/extensions/managed_bookmarks |
175 | ⏳ | 2 | src | chrome-archive/mv2/extensions/mappy |
176 | ⏳ | 2 | src | chrome-archive/mv2/extensions/maps_app |
177 | ⏳ | undefined | src | chrome-archive/mv2/extensions/news |
178 | ⏳ | 2 | src | chrome-archive/mv2/extensions/news_a11y |
179 | ⏳ | 2 | src | chrome-archive/mv2/extensions/news_i18n |
180 | ⏳ | 2 | src | chrome-archive/mv2/extensions/no_cookies |
181 | ⏳ | 2 | src | chrome-archive/mv2/extensions/oauth_contacts |
182 | ⏳ | 2 | src | chrome-archive/mv2/extensions/optional_permissions |
183 | ⏳ | 2 | src | chrome-archive/mv2/extensions/plugin_settings |
184 | ⏳ | 2 | src | chrome-archive/mv2/extensions/proxy_configuration |
185 | ⏳ | 2 | src | chrome-archive/mv2/extensions/speak_selection |
186 | ⏳ | 2 | src | chrome-archive/mv2/extensions/talking_alarm_clock |
187 | ⏳ | 2 | src | chrome-archive/mv2/extensions/ttsdebug |
188 | ⏳ | 2 | src | chrome-archive/mv2/extensions/ttsdemo |
189 | ⏳ | 2 | src | chrome-archive/mv2/howto/sandbox |
190 | ⏳ | 2 | src | chrome-archive/mv2/howto/tab_shortcuts |
191 | ⏳ | 2 | src | chrome-archive/mv2/tutorials/analytics |
192 | ⏳ | 2 | src | chrome-archive/mv2/tutorials/broken_background_color |
193 | ⏳ | 2 | src | chrome-archive/mv2/tutorials/get_started |
194 | ⏳ | 2 | src | chrome-archive/mv2/tutorials/get_started_complete |
195 | ⏳ | 2 | src | chrome-archive/mv2/tutorials/getstarted |
196 | ⏳ | 2 | src | chrome-archive/mv2/tutorials/hello_extensions |
197 | ⏳ | 2 | src | chrome-archive/mv2/tutorials/oauth_starter |
198 | ⏳ | 2 | src | chrome-archive/mv2/tutorials/oauth_tutorial_complete |
Index | Done | MV | Source | Name |
---|---|---|---|---|
0 | ⏳ | 3 | src | chrome-functional-samples/cookbook.file_handlers |
1 | ⏳ | 3 | src | chrome-functional-samples/cookbook.geolocation-contentscript |
2 | ⏳ | 3 | src | chrome-functional-samples/cookbook.geolocation-offscreen |
3 | ⏳ | 3 | src | chrome-functional-samples/cookbook.geolocation-popup |
4 | ⏳ | 3 | src | chrome-functional-samples/cookbook.offscreen-clipboard-write |
5 | ⏳ | 3 | src | chrome-functional-samples/cookbook.offscreen-dom |
6 | ⏳ | 3 | src | chrome-functional-samples/cookbook.push |
7 | ✅ | 3 | src | chrome-functional-samples/cookbook.sidepanel-global |
8 | ✅ | 3 | src | chrome-functional-samples/cookbook.sidepanel-multiple |
9 | ✅ | 3 | src | chrome-functional-samples/cookbook.sidepanel-open |
10 | ✅ | 3 | src | chrome-functional-samples/cookbook.sidepanel-site-specific |
11 | ✅ | 3 | src | chrome-functional-samples/cookbook.wasm-helloworld-print |
12 | ⏳ | 3 | src | chrome-functional-samples/cookbook.wasm-helloworld-print-nomodule |
13 | ✅ | 3 | src | chrome-functional-samples/reference.mv3-content-scripts |
14 | ⏳ | 3 | src | chrome-functional-samples/sample.bookmarks |
15 | ✅ | 3 | src | chrome-functional-samples/sample.catifier |
16 | ⏳ | 3 | src | chrome-functional-samples/sample.co2meter |
17 | ✅ | 3 | src | chrome-functional-samples/sample.dnr-rule-manager |
18 | ✅ | 3 | src | chrome-functional-samples/sample.favicon-cs |
19 | ✅ | 3 | src | chrome-functional-samples/sample.milestones |
20 | ✅ | 3 | src | chrome-functional-samples/sample.optional_permissions |
21 | ✅ | 3 | src | chrome-functional-samples/sample.page-redder |
22 | ✅ | 3 | src | chrome-functional-samples/sample.sidepanel-dictionary |
23 | ⏳ | 3 | src | chrome-functional-samples/sample.tabcapture-recorder |
24 | ⏳ | 3 | src | chrome-functional-samples/sample.water_alarm_notification |
25 | ✅ | 3 | src | chrome-functional-samples/tutorial.broken-color |
26 | ✅ | 3 | src | chrome-functional-samples/tutorial.focus-mode |
27 | ✅ | 3 | src | chrome-functional-samples/tutorial.focus-mode-debugging |
28 | ✅ | 3 | src | chrome-functional-samples/tutorial.getting-started |
29 | ✅ | 3 | src | chrome-functional-samples/tutorial.google-analytics |
30 | ✅ | 3 | src | chrome-functional-samples/tutorial.hello-world |
31 | ✅ | 3 | src | chrome-functional-samples/tutorial.quick-api-reference |
32 | ✅ | 3 | src | chrome-functional-samples/tutorial.reading-time |
33 | ⏳ | 3 | src | chrome-functional-samples/tutorial.tabs-manager |
34 | ✅ | 3 | src | chrome-functional-samples/tutorial.websockets |
There are some color patterns we should follow. For the CLI to have a unified style language, we should first populate each plugin's "messages" file with what we output to the terminal and go from there.
I am new in npx, can anyone help me with this.
I am getting this on execution of npx extension-create start
npm ERR! cb.apply is not a function npm ERR! A complete log of this run can be found in: npm ERR! /home/ashutosh/.npm/_logs/2021-07-29T22_36_15_037Z-debug.log Install for [ 'extension-create@latest' ] failed with code 1
node --verison: 16.4.2
npx --verison : 10.2.2
No matter what I do, I cannot seem to get the thing to launch. I am consistently rebuked by an error informing me that its preferred localhost address is already in use. I experience this same effect with or without the --port
flag, including after a clean boot, with literally no other web processes in use (see attached imagery below).
As you can see from the stack trace, I'm not seeing anything that would be a whole lotta help (though I have no issues spinning up servers through any other means, including atop 8000).
Any ideas?
I'm running on Wayland (GNOME 45.2)/Ubuntu 23.10, on a 12-core Intel i7 10750H with 32GB of memory, and well over a half terabyte free. Active shell is Bash v.5.2.15, npm is at v10.5.0, and node is on v20.9.0 (lts/iron).
There are a few undocumented bugs/workarounds to make global extension reload that need to be listed and patched. This is for the future.
It seems that bundling the CSS content_script along with the JS file is not enough for reloading the CSS files. A strategy can be appending these styles as dynamic imports into the .js files and targeting the CSS chunk names to where the manifest.json expects.
Using npx extension-create --template chrome/analytics
would resolve to https://github.com/GoogleChrome/chrome-extensions-samples/tree/master/tutorials/analytics which we then download a copy. In this case, the project name can be optional as we can fallback to the sample name.
If I try to use the Firefox-specific property theme_icons
of browser_action
in Chrome, I should receive a warning saying that it will have no effect in the current browser.
Integrate with https://github.com/cezaraugusto/webpack-run-edge-extension.
Such as options_page
.
Most likely to be solved by a custom/external plugin.
If the user has a content_script and decides to reload the tab, we lose HMR and need to fully reload the extension. This is a bug but needs investigation but not top priority at the moment.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.