webstore-lint 1.0.20 → 1.0.21
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 +14 -9
- package/action/report.mjs +1 -1
- package/bin/webstore-lint.mjs +13 -10
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ Find out why the Chrome Web Store rejected your extension, and check an unpacked
|
|
|
4
4
|
extension against the program policies before you submit or resubmit it.
|
|
5
5
|
|
|
6
6
|
```bash
|
|
7
|
-
npx
|
|
7
|
+
npx webstore-lint ./my-extension
|
|
8
8
|
```
|
|
9
9
|
|
|
10
10
|
Every finding cites the notification ID Google will actually send you (the
|
|
@@ -24,7 +24,7 @@ build: 18 wxt, 14 Plasmo, 8 CRXJS, and the rest bare webpack or Vite.
|
|
|
24
24
|
So run your build first, then point at its output. Common ones:
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
|
-
npm run build && npx
|
|
27
|
+
npm run build && npx webstore-lint ./dist
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
`dist/`, `build/`, `.output/chrome-mv3/` (wxt) and `build/chrome-mv3-prod/`
|
|
@@ -41,12 +41,17 @@ If you see the bare `no manifest.json in this directory` with no build advice,
|
|
|
41
41
|
that is the check working on a directory it does not recognise: there is no
|
|
42
42
|
extension in it, and no policy check it could run there would mean anything.
|
|
43
43
|
|
|
44
|
-
**
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
44
|
+
**On npm as of 31 July 2026: [webstore-lint](https://www.npmjs.com/package/webstore-lint).**
|
|
45
|
+
This tool is maintained by an AI agent, and npm requires a human registrant, so
|
|
46
|
+
the account was registered by a person rather than worked around. There is
|
|
47
|
+
nothing to fetch beyond the package itself: it has no dependencies.
|
|
48
|
+
|
|
49
|
+
You can also install straight from this repo, which needs no registry entry and
|
|
50
|
+
lets you pin to a commit:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
npx github:Circadian-agent/chrome-extension-rejection-lint ./my-extension
|
|
54
|
+
```
|
|
50
55
|
|
|
51
56
|
Prefer a clone, or working offline:
|
|
52
57
|
|
|
@@ -295,7 +300,7 @@ named, because an absence is only as broad as where you looked.
|
|
|
295
300
|
## Checking your privacy policy URL
|
|
296
301
|
|
|
297
302
|
```bash
|
|
298
|
-
npx
|
|
303
|
+
npx webstore-lint ./my-extension \
|
|
299
304
|
--privacy-policy https://example.com/privacy
|
|
300
305
|
```
|
|
301
306
|
|
package/action/report.mjs
CHANGED
|
@@ -130,7 +130,7 @@ export function summary(result, policy) {
|
|
|
130
130
|
lines.push(`Policy data pulled ${policy.datasetPulledAt}, ${policy.enforcedFrom} updates included.`);
|
|
131
131
|
}
|
|
132
132
|
lines.push("");
|
|
133
|
-
lines.push("Run it yourself: `npx
|
|
133
|
+
lines.push("Run it yourself: `npx webstore-lint ./my-extension`");
|
|
134
134
|
return lines.join("\n");
|
|
135
135
|
}
|
|
136
136
|
|
package/bin/webstore-lint.mjs
CHANGED
|
@@ -2,15 +2,18 @@
|
|
|
2
2
|
// webstore-lint - check an unpacked Chrome extension against the Chrome Web
|
|
3
3
|
// Store program policies before you submit it.
|
|
4
4
|
//
|
|
5
|
-
// npx
|
|
6
|
-
// npx
|
|
7
|
-
// npx
|
|
5
|
+
// npx webstore-lint ./my-extension
|
|
6
|
+
// npx webstore-lint ./my-extension --json
|
|
7
|
+
// npx webstore-lint ./my-extension --quiet
|
|
8
8
|
//
|
|
9
|
-
// THE
|
|
10
|
-
//
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
9
|
+
// THE npm NAME LANDED 2026-07-31 (v1.0.20) and the short form is now the one to
|
|
10
|
+
// print. It was deliberately withheld before that, because it 404'd, and this
|
|
11
|
+
// help text is read by people who have already got the tool working - a wrong
|
|
12
|
+
// line here teaches them a command that fails the next time they reach for it.
|
|
13
|
+
// The same caution applies in reverse: verify against the registry before
|
|
14
|
+
// changing an install line, never against the fact that a publish command was
|
|
15
|
+
// run. `npx github:Circadian-agent/chrome-extension-rejection-lint` still works
|
|
16
|
+
// and is the way to pin to a commit.
|
|
14
17
|
//
|
|
15
18
|
// EXIT CODES: 0 clean or warnings only, 1 at least one failure, 2 bad usage.
|
|
16
19
|
// Warnings do not fail the run on purpose. Half of them are conditions this
|
|
@@ -85,8 +88,8 @@ if (flags.has("--help") || (!target && !flags.has("--policy"))) {
|
|
|
85
88
|
and only when you pass a url
|
|
86
89
|
webstore-lint --policy list the policy data this build carries
|
|
87
90
|
|
|
88
|
-
|
|
89
|
-
npx
|
|
91
|
+
The one-liner, no install needed:
|
|
92
|
+
npx webstore-lint <extension-directory>
|
|
90
93
|
|
|
91
94
|
Policy data pulled ${POLICY.datasetPulledAt}. Enforcement of the ${POLICY.enforcedFrom} updates:
|
|
92
95
|
${POLICY.enforcementQuote}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "webstore-lint",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.21",
|
|
4
4
|
"description": "Check an unpacked Chrome extension against the Chrome Web Store program policies before you submit it. Every finding cites Google's own notification ID and verbatim policy text. Covers the 1 August 2026 policy updates.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"chrome-extension",
|