Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

manifesto

Compile browser extension store listings from a single data source. Generates per-store submission copy for the Chrome Web Store, Edge Add-ons, and Firefox AMO that matches each store's submission flow exactly, so fields can be copy-pasted directly into the dashboard.

Install

npm install --save-dev @gormanity/manifesto

Usage

Create listing.config.js at your project root:

/** @type {import('@gormanity/manifesto').Listing} */
export default {
  meta: {
    name: "My Extension",
    officialUrl: "https://github.com/you/my-extension",
    homepageUrl: "https://github.com/you/my-extension",
    supportUrl: "https://github.com/you/my-extension/issues",
    privacyPolicyUrl: "https://github.com/you/my-extension/blob/main/PRIVACY.md",
    language: "English (en-US)",
    supportEmail: null,
    license: "MIT",
  },
  copy: {
    shortDescription: "...",
    detailedDescription: "...",
    versionNotes: "...",
  },
  categories: { chrome: "Productivity", edge: "Productivity", firefox: ["Other"] },
  reviewerNotes: { intro: "...", verification: ["..."], closingNote: "..." },
  chrome: {
    singlePurpose: "...",
    remoteCodeJustification: "...",
    permissionJustifications: [{ permission: "`storage`", justification: "..." }],
  },
  edge: { searchTerms: ["..."] },
  firefox: {
    reviewerVerification: ["..."],
    knownLimitations: ["..."],
    sourceBuildInstructions: "1. npm install\n2. npm run build",
  },
};

Then run:

npx manifesto build

This writes:

  • dist/store/chrome.md — Chrome Web Store dashboard flow
  • dist/store/edge.md — Edge Add-ons partner center flow
  • dist/store/firefox.md — Firefox AMO submission flow

Options

manifesto build [options]

  --config <path>    Path to listing config (default: ./listing.config.js)
  --manifest <path>  Path to extension manifest.json (default: ./manifest.json)
  --out <path>       Output directory (default: ./dist/store)

Programmatic use

import {
  renderChrome,
  renderEdge,
  renderFirefox,
} from "@gormanity/manifesto";

License

MIT

About

Compile browser extension store listings from a single data source.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages