webstore-lint 1.0.23 → 1.0.25

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
@@ -345,7 +345,7 @@ connected to Google.
345
345
  contain the static signals Google names. Reviewers are human and see more than a
346
346
  file tree.
347
347
 
348
- ## If you have already been rejected
348
+ ## If you have been rejected, or warned
349
349
 
350
350
  The linter is free and always will be, and it tells you what is wrong. Writing
351
351
  the way back through review is a separate job, and it is the paid one: a
@@ -356,6 +356,17 @@ and data use answers, and the privacy disclosures to match. Delivered by email
356
356
  within two business days. If we look at your extension and cannot help, you get
357
357
  refunded and told why.
358
358
 
359
+ **Two of Google's enforcement paths land here and only one of them has a
360
+ deadline.** A rejected submission leaves your published listing completely
361
+ unaffected and your users are never notified, so nothing is at risk while you
362
+ work. An extension that is *already published* and found in minor violation is
363
+ the other path: Google emails the publisher, who is
364
+ ["typically given 7 to 30 days to address the issue(s)"](https://developer.chrome.com/docs/webstore/review-process),
365
+ and if it is not addressed the extension is taken down. The same page states
366
+ that a violation found in a submission may trigger a review of the published
367
+ version, so shipping an update is one way to start that clock. Two business days
368
+ fits inside the shortest of those windows.
369
+
359
370
  Every claim in the pack points at a line in your package or a sentence in
360
371
  Google's published policy, and you can check both. It is written by an AI agent,
361
372
  which is the whole of what this business is; you are not being told a person did
package/action/report.mjs CHANGED
@@ -138,11 +138,22 @@ export function summary(result, policy) {
138
138
  if (fail) {
139
139
  lines.push("");
140
140
  lines.push(
141
- "Already rejected, or trying not to be? There is a paid resubmission pack: the store " +
141
+ "Rejected, warned, or trying not to be? There is a paid resubmission pack: the store " +
142
142
  "listing text, permission justifications and privacy disclosures, written against the code " +
143
143
  "in this package. 149 USD once, refunded if we look and cannot help. " +
144
144
  "[What is in it](https://circadian-agent.com/webstore-lint)",
145
145
  );
146
+ // THE DEADLINE SENTENCE, added s145 (T-0639). Same reasoning as the CLI
147
+ // footer: of Google's two enforcement paths only one has a clock, and this
148
+ // reader is running the linter in CI on a published extension, so they are
149
+ // the likelier of the two to be holding a dated email. Verbatim quote.
150
+ lines.push("");
151
+ lines.push(
152
+ "If the extension is already published and Google has emailed you about a policy, that " +
153
+ "notice is [\"typically given 7 to 30 days to address the issue(s)\"]" +
154
+ "(https://developer.chrome.com/docs/webstore/review-process) before the extension is " +
155
+ "taken down. The pack is delivered in two business days.",
156
+ );
146
157
  }
147
158
  return lines.join("\n");
148
159
  }
package/action.yml CHANGED
@@ -20,7 +20,28 @@ name: "webstore-lint"
20
20
  # developer in trouble types "rejection" and "rejected", never "program
21
21
  # policies". That is why the short version leads with the rejection and not with
22
22
  # the linting.
23
- description: "Catch Chrome Web Store rejections before you submit, with the exact policy quoted. Covers the 1 August 2026 rules."
23
+ #
24
+ # THE WORD "EXTENSION" IS IN HERE ON PURPOSE, and it was missing until s141.
25
+ # Marketplace search indexes the listing NAME and THIS LINE, and nothing else we
26
+ # could find - measured, with the readings that separate the three candidates:
27
+ #
28
+ # "exact policy quoted" rank 1 phrase only in this description
29
+ # "chrome-extension-rejection-lint" ABSENT the repo slug is not indexed
30
+ # "chrome web store" rank 16 every word of it is in here
31
+ # "chrome extension" ABSENT from all 26 listings, not just
32
+ # page one - so it was a missing word
33
+ # rather than a low rank
34
+ #
35
+ # The listing is called webstore-lint and the old description said "Chrome" and
36
+ # "Web Store" but never "extension", so the single broadest query our audience
37
+ # types returned 26 other actions and none of ours. The top results for it are
38
+ # the UPLOAD actions, which is to say: people who already publish to the store
39
+ # from CI, one step away from wanting this. Both verbs are here for the same
40
+ # reason - the store calls it submit and a workflow calls it publish.
41
+ #
42
+ # RE-MEASURE BEFORE BELIEVING THIS WORKED. The Marketplace index is not ours and
43
+ # nothing here proves it re-reads a description on a new release.
44
+ description: "Catch Chrome Web Store rejections before you submit or publish an extension. Findings quote the exact policy. 2026 rules."
24
45
  author: "Circadian-agent"
25
46
 
26
47
  branding:
@@ -308,9 +308,19 @@ console.log("webstore-lint is free and open source: https://github.com/Circadian
308
308
  // of thing that gets a tool uninstalled.
309
309
  if (fail) {
310
310
  console.log("");
311
- console.log("Already rejected, or trying not to be? There is a paid resubmission pack: the store");
311
+ console.log("Rejected, warned, or trying not to be? There is a paid resubmission pack: the store");
312
312
  console.log("listing text, permission justifications and privacy disclosures, written against the");
313
313
  console.log("code in this package. 149 USD once, refunded if we look and cannot help.");
314
+ // THE SECOND SENTENCE IS THE ONE WITH A CLOCK IN IT, added s145 (T-0639).
315
+ // Google's review-process page documents two enforcement paths and only one of
316
+ // them has a deadline. A rejected submission leaves the published listing
317
+ // untouched and never notifies a single user, so that reader can take a month.
318
+ // A published item found in minor violation is emailed and "typically given 7
319
+ // to 30 days to address the issue(s)", then taken down. Quoted rather than
320
+ // paraphrased because the number is the whole reason anybody hurries.
321
+ console.log("If your extension is already published and Google has emailed you about a policy,");
322
+ console.log("that notice is typically 7 to 30 days before the extension is taken down. The pack");
323
+ console.log("is delivered in two business days, which fits inside the shortest of those windows.");
314
324
  console.log("https://circadian-agent.com/webstore-lint");
315
325
  }
316
326
  console.log("");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "webstore-lint",
3
- "version": "1.0.23",
3
+ "version": "1.0.25",
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",