diff --git a/src/config.js b/src/config.js index ec7332c..63b976d 100644 --- a/src/config.js +++ b/src/config.js @@ -4,6 +4,13 @@ window.packageConfig = [ file: 'package.json', registry: window.registry.npm, parse: window.parser.json, - keys: ['dependencies', 'devDependencies'] + keys: ['dependencies', 'devDependencies'], + }, + { + name: 'composer', + file: 'composer.json', + registry: window.registry.composer, + parse: window.parser.json, + keys: ['require', 'require-dev'], }, ]; diff --git a/src/display.js b/src/display.js index 0689c92..dbb378d 100644 --- a/src/display.js +++ b/src/display.js @@ -26,7 +26,9 @@ function display(deps, devDeps, config) { } function addDependencies(body, deps, registry, dev) { - body.appendChild(subHeader(dev)) + if (deps) { + body.appendChild(subHeader(dev)) + } for (dep in deps) { var row = document.createElement('tr'); @@ -42,7 +44,7 @@ function subHeader(dev) { var row = document.createElement('tr'); var td = document.createElement('td'); var header = document.createElement('strong'); - + header.textContent = dev ? 'Development Dependencies' : 'Project Dependencies'; td.colSpan = tableHeaders.length; td.appendChild(header); diff --git a/src/manifest.json b/src/manifest.json index 04f6a09..998ef1a 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -17,12 +17,7 @@ } ], "permissions": [ - "https://registry.npmjs.org/" - ], - "background": { - "scripts": [ - "registry.js" - ], - "persistent": false - } + "https://registry.npmjs.org/", + "https://packagist.org/" + ] } diff --git a/src/registry.js b/src/registry.js index 88c5b03..c3cd9e6 100644 --- a/src/registry.js +++ b/src/registry.js @@ -15,10 +15,22 @@ function npm(packageName, callback) { } } +function composer(packageName, callback) { + var url = registryConfig.composer + packageName; + getExtraPackageData(url, listener); + + function listener() { + var data = JSON.parse(this.responseText)['results'][0]; + callback('-', data.description, data.repository); + } +} + var registryConfig = { npm: 'https://registry.npmjs.org/', + composer: 'https://packagist.org/search.json?q=', }; window.registry = { npm: npm, + composer: composer, };