Skip to content

Commit

Permalink
feat: remove check-types, git, close #31
Browse files Browse the repository at this point in the history
  • Loading branch information
bahmutov committed Apr 6, 2018
1 parent 9b3cb5d commit 538d863
Show file tree
Hide file tree
Showing 7 changed files with 46 additions and 38 deletions.
2 changes: 0 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
],
"dependencies": {
"check-more-types": "2.24.0",
"check-types": "1.4.0",
"lazy-ass": "1.6.0",
"lodash": "4.17.5",
"optimist": "0.6.1",
Expand All @@ -27,7 +26,6 @@
"grunt": "0.4.5",
"grunt-contrib-jshint": "0.12.0",
"grunt-nice-package": "0.10.4",
"gt": "0.10.0",
"jest": "22.4.3",
"jshint-summary": "0.4.0",
"pre-git": "3.17.1",
Expand Down
7 changes: 4 additions & 3 deletions src/check-bower-file.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
var utils = require('./utils');
var _ = require('lodash');
var verify = require('check-types').verify;
var is = require('check-more-types');
var la = require('lazy-ass')
var isSupportedVersionFormat = require('./is-supported-version-format');

function checkBowerFile(folder, filename, verbose) {
verify.unemptyString(folder, 'missing bower folder');
verify.unemptyString(filename, 'missing bower filename');
la(is.unemptyString(folder), 'missing bower folder');
la(is.unemptyString(filename), 'missing bower filename');

var pkg = require(filename);
var deps = utils.getAllDependencies(pkg);
Expand Down
6 changes: 3 additions & 3 deletions src/check-npm-file.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

var utils = require('./utils');
var _ = require('lodash');
var check = require('check-types');
var verify = check.verify;
var is = require('check-more-types');
var la = require('lazy-ass')
var path = require('path');
var isSupportedVersionFormat = require('./is-supported-version-format');
var fs = require('fs');

function checkTopLevelNpmDependencies(filename, verbose) {
verify.unemptyString(filename, 'missing folder string');
la(is.unemptyString(filename), 'missing folder string');
console.assert(fs.existsSync(filename), 'file ' + filename + ' not found');

var pkg = utils.getPackage(filename);
Expand Down
6 changes: 3 additions & 3 deletions src/check-npm-package.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
var utils = require('./utils');
var _ = require('lodash');
var check = require('check-types');
var verify = check.verify;
var la = require('lazy-ass')
var is = require('check-more-types');
var join = require('path').join;
var isSupportedVersionFormat = require('./is-supported-version-format');

function checkTopLevelNpmDependencies(folder, verbose) {
verify.unemptyString(folder, 'missing folder string');
la(is.unemptyString(folder), 'missing folder string');
var filename = join(folder, 'package.json');

return require('./check-npm-file')(filename, verbose);
Expand Down
14 changes: 9 additions & 5 deletions src/is-supported-version-format.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
var check = require('check-types');
var verify = check.verify;
var is = require('check-more-types');
var la = require('lazy-ass')

var gitAt = /^git@/;
var startsWithPrefix = /^(git|github|file):/;

function gitUrl (thing) {
return is.unemptyString(thing) && /^git\+(ssh|https?):\/\/.+/.test(thing);
}

function isGitAtVersion(str) {
return gitAt.test(str);
}
Expand All @@ -17,10 +21,10 @@ function isPrefixed(str) {
}

function isSupportedVersionFormat(version) {
verify.unemptyString(version, 'expected version string');
la(is.unemptyString(version), 'expected version string');

return !check.webUrl(version) &&
!check.gitUrl(version) &&
return !is.webUrl(version) &&
!gitUrl(version) &&
!isGitAtVersion(version) &&
!isVersionKeyword(version) &&
!isPrefixed(version);
Expand Down
18 changes: 10 additions & 8 deletions src/utils.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
'use strict'

var _ = require('lodash');
var semver = require('semver');
var check = require('check-types');
var verify = check.verify;
var la = require('lazy-ass')
var is = require('check-more-types');
var join = require('path').join;
var readFileSync = require('fs').readFileSync;
var exists = require('fs').existsSync;

function getPackage(packageFilename) {
verify.unemptyString(packageFilename, 'missing package filename');
la(is.unemptyString(packageFilename), 'missing package filename');

if (!exists(packageFilename)) {
console.error('cannot find file', packageFilename);
Expand Down Expand Up @@ -41,7 +43,7 @@ function getAllDependencies(pkg) {
}

function cleanVersion(version) {
verify.unemptyString(version, 'expecting version string');
la(is.unemptyString(version), 'expecting version string');

version = version.trim();
version = version.replace('~', '').replace('^', '');
Expand All @@ -55,8 +57,8 @@ function cleanVersion(version) {
}

function checkNpmDependency(folder, dep, version, verbose) {
verify.unemptyString(folder, 'expected folder string, got ' + folder);
verify.unemptyString(version, 'missing declared version for ' + dep);
la(is.unemptyString(folder), 'expected folder string, got', folder);
la(is.unemptyString(version), 'missing declared version for', dep);

var filename = join(folder, 'node_modules', dep, 'package.json');
var installedDep = getPackage(filename);
Expand Down Expand Up @@ -92,8 +94,8 @@ function checkNpmDependency(folder, dep, version, verbose) {
}

function checkBowerDependency(folder, dep, version, verbose) {
verify.unemptyString(folder, 'expected folder string, got ' + folder);
verify.unemptyString(version, 'missing declared version for ' + dep);
la(is.unemptyString(folder), 'expected folder string, got', folder);
la(is.unemptyString(version), 'missing declared version for', dep);

var bowerComponentsPath = 'bower_components';
var bowerConfigPath = join(folder, '.bowerrc');
Expand Down
31 changes: 17 additions & 14 deletions test/e2e.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ describe('e2e NPM tests in root folder', () => {
})

describe('e2e NPM tests in this folder', () => {
const args = ['../bin/deps-ok.js', '--verbose', '--filename']
const args = [relative('../bin/deps-ok.js'), '--verbose', '--filename']

const options = {
filter: 'code'
Expand All @@ -50,29 +50,32 @@ describe('e2e NPM tests in this folder', () => {
})

it('test version with latest keyword', () => {
return execaWrap('node', args.concat(relative('../package-with-latest.json')), options)
return execaWrap('node', args.concat(relative('./package-with-latest.json')), options)
.then(expectError)
})

it('test version with github version', () => {
return execaWrap('node', args.concat(relative('../package-with-github.json')), options)
return execaWrap('node', args.concat(relative('./package-with-github.json')), options)
.then(expectSuccess)
})

it('test version with local file path', () => {
return execaWrap('node', args.concat(relative('../package-with-file.json')), options)
return execaWrap('node', args.concat(relative('./package-with-file.json')), options)
.then(expectSuccess)
})
})

// gt.async 'test version with url', ->
// gt.exec 'node', args.concat(relative('./package-with-url.json')), 0,
// 'this handles url string'
it('test version with url', () => {
return execaWrap('node', args.concat(relative('./package-with-url.json')), options)
.then(expectSuccess)
})

// gt.async 'test non-existing file', ->
// gt.exec 'node', args.concat(relative('./does-not-exist.json')), ERROR_EXIT_CODE,
// 'package file does not exist'
it('test non-existing file', () => {
return execaWrap('node', args.concat(relative('./does-not-exist.json')), options)
.then(expectError)
})

// gt.async 'package is missing version property', ->
// gt.exec 'node', args.concat(relative('./package-without-version.json')), ERROR_EXIT_CODE,
// 'this has some missing dependencies'
it('package is missing version property', () => {
return execaWrap('node', args.concat(relative('./package-without-version.json')), options)
.then(expectError)
})
})

0 comments on commit 538d863

Please sign in to comment.