Skip to content

Commit 082342e

Browse files
committed
Cli tests (#252)
* chore: downgrade to mocha@7 for node 8 testing * chore: CLI test * chore: eslint * chore: switch to github actions for CI
1 parent 4a548b7 commit 082342e

12 files changed

+484
-253
lines changed

.eslintrc.json

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"node": true,
1010
"mocha": true
1111
},
12+
"ignorePatterns": ["types/"],
1213
"extends": ["eslint:recommended"],
1314
"rules": {
1415
"array-bracket-spacing": ["warn", "never"],
@@ -37,6 +38,7 @@
3738
"no-undef": "error",
3839
"no-unused-vars": ["warn", {"args": "none"}],
3940
"one-var": ["warn", "never"],
41+
"no-var": "warn",
4042
"padded-blocks": ["warn", "never"],
4143
"object-curly-spacing": ["warn", "never"],
4244
"quotes": ["warn", "single"],

.github/workflows/ci.yml

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
1-
name: Node.js CI
1+
name: Mime CI
22

33
on:
4-
push:
5-
branches: [ $default-branch ]
6-
pull_request:
7-
branches: [ $default-branch ]
4+
[push]
85

96
jobs:
107
build:

Mime.js

+14-12
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ function Mime() {
88
this._types = Object.create(null);
99
this._extensions = Object.create(null);
1010

11-
for (var i = 0; i < arguments.length; i++) {
11+
for (let i = 0; i < arguments.length; i++) {
1212
this.define(arguments[i]);
1313
}
1414

@@ -37,16 +37,18 @@ function Mime() {
3737
* @param force (Boolean) if true, force overriding of existing definitions
3838
*/
3939
Mime.prototype.define = function(typeMap, force) {
40-
for (var type in typeMap) {
41-
var extensions = typeMap[type].map(function(t) {return t.toLowerCase()});
40+
for (let type in typeMap) {
41+
let extensions = typeMap[type].map(function(t) {
42+
return t.toLowerCase();
43+
});
4244
type = type.toLowerCase();
4345

44-
for (var i = 0; i < extensions.length; i++) {
45-
var ext = extensions[i];
46+
for (let i = 0; i < extensions.length; i++) {
47+
const ext = extensions[i];
4648

4749
// '*' prefix = not the preferred type for this extension. So fixup the
4850
// extension, and skip it.
49-
if (ext[0] == '*') {
51+
if (ext[0] === '*') {
5052
continue;
5153
}
5254

@@ -64,8 +66,8 @@ Mime.prototype.define = function(typeMap, force) {
6466

6567
// Use first extension as default
6668
if (force || !this._extensions[type]) {
67-
var ext = extensions[0];
68-
this._extensions[type] = (ext[0] != '*') ? ext : ext.substr(1)
69+
const ext = extensions[0];
70+
this._extensions[type] = (ext[0] !== '*') ? ext : ext.substr(1);
6971
}
7072
}
7173
};
@@ -75,11 +77,11 @@ Mime.prototype.define = function(typeMap, force) {
7577
*/
7678
Mime.prototype.getType = function(path) {
7779
path = String(path);
78-
var last = path.replace(/^.*[/\\]/, '').toLowerCase();
79-
var ext = last.replace(/^.*\./, '').toLowerCase();
80+
let last = path.replace(/^.*[/\\]/, '').toLowerCase();
81+
let ext = last.replace(/^.*\./, '').toLowerCase();
8082

81-
var hasPath = last.length < path.length;
82-
var hasDot = ext.length < last.length - 1;
83+
let hasPath = last.length < path.length;
84+
let hasDot = ext.length < last.length - 1;
8385

8486
return (hasDot || !hasPath) && this._types[ext] || null;
8587
};

cli.js

+7-9
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,17 @@
33
'use strict';
44

55
process.title = 'mime';
6-
var mime = require('.');
7-
var pkg = require('./package.json');
8-
var args = process.argv.splice(2);
6+
let mime = require('.');
7+
let pkg = require('./package.json');
8+
let args = process.argv.splice(2);
99

1010
if (args.includes('--version') || args.includes('-v') || args.includes('--v')) {
1111
console.log(pkg.version);
1212
process.exit(0);
13-
}
14-
else if (args.includes('--name') || args.includes('-n') || args.includes('--n')) {
13+
} else if (args.includes('--name') || args.includes('-n') || args.includes('--n')) {
1514
console.log(pkg.name);
1615
process.exit(0);
17-
}
18-
else if (args.includes('--help') || args.includes('-h') || args.includes('--h')) {
16+
} else if (args.includes('--help') || args.includes('-h') || args.includes('--h')) {
1917
console.log(pkg.name + ' - ' + pkg.description + '\n');
2018
console.log(`Usage:
2119
@@ -41,8 +39,8 @@ else if (args.includes('--help') || args.includes('-h') || args.includes('--h'))
4139
process.exit(0);
4240
}
4341

44-
var file = args[0];
45-
var type = mime.getType(file);
42+
let file = args[0];
43+
let type = mime.getType(file);
4644

4745
process.stdout.write(type + '\n');
4846

index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
'use strict';
22

3-
var Mime = require('./Mime');
3+
let Mime = require('./Mime');
44
module.exports = new Mime(require('./types/standard'), require('./types/other'));

lite.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
'use strict';
22

3-
var Mime = require('./Mime');
3+
let Mime = require('./Mime');
44
module.exports = new Mime(require('./types/standard'));

mime.code-workspace

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"folders": [
3+
{
4+
"path": "."
5+
}
6+
]
7+
}

0 commit comments

Comments
 (0)