mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-13 18:57:29 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
53
addon-sdk/source/lib/jetpack-id/index.js
Normal file
53
addon-sdk/source/lib/jetpack-id/index.js
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
/**
|
||||
* Takes parsed `package.json` manifest and returns
|
||||
* valid add-on id for it.
|
||||
*/
|
||||
function getID(manifest) {
|
||||
manifest = manifest || {};
|
||||
|
||||
if (manifest.id) {
|
||||
|
||||
if (typeof manifest.id !== "string") {
|
||||
return null;
|
||||
}
|
||||
|
||||
// If manifest.id is already valid (as domain or GUID), use it
|
||||
if (isValidAOMName(manifest.id)) {
|
||||
return manifest.id;
|
||||
}
|
||||
// Otherwise, this ID is invalid so return `null`
|
||||
return null;
|
||||
}
|
||||
|
||||
// If no `id` defined, turn `name` into a domain ID,
|
||||
// as we transition to `name` being an id, similar to node/npm, but
|
||||
// append a '@' to make it compatible with Firefox requirements
|
||||
if (manifest.name) {
|
||||
|
||||
if (typeof manifest.name !== "string") {
|
||||
return null;
|
||||
}
|
||||
|
||||
var modifiedName = "@" + manifest.name;
|
||||
return isValidAOMName(modifiedName) ? modifiedName : null;
|
||||
}
|
||||
|
||||
// If no `id` or `name` property, return null as this manifest
|
||||
// is invalid
|
||||
return null;
|
||||
}
|
||||
|
||||
module.exports = getID;
|
||||
|
||||
/**
|
||||
* Regex taken from XPIProvider.jsm in the Addon Manager to validate proper
|
||||
* IDs that are able to be used.
|
||||
* http://mxr.mozilla.org/mozilla-central/source/toolkit/mozapps/extensions/internal/XPIProvider.jsm#209
|
||||
*/
|
||||
function isValidAOMName (s) {
|
||||
return /^(\{[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\}|[a-z0-9-\._]*\@[a-z0-9-\._]+)$/i.test(s || "");
|
||||
}
|
||||
28
addon-sdk/source/lib/jetpack-id/package.json
Normal file
28
addon-sdk/source/lib/jetpack-id/package.json
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
"name": "jetpack-id",
|
||||
"version": "1.0.0",
|
||||
"description": "Creates an ID from a Firefox Jetpack manifest",
|
||||
"main": "index.js",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "http://github.com/jsantell/jetpack-id"
|
||||
},
|
||||
"author": {
|
||||
"name": "Jordan Santell",
|
||||
"url": "http://github.com/jsantell"
|
||||
},
|
||||
"license": "MPL-2.0",
|
||||
"scripts": {
|
||||
"test": "./node_modules/.bin/mocha --reporter spec --ui bdd"
|
||||
},
|
||||
"keywords": [
|
||||
"jetpack",
|
||||
"addon",
|
||||
"mozilla",
|
||||
"firefox"
|
||||
],
|
||||
"devDependencies": {
|
||||
"mocha": "*",
|
||||
"chai": "*"
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue