diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 47d2ef4e..823a81ac 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -137,4 +137,4 @@ To publish your changes as the project owner: npm run-script release ``` - > A prompt will occur asking you for a git tag annotation, enter the changelog entry that we created earlier, save and exit the prompt. + > A prompt will occur asking you for a git tag annotation, enter the changelog entry that we created earlier, save and exit the prompt. \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md index e2dc13e9..3ecb4e00 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,2 +1,23 @@ + - +

License

+ +Unless stated otherwise all works are: + + + +and licensed under: + + + +

MIT License

+ +
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ + \ No newline at end of file diff --git a/README.md b/README.md index bc4af887..61d94632 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,25 @@ -# Projectz +

Projectz

-[![Build Status](https://img.shields.io/travis/bevry/projectz/master.svg)](http://travis-ci.org/bevry/projectz "Check this project's build status on TravisCI") -[![NPM version](https://img.shields.io/npm/v/projectz.svg)](https://npmjs.org/package/projectz "View this project on NPM") -[![NPM downloads](https://img.shields.io/npm/dm/projectz.svg)](https://npmjs.org/package/projectz "View this project on NPM") -[![Dependency Status](https://img.shields.io/david/bevry/projectz.svg)](https://david-dm.org/bevry/projectz) -[![Dev Dependency Status](https://img.shields.io/david/dev/bevry/projectz.svg)](https://david-dm.org/bevry/projectz#info=devDependencies)
-[![Gratipay donate button](https://img.shields.io/gratipay/bevry.svg)](https://www.gratipay.com/bevry/ "Donate weekly to this project using Gratipay") -[![Flattr donate button](https://img.shields.io/badge/flattr-donate-yellow.svg)](http://flattr.com/thing/344188/balupton-on-Flattr "Donate monthly to this project using Flattr") -[![PayPal donate button](https://img.shields.io/badge/paypal-donate-yellow.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QB8GQPZAH84N6 "Donate once-off to this project using Paypal") -[![BitCoin donate button](https://img.shields.io/badge/bitcoin-donate-yellow.svg)](https://coinbase.com/checkouts/9ef59f5479eec1d97d63382c9ebcb93a "Donate once-off to this project using BitCoin") -[![Wishlist browse button](https://img.shields.io/badge/wishlist-donate-yellow.svg)](http://amzn.com/w/2F8TXKSNAFG4V "Buy an item on our wishlist for us") +Travis CI Build Status +NPM version +NPM downloads +Dependency Status +Dev Dependency Status +
+Slack community badge +Patreon donate button +Gratipay donate button +Flattr donate button +PayPal donate button +Bitcoin donate button +Wishlist browse button @@ -57,11 +60,11 @@ Here's some of the things it can do: -## Install +

Install

-### [NPM](http://npmjs.org/) -- Use: `require('projectz')` -- Install: `npm install --save projectz` +

NPM

@@ -228,66 +231,70 @@ As an example, here is a a basic `README.md` file: -## History -[Discover the change history by heading on over to the `HISTORY.md` file.](https://github.com/bevry/projectz/blob/master/HISTORY.md#files) +

History

+ +Discover the release history by heading on over to the HISTORY.md file. -## Contribute +

Contribute

-[Discover how you can contribute by heading on over to the `CONTRIBUTING.md` file.](https://github.com/bevry/projectz/blob/master/CONTRIBUTING.md#files) +Discover how you can contribute by heading on over to the CONTRIBUTING.md file. -## Backers +

Backers

-### Maintainers +

Maintainers

These amazing people are maintaining this project: -- Benjamin Lupton (https://github.com/balupton) -- Rob Loach (https://github.com/RobLoach) + -### Sponsors +

Sponsors

No sponsors yet! Will you be the first? -[![Gratipay donate button](https://img.shields.io/gratipay/bevry.svg)](https://www.gratipay.com/bevry/ "Donate weekly to this project using Gratipay") -[![Flattr donate button](https://img.shields.io/badge/flattr-donate-yellow.svg)](http://flattr.com/thing/344188/balupton-on-Flattr "Donate monthly to this project using Flattr") -[![PayPal donate button](https://img.shields.io/badge/paypal-donate-yellow.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QB8GQPZAH84N6 "Donate once-off to this project using Paypal") -[![BitCoin donate button](https://img.shields.io/badge/bitcoin-donate-yellow.svg)](https://coinbase.com/checkouts/9ef59f5479eec1d97d63382c9ebcb93a "Donate once-off to this project using BitCoin") -[![Wishlist browse button](https://img.shields.io/badge/wishlist-donate-yellow.svg)](http://amzn.com/w/2F8TXKSNAFG4V "Buy an item on our wishlist for us") +Patreon donate button +Gratipay donate button +Flattr donate button +PayPal donate button +Bitcoin donate button +Wishlist browse button -### Contributors +

Contributors

These amazing people have contributed code to this project: -- [Benjamin Lupton](https://github.com/balupton) — [view contributions](https://github.com/bevry/projectz/commits?author=balupton) -- [pflannery](https://github.com/pflannery) — [view contributions](https://github.com/bevry/projectz/commits?author=pflannery) -- [Rob Loach](https://github.com/RobLoach) — [view contributions](https://github.com/bevry/projectz/commits?author=RobLoach) -- [Zearin](https://github.com/Zearin) — [view contributions](https://github.com/bevry/projectz/commits?author=Zearin) + -[Become a contributor!](https://github.com/bevry/projectz/blob/master/CONTRIBUTING.md#files) +Discover how you can contribute by heading on over to the CONTRIBUTING.md file. -## License +

License

Unless stated otherwise all works are: -- Copyright © 2013+ Bevry Pty Ltd (http://bevry.me) + and licensed under: -- The incredibly [permissive](http://en.wikipedia.org/wiki/Permissive_free_software_licence) [MIT License](http://opensource.org/licenses/mit-license.php) + - + \ No newline at end of file diff --git a/esnext/lib/backer-util.js b/esnext/lib/backer-util.js index 08011a11..cf6fbc22 100644 --- a/esnext/lib/backer-util.js +++ b/esnext/lib/backer-util.js @@ -61,7 +61,7 @@ export function getContributorsText (opts) { // ignore result += 'No contributors yet! Will you be the first?' + - `\n${getContributeLink(opts, {optional: true})}` + `\n\n${getContributeLink(opts, {optional: true})}` } else { result += @@ -128,7 +128,7 @@ export function getContributeSection (opts) { const result = [ '

Contribute

', '', - getContributeLink(opts) + getContributeLink(opts, {}) ].join('\n') // Return diff --git a/esnext/lib/install-util.js b/esnext/lib/install-util.js index c871b48a..4f42cb13 100644 --- a/esnext/lib/install-util.js +++ b/esnext/lib/install-util.js @@ -11,13 +11,15 @@ export function getInstallInstructions (opts) { else { // Node - if ( opts.packages.package ) { + if ( opts.filenamesForPackageFiles.package ) { + const npmLink = projectzUtil.getLink({text: '

NPM

', url: 'https://npmjs.com', title: 'npm is a package manager for javascript'}) + if ( opts.preferGlobal ) { const commands = '' + Object.keys(opts.bin || {}).join(' ') + '' // Global NPM parts.push([ - `

${projectzUtil.getLink({text: 'NPM', url: 'https://npmjs.com', title: 'npm is a package manager for javascript'})}

    `, + `${npmLink}
      `, `
    • Install: npm install --global ${opts.name}
    • `, `
    • Use: ${commands}
    ` ].join('\n')) @@ -25,7 +27,7 @@ export function getInstallInstructions (opts) { else { // Local NPM parts.push([ - `

    ${projectzUtil.getLink({text: 'NPM', url: 'https://npmjs.com', title: 'npm is a package manager for javascript'})}

      `, + `${npmLink}
        `, `
      • Install: npm install --save ${opts.name}
      • `, `
      • Use: require('${opts.name}')
      ` ].join('\n')) @@ -33,14 +35,17 @@ export function getInstallInstructions (opts) { // Browser if ( opts.browsers ) { + const browserifyLink = projectzUtil.getLink({text: '

      Browserify

      ', url: 'http://browserify.org', title: "Browserify lets you require('modules') in the browser by bundling up all of your dependencies"}) parts.push([ - `

      ${projectzUtil.getLink({text: 'Browserify', url: 'http://browserify.org', title: "Browserify lets you require('modules') in the browser by bundling up all of your dependencies"})}

        `, + `${browserifyLink}
          `, `
        • Install: npm install --save ${opts.name}
        • `, - `
        • Use: require('${opts.name}')
        • ` + `
        • Use: require('${opts.name}')
        • `, `
        • CDN URL: //wzrd.in/bundle/${opts.name}@${opts.version}
        ` ].join('\n')) + + const enderLink = projectzUtil.getLink({text: '

        Ender

        ', url: 'http://enderjs.com', title: 'Ender is a full featured package manager for your browser'}) parts.push([ - `

        ${projectzUtil.getLink({text: 'Ender', url: 'http://enderjs.com', title: 'Ender is a full featured package manager for your browser'})}

          `, + `${enderLink}
            `, `
          • Install: ender add ${opts.name}
          • `, `
          • Use: require('${opts.name}')
          ` ].join('\n')) @@ -48,18 +53,20 @@ export function getInstallInstructions (opts) { } // Component - if ( opts.packages.component ) { + if ( opts.filenamesForPackageFiles.component ) { + const componentLink = projectzUtil.getLink({text: '

          Component

          ', url: 'https://github.com/component/component', title: 'Frontend package manager and build tool for modular web applications'}) parts.push([ - `

          ${projectzUtil.getLink({text: 'Component', url: 'https://github.com/component/component', title: 'Frontend package manager and build tool for modular web applications'})}

            `, + `${componentLink}
              `, `
            • Install: component install ${opts.name}
            • `, `
            • Use: require('${opts.name}')
            ` ].join('\n')) } // Bower - if ( opts.packages.bower ) { + if ( opts.filenamesForPackageFiles.bower ) { + const bowerLink = projectzUtil.getLink({text: '

            Bower

            ', url: 'http://bower.io', title: 'A package manager for the web'}) parts.push([ - `

            ${projectzUtil.getLink({text: 'Bower', url: 'http://bower.io', title: 'A package manager for the web'})}

              `, + `${bowerLink}
                `, `
              • Install: bower install ${opts.name}
              • `, `
              • Use: require('${opts.name}')
              ` ].join('\n')) diff --git a/esnext/lib/projectz-util.js b/esnext/lib/projectz-util.js index 2298e0d7..2a3f0d06 100644 --- a/esnext/lib/projectz-util.js +++ b/esnext/lib/projectz-util.js @@ -178,7 +178,10 @@ export function getPeopleTextArray (people, opts = {}) { else { let textArray = [] people.forEach(function (person) { - if ( !person.name || person.name === 'null' ) throw new Error('For some reason the person doesn\'t have a name') + if ( !person.name || person.name === 'null' ) { + console.error(person) + throw new Error('For some reason the person doesn\'t have a name') + } const text = getPersonText(person, opts) if ( text ) textArray.push(text) }) diff --git a/esnext/lib/projectz.js b/esnext/lib/projectz.js index 40830e53..9d3c513a 100644 --- a/esnext/lib/projectz.js +++ b/esnext/lib/projectz.js @@ -194,8 +194,9 @@ export default class Projectz { }) // Log - .action(function (contributors) { + .action((contributors) => { log('info', `Loaded ${contributors.length} contributors for repository: ${githubSlug}`) + this.mergedPackageData.contributors = Fellow.contributesRepository(githubSlug) }) // And return our result @@ -229,7 +230,7 @@ export default class Projectz { const message = `Reading package file: ${filePath}` tasks.addTask(message, (complete) => { this.log('info', message) - CSON.load(filePath, (err, data) => { + CSON.parseFile(filePath, (err, data) => { if ( err ) return complete(err) this.filenamesForPackageFiles[key] = file this.dataForPackageFiles[key] = data @@ -266,7 +267,7 @@ export default class Projectz { // Merge Packages mergeData (next) { // By first merging in all the package data together into the enhanced data - extendr.deep( + extendr.extend( this.mergedPackageData, this.dataForPackageFiles.component || {}, this.dataForPackageFiles.bower || {}, @@ -369,7 +370,7 @@ export default class Projectz { }) // Extract repository information - let repoSlug = null + let repo = this.mergedPackageData.repository.url || null const githubMatch = (this.mergedPackageData.repository.url || this.mergedPackageData.homepage).match(/github\.com\/(.+?)(?:\.git|\/)?$/) const githubMatchParts = (githubMatch && githubMatch[1] || '').split('/') if ( githubMatchParts.length === 2 ) { @@ -387,11 +388,12 @@ export default class Projectz { url: githubUrl, repositoryUrl: githubRepositoryUrl } - repoSlug = githubSlug + repo = githubSlug // Add github data to the badges this.mergedPackageData.badges.config.githubUsername = githubUsername this.mergedPackageData.badges.config.githubRepository = githubRepository + this.mergedPackageData.badges.config.githubSlug = githubSlug // Fallback fields extendr.defaults(this.mergedPackageData, { @@ -407,34 +409,41 @@ export default class Projectz { } }) } - else { - throw new Error('projectz: currently only github repositories are supported') - } - - // Add repo slug to the badges - this.mergedPackageData.badges.config.repoSlug = repoSlug // Add npm data to the badges if ( this.filenamesForPackageFiles.package && this.mergedPackageData.name ) { this.mergedPackageData.badges.config.npmPackageName = this.mergedPackageData.name } - // Add people to the fellow singleton with their appropriate permissions - Fellow.add(this.mergedPackageData.author).forEach((fellow) => { - fellow.authorsRepository(repoSlug) - }) - Fellow.add(this.mergedPackageData.contributors).forEach((fellow) => { - fellow.contributesRepository(repoSlug) - }) - Fellow.add(this.mergedPackageData.maintainers).forEach((fellow) => { - fellow.maintainsRepository(repoSlug) - }) + // Enhance authors, contributors and maintainers + if ( repo ) { + // Add people to the fellow singleton with their appropriate permissions + Fellow.add(this.mergedPackageData.author).forEach((fellow) => { // package author string + fellow.authorsRepository(repo) + }) + Fellow.add(this.mergedPackageData.authors).forEach((fellow) => { // bower authors array + fellow.authorsRepository(repo) + }) + Fellow.add(this.mergedPackageData.contributors).forEach((fellow) => { + fellow.contributesRepository(repo) + }) + Fellow.add(this.mergedPackageData.maintainers).forEach((fellow) => { + fellow.maintainsRepository(repo) + }) + + // Add the enhanced collections to the merged data + this.mergedPackageData.authors = Fellow.authorsRepository(repo) + this.mergedPackageData.contributors = Fellow.contributesRepository(repo) + this.mergedPackageData.maintainers = Fellow.maintainsRepository(repo) + } + else { + this.mergedPackageData.authors = Fellow.add(this.mergedPackageData.author || this.mergedPackageData.authors) + this.mergedPackageData.contributors = Fellow.add(this.mergedPackageData.contributors) + this.mergedPackageData.maintainers = Fellow.add(this.mergedPackageData.maintainers) + } - // Add the enhanced collections to the merged data + // Enhance licenses and sponsors this.mergedPackageData.licenses = new projectzUtil.Licenses(this.mergedPackageData.license) - this.mergedPackageData.authors = Fellow.authorsRepository(repoSlug) - this.mergedPackageData.contributors = Fellow.contributesRepository(repoSlug) - this.mergedPackageData.maintainers = Fellow.maintainsRepository(repoSlug) this.mergedPackageData.sponsors = Fellow.add(this.mergedPackageData.sponsors) // Finish up @@ -459,9 +468,9 @@ export default class Projectz { license: this.mergedPackageData.license, description: this.mergedPackageData.description, keywords: this.mergedPackageData.keywords, - author: projectzUtil.getPeopleTextArray(Fellow.authorsRepository(this.mergedPackageData.repo), {years: true}).join(', '), - maintainers: projectzUtil.getPeopleTextArray(Fellow.maintainsRepository(this.mergedPackageData.repo)), - contributors: projectzUtil.getPeopleTextArray(Fellow.contributesRepository(this.mergedPackageData.repo)), + author: projectzUtil.getPeopleTextArray(this.mergedPackageData.authors, {years: true}).join(', '), + maintainers: projectzUtil.getPeopleTextArray(this.mergedPackageData.maintainers), + contributors: projectzUtil.getPeopleTextArray(this.mergedPackageData.contributors), bugs: this.mergedPackageData.bugs, engines: this.mergedPackageData.engines, dependencies: this.mergedPackageData.dependencies, @@ -548,7 +557,7 @@ export default class Projectz { license: this.mergedPackageData.license, description: this.mergedPackageData.description, keywords: this.mergedPackageData.keywords, - authors: projectzUtil.getPeopleTextArray(Fellow.authorsRepository(this.mergedPackageData.repo), {years: true}).join(', '), + authors: projectzUtil.getPeopleTextArray(this.mergedPackageData.authors, {years: true}), main: this.mergedPackageData.main } ) diff --git a/package.json b/package.json index ce9bf192..c505f818 100644 --- a/package.json +++ b/package.json @@ -4,9 +4,7 @@ "version": "1.0.0", "description": "Stop wasting time syncing and updating your project's README and Package Files!", "homepage": "https://github.com/bevry/projectz", - "license": { - "type": "MIT" - }, + "license": "MIT", "keywords": [ "project", "readme", @@ -18,27 +16,43 @@ "bower.json" ], "badges": { - "travis": true, - "npm": true, - "npmdownloads": true, - "david": true, - "daviddev": true, - "gratipay": "bevry", - "flattr": "344188/balupton-on-Flattr", - "paypal": "QB8GQPZAH84N6", - "bitcoin": "https://bevry.me/bitcoin", - "wishlist": "https://bevry.me/wishlist" + "list": [ + "travisci", + "npmversion", + "npmdownloads", + "daviddm", + "daviddmdev", + "---", + "slackin", + "patreon", + "gratipay", + "flattr", + "paypal", + "bitcoin", + "wishlist" + ], + "config": { + "patreonUsername": "bevry", + "gratipayUsername": "bevry", + "flattrCode": "344188/balupton-on-Flattr", + "paypalButtonID": "QB8GQPZAH84N6", + "bitcoinURL": "https://bevry.me/bitcoin", + "wishlistURL": "https://bevry.me/wishlist", + "slackinURL": "https://slack.bevry.me" + } }, "author": "2013+ Bevry Pty Ltd (http://bevry.me)", "maintainers": [ - "Benjamin Lupton (https://github.com/balupton)", - "Rob Loach (https://github.com/RobLoach)" + "Benjamin Lupton (http://balupton.com)", + "Rob Loach (http://robloach.net)" ], "contributors": [ - "Benjamin Lupton (https://github.com/balupton)", - "pflannery (https://github.com/pflannery)", - "Rob Loach (https://github.com/RobLoach)", - "Zearin (https://github.com/Zearin)" + "Benjamin Lupton (http://balupton.com)", + "Peter Flannery (https://github.com/pflannery)", + "Rob Loach (http://robloach.net)", + "Zearin (https://github.com/Zearin)", + "vsopvsop (https://github.com/vsopvsop)", + "Shahar Or (http://mightyi.am)" ], "bugs": { "url": "https://github.com/bevry/projectz/issues" @@ -51,7 +65,7 @@ "node": ">=0.12" }, "dependencies": { - "badges": "^0.1.0", + "badges": "^1.0.1", "caterpillar": "^2.0.7", "caterpillar-filter": "^2.0.3", "caterpillar-human": "^2.1.2", @@ -64,7 +78,7 @@ "cson": "^3.0.1", "eachr": "^2.0.2", "extendr": "^3.0.0", - "fellow": "^1.0.0", + "fellow": "^1.2.0", "safefs": "^4.0.0", "spdx": "^0.4.1", "spdx-license-list": "^2.0.0", diff --git a/test/out-expected/README.md b/test/out-expected/README.md index e7037baf..fe001fbc 100644 --- a/test/out-expected/README.md +++ b/test/out-expected/README.md @@ -7,19 +7,19 @@ -Travis CI Build Status -NPM version -NPM downloads -Dependency Status -Dev Dependency Status +Travis CI Build Status +NPM version +NPM downloads +Dependency Status +Dev Dependency Status
              Slack community badge -Patreon donate button -Gratipay donate button +Patreon donate button +Gratipay donate button Flattr donate button -PayPal donate button -Bitcoin donate button -Wishlist browse button +PayPal donate button +Bitcoin donate button +Wishlist browse button @@ -82,10 +82,27 @@ console.log(result); // setTimeout - just like normal

              Install

              -

              Component

                +

                NPM

                  +
                • Install: npm install --save ambi
                • +
                • Use: require('ambi')
                + +

                Browserify

                  +
                • Install: npm install --save ambi
                • +
                • Use: require('ambi')
                • +
                • CDN URL: //wzrd.in/bundle/ambi@2.1.4
                + +

                Ender

                  +
                • Install: ender add ambi
                • +
                • Use: require('ambi')
                + +

                Component

                • Install: component install ambi
                • Use: require('ambi')
                +

                Bower

                  +
                • Install: bower install ambi
                • +
                • Use: require('ambi')
                + @@ -112,12 +129,12 @@ These amazing people are maintaining this project: No sponsors yet! Will you be the first? -Patreon donate button -Gratipay donate button +Patreon donate button +Gratipay donate button Flattr donate button -PayPal donate button -Bitcoin donate button -Wishlist browse button +PayPal donate button +Bitcoin donate button +Wishlist browse button

                Contributors

                diff --git a/test/out-expected/bower.json b/test/out-expected/bower.json index 609c23fb..5c57d625 100644 --- a/test/out-expected/bower.json +++ b/test/out-expected/bower.json @@ -2,7 +2,7 @@ "name": "ambi", "version": "2.1.4", "authors": [ - "me" + "Bevry Pty Ltd (http://bevry.me)" ], "license": "(MIT AND CC-BY-4.0)", "ignore": [ diff --git a/test/out-expected/package.json b/test/out-expected/package.json index 54379908..14845fb3 100644 --- a/test/out-expected/package.json +++ b/test/out-expected/package.json @@ -31,7 +31,6 @@ "node": ">=0.8" }, "dependencies": { - "some-bower-lib": "1.2.3", "typechecker": "~2.0.6" }, "directories": { diff --git a/test/src/README.md b/test/src/README.md index 757ad5e6..47b5741b 100644 --- a/test/src/README.md +++ b/test/src/README.md @@ -7,19 +7,19 @@ -Travis CI Build Status -NPM version -NPM downloads -Dependency Status -Dev Dependency Status +Travis CI Build Status +NPM version +NPM downloads +Dependency Status +Dev Dependency Status
                Slack community badge -Patreon donate button -Gratipay donate button +Patreon donate button +Gratipay donate button Flattr donate button -PayPal donate button -Bitcoin donate button -Wishlist browse button +PayPal donate button +Bitcoin donate button +Wishlist browse button @@ -82,10 +82,27 @@ console.log(result); // setTimeout - just like normal

                Install

                -

                Component

                  +

                  NPM

                    +
                  • Install: npm install --save ambi
                  • +
                  • Use: require('ambi')
                  + +

                  Browserify

                    +
                  • Install: npm install --save ambi
                  • +
                  • Use: require('ambi')
                  • +
                  • CDN URL: //wzrd.in/bundle/ambi@2.1.4
                  + +

                  Ender

                    +
                  • Install: ender add ambi
                  • +
                  • Use: require('ambi')
                  + +

                  Component

                  • Install: component install ambi
                  • Use: require('ambi')
                  +

                  Bower

                    +
                  • Install: bower install ambi
                  • +
                  • Use: require('ambi')
                  + @@ -112,12 +129,12 @@ These amazing people are maintaining this project: No sponsors yet! Will you be the first? -Patreon donate button -Gratipay donate button +Patreon donate button +Gratipay donate button Flattr donate button -PayPal donate button -Bitcoin donate button -Wishlist browse button +PayPal donate button +Bitcoin donate button +Wishlist browse button

                  Contributors

                  diff --git a/test/src/bower.json b/test/src/bower.json index 609c23fb..5c57d625 100644 --- a/test/src/bower.json +++ b/test/src/bower.json @@ -2,7 +2,7 @@ "name": "ambi", "version": "2.1.4", "authors": [ - "me" + "Bevry Pty Ltd (http://bevry.me)" ], "license": "(MIT AND CC-BY-4.0)", "ignore": [