0.2.9 • Published 9 years ago

chrome-manifest v0.2.9

Weekly downloads
638
License
MIT
Repository
github
Last release
9 years ago

chrome-manifest Build Status

Help you manage manifest when you are developing Chrome Apps and Extensions

Install

$ npm install --save chrome-manifest

Usage

Manifest

var Manifest = require('chrome-manifest');
var manifest = new Manifest('manifest.json');

// exclude value or key what you want
manifest.exclude([
  {
    // you can use string array expression to access array property
    'content_scripts.[0].matches': [
      "http://*/*"
    ]
  },
  {
    'background.scripts': [
      'scripts/willbe-remove-only-for-debug.js',
      'scripts/user-script.js'
    ]
  },
  'manifest_version',
  'key'
]);

// get/set
console.log(manifest.content_scripts.[0].matches.length);
console.log(manifest.content_scripts.[0]);
console.log(manifest.background.scripts);
console.log(manifest.manifest_version);
console.log(manifest.manifest['key']);

// patch version from 0.0.1 to 0.0.2
manifest.patch();

// Get various types
console.log(manifest.toJSON());
console.log(manifest.toBuffer());
console.log(manifest.toString());

Metadata

Generating manifest.json with basic sample configures

var Manifest = require('chrome-manifest');

// Query permissions by stable and platform_app(Chrome Apps)
var metadata = Manifest.queryMetadata({
  channel: 'stable',
  extensionTypes: ['platform_app']
});

// Create a manifest with selected fields and permissions of Chrome Manifest
var manifest = new Manifest({
  fields: Object.keys(metadata.fields),
  permissions: Object.keys(metadata.permissions)
});

// Merge with new value
manifest.merge({
  name: 'My Apps',
  author: 'New Author',
  app: {
    background: {
      scripts: [
        "scripts/background.js",
        "scripts/addmore.js"
      ]
    }
  },
  permissions: [
    'tabs',
    'http://*/**',
    'https://*/**',
    'test permissions'
  ]
});

assert.equal(manifest.name, 'My Apps');
assert.equal(manifest.author, 'New Author');
assert.equal(manifest.app.background.scripts.length, 2);
assert.equal(manifest.app.background.scripts[1], 'scripts/addmore.js');
assert(manifest.permissions.indexOf('test permissions') >= 0);

License

MIT ©Jimmy Moon

0.2.9

9 years ago

0.2.8

9 years ago

0.2.7

9 years ago

0.2.6

10 years ago

0.2.5

10 years ago

0.2.4

10 years ago

0.2.3

10 years ago

0.2.2

10 years ago

0.2.1

10 years ago

0.2.0

10 years ago

0.1.5

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago

0.0.9

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago