extension 2.0.0 → 2.0.3

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.
package/README.md CHANGED
@@ -108,15 +108,6 @@ Done. You are all set!
108
108
  | :-----------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------: |
109
109
  | Chrome browser<br>✅ | Edge browser<br>✅ | Firefox browser<br>✅ | Opera browser<br>☑️ | Safari browser<br>❌ | Chromium-based<br>☑️ | Gecko-based<br>☑️ | Firefox (Android)<br>❌ | Safari (iOS)<br>❌ |
110
110
 
111
- ### CSS, preprocessors, and modules
112
-
113
- Extension.js auto-wires styles via its CSS plugin:
114
-
115
- - CSS in HTML entries and content scripts
116
- - Optional SASS/SCSS and LESS pipelines (auto-enabled when deps exist)
117
- - PostCSS/Tailwind when a config is present
118
- - CSS Modules for `.module.(scss|sass|less)` in HTML entries
119
-
120
111
  ### Browser flags and custom binaries
121
112
 
122
113
  Use these flags with `extension dev`, `extension start`, or `extension preview`:
package/dist/cli.js CHANGED
@@ -237,7 +237,7 @@ Cross-Browser Compatibility
237
237
  }
238
238
  if (update && isStableVersion(update.latest)) console.log(checkUpdates(packageJson, update));
239
239
  }
240
- var package_namespaceObject = JSON.parse('{"license":"MIT","repository":{"type":"git","url":"https://github.com/extension-js/extension.js.git","directory":"programs/cli"},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.js"}},"main":"./dist/cli.js","types":"./dist/cli.d.ts","files":["dist","types"],"bin":{"extension":"./dist/cli.js"},"name":"extension","version":"2.0.0","description":"Create cross-browser extensions with no build configuration.","author":{"name":"Cezar Augusto","email":"boss@cezaraugusto.net","url":"https://cezaraugusto.com"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"scripts":{"watch":"rslib build --watch","compile":"rslib build","clean":"rm -rf dist","test":"echo \\"Note: no test specified\\" && exit 0","test:cli":"vitest run"},"keywords":["zero-config","build","develop","browser","extension","chrome extension","edge extension","firefox extension","safari extension","web","react","typescript"],"dependencies":{"@types/chrome":"^0.0.287","@types/node":"^22.10.1","@types/react":"^19.0.1","@types/react-dom":"^19.0.1","@types/webextension-polyfill":"0.12.3","commander":"^12.1.0","extension-create":"workspace:*","extension-develop":"workspace:*","pintor":"0.3.0","semver":"^7.6.3","update-check":"^1.5.4","webextension-polyfill":"^0.12.0"},"devDependencies":{"@rslib/core":"^0.6.9","@types/mock-fs":"^4.13.4","@types/semver":"^7.5.8","mock-fs":"^5.4.1","tsconfig":"*","typescript":"5.7.2","vitest":"3.2.2"}}');
240
+ var package_namespaceObject = JSON.parse('{"license":"MIT","repository":{"type":"git","url":"https://github.com/extension-js/extension.js.git","directory":"programs/cli"},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.js"}},"main":"./dist/cli.js","types":"./dist/cli.d.ts","files":["dist","types"],"bin":{"extension":"./dist/cli.js"},"name":"extension","version":"2.0.3","description":"Create cross-browser extensions with no build configuration.","author":{"name":"Cezar Augusto","email":"boss@cezaraugusto.net","url":"https://cezaraugusto.com"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"scripts":{"watch":"rslib build --watch","compile":"rslib build","clean":"rm -rf dist","test":"echo \\"Note: no test specified\\" && exit 0","test:cli":"vitest run"},"keywords":["zero-config","build","develop","browser","extension","chrome extension","edge extension","firefox extension","safari extension","web","react","typescript","webextension","browser-extension","chrome-extension","firefox-addon","edge-extension","safari-web-extension","manifest-v3","mv3","cross-browser","content-script","background-script","devtools","create-extension","scaffold","starter-template","boilerplate","cli"],"dependencies":{"@types/chrome":"^0.0.287","@types/node":"^22.10.1","@types/react":"^19.0.1","@types/react-dom":"^19.0.1","@types/webextension-polyfill":"0.12.3","commander":"^12.1.0","extension-create":"workspace:*","extension-develop":"workspace:*","pintor":"0.3.0","semver":"^7.6.3","update-check":"^1.5.4","webextension-polyfill":"^0.12.0"},"devDependencies":{"@rslib/core":"^0.6.9","@types/mock-fs":"^4.13.4","@types/semver":"^7.5.8","mock-fs":"^5.4.1","tsconfig":"*","typescript":"5.7.2","vitest":"3.2.2"}}');
241
241
  function parseOptionalBoolean(value) {
242
242
  if (void 0 === value) return true;
243
243
  const normalized = String(value).trim().toLowerCase();
package/package.json CHANGED
@@ -25,7 +25,7 @@
25
25
  "extension": "./dist/cli.js"
26
26
  },
27
27
  "name": "extension",
28
- "version": "2.0.0",
28
+ "version": "2.0.3",
29
29
  "description": "Create cross-browser extensions with no build configuration.",
30
30
  "author": {
31
31
  "name": "Cezar Augusto",
@@ -48,7 +48,24 @@
48
48
  "safari extension",
49
49
  "web",
50
50
  "react",
51
- "typescript"
51
+ "typescript",
52
+ "webextension",
53
+ "browser-extension",
54
+ "chrome-extension",
55
+ "firefox-addon",
56
+ "edge-extension",
57
+ "safari-web-extension",
58
+ "manifest-v3",
59
+ "mv3",
60
+ "cross-browser",
61
+ "content-script",
62
+ "background-script",
63
+ "devtools",
64
+ "create-extension",
65
+ "scaffold",
66
+ "starter-template",
67
+ "boilerplate",
68
+ "cli"
52
69
  ],
53
70
  "dependencies": {
54
71
  "@types/chrome": "^0.0.287",
@@ -61,8 +78,8 @@
61
78
  "semver": "^7.6.3",
62
79
  "update-check": "^1.5.4",
63
80
  "webextension-polyfill": "^0.12.0",
64
- "extension-create": "2.0.0",
65
- "extension-develop": "2.0.0"
81
+ "extension-create": "2.0.1",
82
+ "extension-develop": "2.0.3"
66
83
  },
67
84
  "devDependencies": {
68
85
  "@rslib/core": "^0.6.9",
package/types/index.d.ts CHANGED
@@ -1 +1,60 @@
1
- declare const x: number
1
+ /// <reference types="node" />
2
+ /// <reference types="chrome" />
3
+ /// <reference types="./js-frameworks.d.ts" />
4
+ /// <reference path="./css-content.d.ts" />
5
+ /// <reference path="./css-modules.d.ts" />
6
+ /// <reference path="./images.d.ts" />
7
+
8
+ type ExtensionBrowser =
9
+ | 'chrome'
10
+ | 'edge'
11
+ | 'firefox'
12
+ | 'chromium-based'
13
+ | 'gecko-based'
14
+
15
+ type ExtensionMode = 'development' | 'production'
16
+
17
+ interface ExtensionEnv {
18
+ EXTENSION_BROWSER: ExtensionBrowser
19
+ EXTENSION_MODE: ExtensionMode
20
+ EXTENSION_PUBLIC_BROWSER: ExtensionBrowser
21
+ EXTENSION_PUBLIC_MODE: ExtensionMode
22
+ EXTENSION_PUBLIC_DESCRIPTION_TEXT: string
23
+ EXTENSION_PUBLIC_OPENAI_API_KEY: string
24
+ EXTENSION_ENV: ExtensionMode
25
+ }
26
+
27
+ // Global augmentations
28
+ declare global {
29
+ namespace NodeJS {
30
+ interface ProcessEnv extends ExtensionEnv {
31
+ [key: string]: string | undefined
32
+ }
33
+ }
34
+
35
+ interface ImportMetaEnv extends ExtensionEnv {
36
+ [key: string]: string | undefined
37
+ }
38
+
39
+ interface ImportMeta {
40
+ readonly env: ImportMetaEnv
41
+ readonly webpackHot?: {
42
+ accept: (module?: string | string[], callback?: () => void) => void
43
+ dispose: (callback: () => void) => void
44
+ }
45
+ url: string
46
+ }
47
+
48
+ interface Window {
49
+ /**
50
+ * @deprecated
51
+ * @description
52
+ * This is how Extension.js used to inject the shadow root into the window object.
53
+ * Use the shadowRoot reference from the content script instead.
54
+ */
55
+ __EXTENSION_SHADOW_ROOT__: ShadowRoot
56
+ }
57
+ }
58
+
59
+ // This export is needed for TypeScript to treat this file as a module
60
+ export {}