mirror of
https://github.com/bower/bower.git
synced 2026-04-24 03:00:19 -04:00
Compare commits
1 Commits
travis-bum
...
prettier
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0a8a4f9029 |
3
.github/FUNDING.yml
vendored
3
.github/FUNDING.yml
vendored
@@ -1,3 +0,0 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
open_collective: bower
|
||||
@@ -13,8 +13,7 @@ env:
|
||||
- TEST_NODE_VERSION="4"
|
||||
- TEST_NODE_VERSION="6"
|
||||
- TEST_NODE_VERSION="8"
|
||||
- TEST_NODE_VERSION="10"
|
||||
- TEST_NODE_VERSION="12"
|
||||
- TEST_NODE_VERSION="9"
|
||||
|
||||
before_install:
|
||||
- node --version
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
# Changelog
|
||||
|
||||
## Newer releases
|
||||
|
||||
Please see: https://github.com/bower/bower/releases
|
||||
|
||||
## 1.8.0 - 2016-11-07
|
||||
|
||||
- Download tar archives from GitHub when possible (#2263)
|
||||
|
||||
53
Gruntfile.js
53
Gruntfile.js
@@ -85,12 +85,40 @@ module.exports = function(grunt) {
|
||||
|
||||
if (npmMajor !== 3 || npmMinor < 5) {
|
||||
grunt.log.writeln(
|
||||
'You need to use at npm@3.5 to publish bower.'
|
||||
'You need to use at least npm@3.5 to publish bower.'
|
||||
);
|
||||
grunt.log.writeln(
|
||||
'It is because npm 2.x produces too long paths that Windows does not handle and newer npm drops lib/node_modules'
|
||||
'It is because npm 2.x produces too long paths that Windows does not handle.'
|
||||
);
|
||||
grunt.log.writeln('Please upgrade it: npm install -g npm@3');
|
||||
grunt.log.writeln('Please upgrade it: npm install -g npm');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
var version = jsonPackage.version;
|
||||
var changelog = fs.readFileSync('./CHANGELOG.md');
|
||||
|
||||
if (changelog.indexOf('## ' + version) === -1) {
|
||||
grunt.log.writeln(
|
||||
'Please add changelog.md entry for this bower version (' +
|
||||
version +
|
||||
')'
|
||||
);
|
||||
|
||||
var lastRelease = childProcess
|
||||
.execSync('git tag | tail -1')
|
||||
.toString()
|
||||
.trim();
|
||||
|
||||
grunt.log.writeln(
|
||||
'Commits since last release (' + lastRelease + '): \n'
|
||||
);
|
||||
|
||||
grunt.log.writeln(
|
||||
childProcess
|
||||
.execSync('git log --oneline ' + lastRelease + '..')
|
||||
.toString()
|
||||
);
|
||||
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
@@ -109,12 +137,12 @@ module.exports = function(grunt) {
|
||||
|
||||
if (process.env.SKIP_TESTS !== '1') {
|
||||
grunt.log.writeln('Reinstalling dependencies...');
|
||||
childProcess.execSync('rm -rf node_modules && yarn', {
|
||||
childProcess.execSync('rm -rf node_modules && npm install', {
|
||||
stdio: [0, 1, 2]
|
||||
});
|
||||
|
||||
grunt.log.writeln('Running test suite...');
|
||||
childProcess.execSync('yarn test', { stdio: [0, 1, 2] });
|
||||
childProcess.execSync('grunt test', { stdio: [0, 1, 2] });
|
||||
}
|
||||
|
||||
var dir = tmp.dirSync().name;
|
||||
@@ -127,7 +155,7 @@ module.exports = function(grunt) {
|
||||
});
|
||||
|
||||
grunt.log.writeln('Installing production dependencies...');
|
||||
childProcess.execSync('yarn --production', {
|
||||
childProcess.execSync('npm install --production --silent', {
|
||||
cwd: dir,
|
||||
stdio: [0, 1, 2]
|
||||
});
|
||||
@@ -192,6 +220,13 @@ module.exports = function(grunt) {
|
||||
message: 'Did you review all the changes with "git diff"?',
|
||||
default: false
|
||||
},
|
||||
{
|
||||
type: 'confirm',
|
||||
name: 'changelog',
|
||||
message:
|
||||
'Are you sure the CHANGELOG.md contains all changes?',
|
||||
default: false
|
||||
},
|
||||
{
|
||||
type: 'confirm',
|
||||
name: 'tests',
|
||||
@@ -217,6 +252,7 @@ module.exports = function(grunt) {
|
||||
inquirer.prompt(questions, function(answers) {
|
||||
if (
|
||||
!answers.review ||
|
||||
!answers.changelog ||
|
||||
!answers.tests ||
|
||||
!answers.publish
|
||||
) {
|
||||
@@ -228,14 +264,11 @@ module.exports = function(grunt) {
|
||||
}
|
||||
|
||||
grunt.log.writeln(
|
||||
'\nPlease remember to tag this release, and add a release with changelog on Github!'
|
||||
'\nPlease remember to tag this relese, and add a release on Github!'
|
||||
);
|
||||
grunt.log.writeln(
|
||||
'\nAlso, please remember to test published Bower one more time!'
|
||||
);
|
||||
grunt.log.writeln(
|
||||
'\nYou can promote this bower release with "npm dist-tag add bower@' + jsonPackage.version + ' latest'
|
||||
);
|
||||
grunt.log.writeln('\nPublishing Bower...');
|
||||
|
||||
childProcess.execSync('npm publish --tag beta', {
|
||||
|
||||
41
README.md
41
README.md
@@ -3,7 +3,7 @@
|
||||
[](#backers)
|
||||
[](#sponsors)
|
||||
|
||||
> ..psst! While Bower is maintained, we recommend [yarn](https://yarnpkg.com/) and [webpack](https://webpack.js.org/) or [parcel](https://parceljs.org/) for new front-end projects!
|
||||
> ..psst! While Bower is maintained, we recommend [yarn](https://yarnpkg.com/) and [webpack](https://webpack.js.org/) for new front-end projects!
|
||||
|
||||
[](https://travis-ci.org/bower/bower)
|
||||
[](https://ci.appveyor.com/project/bower/bower)
|
||||
@@ -155,12 +155,7 @@ Support us with a monthly donation and help us continue our activities. [[Become
|
||||
<a href="https://opencollective.com/bower/backer/27/website" target="_blank"><img src="https://opencollective.com/bower/backer/27/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/backer/28/website" target="_blank"><img src="https://opencollective.com/bower/backer/28/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/backer/29/website" target="_blank"><img src="https://opencollective.com/bower/backer/29/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/backer/30/website" target="_blank"><img src="https://opencollective.com/bower/backer/30/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/backer/31/website" target="_blank"><img src="https://opencollective.com/bower/backer/31/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/backer/32/website" target="_blank"><img src="https://opencollective.com/bower/backer/32/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/backer/33/website" target="_blank"><img src="https://opencollective.com/bower/backer/33/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/backer/34/website" target="_blank"><img src="https://opencollective.com/bower/backer/34/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/backer/35/website" target="_blank"><img src="https://opencollective.com/bower/backer/35/avatar.svg"></a>
|
||||
|
||||
|
||||
## Sponsors
|
||||
|
||||
@@ -196,37 +191,7 @@ Become a sponsor and get your logo on our README on Github with a link to your s
|
||||
<a href="https://opencollective.com/bower/sponsor/27/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/27/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/28/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/28/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/29/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/29/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/30/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/30/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/31/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/31/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/32/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/32/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/33/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/33/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/34/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/34/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/35/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/35/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/36/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/36/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/37/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/37/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/38/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/38/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/39/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/39/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/40/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/40/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/41/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/41/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/42/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/42/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/43/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/43/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/44/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/44/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/45/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/45/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/46/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/46/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/47/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/47/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/48/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/48/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/49/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/49/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/50/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/50/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/51/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/51/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/52/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/52/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/53/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/53/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/54/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/54/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/55/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/55/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/56/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/56/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/57/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/57/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/58/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/58/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/59/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/59/avatar.svg"></a>
|
||||
<a href="https://opencollective.com/bower/sponsor/60/website" target="_blank"><img src="https://opencollective.com/bower/sponsor/60/avatar.svg"></a>
|
||||
|
||||
|
||||
## License
|
||||
|
||||
|
||||
@@ -130,8 +130,8 @@ function extractGz(archive, dst) {
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
function isSymlink(_, entry) {
|
||||
return entry.type === 'symlink';
|
||||
function isSymlink(entry) {
|
||||
return entry.type === 'SymbolicLink';
|
||||
}
|
||||
|
||||
function filterSymlinks(entry) {
|
||||
|
||||
16
package.json
16
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "bower",
|
||||
"version": "1.8.8",
|
||||
"version": "1.8.0",
|
||||
"description": "The browser package manager",
|
||||
"author": "Twitter",
|
||||
"license": "MIT",
|
||||
@@ -26,7 +26,7 @@
|
||||
"chalk": "^1.0.0",
|
||||
"chmodr": "^1.0.2",
|
||||
"configstore": "^2.0.0",
|
||||
"decompress-zip": "^0.2.2",
|
||||
"decompress-zip": "^0.2.1",
|
||||
"destroy": "^1.0.3",
|
||||
"findup-sync": "^0.3.0",
|
||||
"fs-write-stream-atomic": "1.0.8",
|
||||
@@ -79,12 +79,11 @@
|
||||
"husky": "^0.14.3",
|
||||
"in-publish": "^2.0.0",
|
||||
"istanbul": "^0.4.3",
|
||||
"lint-staged": "^9.5.0",
|
||||
"lint-staged": "^7.0.0",
|
||||
"load-grunt-tasks": "^3.5.0",
|
||||
"mocha": "^2.5.3",
|
||||
"multiline": "^1.0.2",
|
||||
"nock-legacy": "npm:nock@9.2.3",
|
||||
"nock": "^11.7.0",
|
||||
"nock": "^9.2.3",
|
||||
"node-uuid": "^1.4.7",
|
||||
"prettier": "^1.11.1",
|
||||
"proxyquire": "^1.7.9",
|
||||
@@ -95,13 +94,14 @@
|
||||
"test": "grunt test",
|
||||
"ci": "grunt travis",
|
||||
"coveralls": "coveralls",
|
||||
"prepublishOnly": "in-publish && echo 'You need to use \"grunt publish\" to publish bower' && false || not-in-publish",
|
||||
"prepublish": "in-publish && echo 'You need to use \"grunt publish\" to publish bower' && false || not-in-publish",
|
||||
"format": "prettier --write --single-quote --tab-width 4 '**/*.js'",
|
||||
"precommit": "lint-staged"
|
||||
"precommit": "lint-staged && npm test"
|
||||
},
|
||||
"lint-staged": {
|
||||
"*.js": [
|
||||
"prettier --single-quote --tab-width 4"
|
||||
"prettier --single-quote --tab-width 4",
|
||||
"git add"
|
||||
]
|
||||
},
|
||||
"files": [
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
var expect = require('expect.js');
|
||||
var path = require('path');
|
||||
var helpers = require('../helpers');
|
||||
var nock = require('../util/nock');
|
||||
var nock = require('nock');
|
||||
var rimraf = require('rimraf');
|
||||
var fs = require('../../lib/util/fs');
|
||||
var tar = require('tar-fs');
|
||||
@@ -708,8 +708,8 @@ describe('bower install', function() {
|
||||
cwd: tempDir.path
|
||||
});
|
||||
|
||||
nock('http://dummy.local/')
|
||||
.get(function(uri) { return true; })
|
||||
nock('http://dummy.local')
|
||||
.get('http://github.com/yahoo/pure/archive/v0.6.0.tar.gz')
|
||||
.reply(500);
|
||||
|
||||
return helpers
|
||||
|
||||
@@ -146,7 +146,7 @@ describe('GitFsResolver', function() {
|
||||
var dir = path.join(testPackage, 'new-dir');
|
||||
|
||||
fs.writeFileSync(file, 'foo');
|
||||
fs.mkdirSync(dir);
|
||||
fs.mkdir(dir);
|
||||
|
||||
function cleanup(err) {
|
||||
fs.unlinkSync(file);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
var path = require('path');
|
||||
var nock = require('../../util/nock');
|
||||
var nock = require('nock');
|
||||
var fs = require('../../../lib/util/fs');
|
||||
var expect = require('expect.js');
|
||||
var Logger = require('bower-logger');
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
var expect = require('expect.js');
|
||||
var path = require('path');
|
||||
var fs = require('../../../lib/util/fs');
|
||||
var nock = require('../../util/nock');
|
||||
var nock = require('nock');
|
||||
var Q = require('q');
|
||||
var rimraf = require('../../../lib/util/rimraf');
|
||||
var mkdirp = require('mkdirp');
|
||||
|
||||
@@ -15,7 +15,7 @@ var proxyquire = require('proxyquire')
|
||||
.noPreserveCache();
|
||||
var spawnSync = require('spawn-sync');
|
||||
var config = require('../lib/config');
|
||||
var nock = require('./util/nock');
|
||||
var nock = require('nock');
|
||||
var semver = require('semver');
|
||||
|
||||
// For better promise errors
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
var expect = require('expect.js');
|
||||
var helpers = require('../helpers');
|
||||
var nock = require('../util/nock');
|
||||
var nock = require('nock');
|
||||
var path = require('path');
|
||||
var Q = require('q');
|
||||
|
||||
@@ -13,11 +13,13 @@ describe('download', function() {
|
||||
destination = tempDir.getPath('package.tar.gz');
|
||||
|
||||
function downloadTest(opts) {
|
||||
var deferred = Q.defer();
|
||||
|
||||
tempDir.prepare();
|
||||
|
||||
opts.response(nock('http://bower.io', opts.nockOpts));
|
||||
|
||||
return download(
|
||||
download(
|
||||
opts.sourceUrl || 'http://bower.io/package.tar.gz',
|
||||
opts.destinationPath || destination,
|
||||
opts.downloadOpts
|
||||
@@ -26,20 +28,27 @@ describe('download', function() {
|
||||
function(result) {
|
||||
if (opts.expect) {
|
||||
opts.expect(result);
|
||||
deferred.resolve();
|
||||
} else {
|
||||
throw new Error(
|
||||
'Error expected. Got successful response.'
|
||||
deferred.reject(
|
||||
new Error(
|
||||
'Error expected. Got successful response.'
|
||||
)
|
||||
);
|
||||
}
|
||||
},
|
||||
function(error) {
|
||||
if (opts.expectError) {
|
||||
opts.expectError(error);
|
||||
deferred.resolve();
|
||||
} else {
|
||||
throw error
|
||||
deferred.reject(error);
|
||||
}
|
||||
}
|
||||
)
|
||||
.done();
|
||||
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
it('download file to directory', function() {
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
var NODE_MAJOR_VERSION = process.versions.node.split('.')[0];
|
||||
|
||||
module.exports = NODE_MAJOR_VERSION >= 12 ? require('nock') : require('nock-legacy')
|
||||
Reference in New Issue
Block a user