You've already forked StringFilr
mirror of
https://github.com/FullScreenShenanigans/StringFilr.git
synced 2026-04-28 13:00:51 -07:00
Merge pull request #5 from FullScreenShenanigans/gulp-shenanigans
Moved build process to gulp-shenanigans
This commit is contained in:
+5
-1
@@ -1,4 +1,8 @@
|
||||
dist/**
|
||||
lib/**
|
||||
src/**/*.js*
|
||||
test/**/*.js
|
||||
test/index.html
|
||||
test/utils/**
|
||||
!test/utils/mocks.ts
|
||||
node_modules/
|
||||
npm-debug.log
|
||||
|
||||
+3
-54
@@ -1,55 +1,4 @@
|
||||
const gulp = require("gulp");
|
||||
const merge = require("merge2");
|
||||
const mochaPhantomJS = require("gulp-mocha-phantomjs");
|
||||
const runSequence = require("run-sequence");
|
||||
const ts = require("gulp-typescript");
|
||||
const tslint = require("gulp-tslint");
|
||||
|
||||
gulp.task("tslint", () => {
|
||||
return gulp
|
||||
.src(["src/**/*.ts", "!src/**/*.d.ts"])
|
||||
.pipe(tslint())
|
||||
.pipe(tslint.report("verbose"));
|
||||
});
|
||||
|
||||
gulp.task("tsc", () => {
|
||||
const tsProject = ts.createProject("tsconfig.json");
|
||||
|
||||
return tsProject
|
||||
.src()
|
||||
.pipe(ts(tsProject))
|
||||
.js.pipe(gulp.dest("src"));
|
||||
});
|
||||
|
||||
gulp.task("test", () => {
|
||||
return gulp
|
||||
.src("test/unit/index.html")
|
||||
.pipe(mochaPhantomJS());
|
||||
|
||||
});
|
||||
|
||||
gulp.task("dist", function() {
|
||||
const tsProject = ts.createProject(
|
||||
"tsconfig.json",
|
||||
{
|
||||
outFile: "dist/StringFilr.js",
|
||||
removeComments: true
|
||||
});
|
||||
|
||||
const tsResult = tsProject
|
||||
.src()
|
||||
.pipe(ts(tsProject));
|
||||
|
||||
return merge([
|
||||
tsResult.dts.pipe(gulp.dest("dist")),
|
||||
tsResult.js.pipe(gulp.dest("dist"))
|
||||
]);
|
||||
});
|
||||
|
||||
gulp.task("watch", ["default"], () => {
|
||||
gulp.watch("src/**/*.ts", ["default"]);
|
||||
});
|
||||
|
||||
gulp.task("default", ["tsc", "tslint", "dist"], cb => {
|
||||
runSequence(["test"], cb);
|
||||
require("gulp-shenanigans").initialize({
|
||||
gulp: require("gulp"),
|
||||
packageName: "StringFilr"
|
||||
});
|
||||
|
||||
+2
-12
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "stringfilr",
|
||||
"description": "A path-based cache for quick loops in nested data structures.",
|
||||
"version": "0.4.0",
|
||||
"version": "0.5.0",
|
||||
"author": {
|
||||
"name": "Josh Goldberg",
|
||||
"email": "josh@fullscreenmario.com"
|
||||
@@ -15,16 +15,6 @@
|
||||
},
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"chai": "^3.5.0",
|
||||
"gulp": "^3.9.1",
|
||||
"gulp-mocha-phantomjs": "^0.11.0",
|
||||
"gulp-tslint": "^5.0.0",
|
||||
"gulp-typescript": "^2.13.4",
|
||||
"merge2": "^1.0.2",
|
||||
"mocha": "^2.4.5",
|
||||
"requirejs": "^2.2.0",
|
||||
"run-sequence": "^1.2.0",
|
||||
"tslint": "^3.10.2",
|
||||
"typescript": "^1.8.10"
|
||||
"gulp-shenanigans": "^0.3.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
/// <reference path="../../node_modules/@types/chai/index.d.ts" />
|
||||
/// <reference path="../../node_modules/@types/mocha/index.d.ts" />
|
||||
/// <reference path="../../lib/StringFilr.d.ts" />
|
||||
/// <reference path="../utils/MochaLoader.ts" />
|
||||
/// <reference path="../utils/mocks.ts" />
|
||||
|
||||
mochaLoader.addTest("_", (): void => { });
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "es3",
|
||||
"declaration": false
|
||||
},
|
||||
"files": [
|
||||
"utils/mocks.ts",
|
||||
"utils/MochaLoader.ts",
|
||||
"StringFilr/_.ts"
|
||||
]
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
define(["mocks"], function (mocks) {
|
||||
return function () {
|
||||
var expect = require("chai").expect;
|
||||
|
||||
it("tests haven't been implemented", function () {
|
||||
// ...
|
||||
});
|
||||
};
|
||||
});
|
||||
@@ -1,18 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>EightBittr Unit Tests</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="../../node_modules/mocha/mocha.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="mocha"></div>
|
||||
|
||||
<script src="../../node_modules/chai/chai.js" type="text/javascript"></script>
|
||||
<script src="../../node_modules/mocha/mocha.js" type="text/javascript"></script>
|
||||
<script data-main="require" src="../../node_modules/requirejs/require.js" type="text/javascript"></script>
|
||||
|
||||
<script src="phantom.js" type="text/javascript"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,20 +0,0 @@
|
||||
define(["StringFilr"], function (StringFilrModule) {
|
||||
var StringFilr = StringFilrModule.StringFilr;
|
||||
|
||||
var mocks = {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
mockItemValue: function (settings) {
|
||||
return new ItemValue(settings)
|
||||
},
|
||||
/**
|
||||
*
|
||||
*/
|
||||
mockStringFilr: function (settings) {
|
||||
return new StringFilr(settings)
|
||||
}
|
||||
};
|
||||
|
||||
return mocks;
|
||||
});
|
||||
@@ -1 +0,0 @@
|
||||
require(["unit"]);
|
||||
@@ -1,5 +0,0 @@
|
||||
require(
|
||||
["unit"],
|
||||
function () {
|
||||
mocha.run();
|
||||
});
|
||||
@@ -1,63 +0,0 @@
|
||||
var sources = (function () {
|
||||
var config = {
|
||||
paths: {
|
||||
// Source code
|
||||
"StringFilr": "../../src/StringFilr",
|
||||
// External libraries
|
||||
"chai": "../../node_modules/chai/chai"
|
||||
}
|
||||
};
|
||||
|
||||
requirejs.config(config);
|
||||
|
||||
return Object.keys(config.paths).concat("mocks");
|
||||
})();
|
||||
|
||||
var tests = {
|
||||
"StringFilr": [
|
||||
"_"
|
||||
]
|
||||
};
|
||||
|
||||
require(sources, function () {
|
||||
var classTests = {};
|
||||
var requiredTests = 0;
|
||||
var loadedTests = 0;
|
||||
|
||||
var runTests = function () {
|
||||
mocha.setup("bdd");
|
||||
|
||||
for (var className in classTests) {
|
||||
describe(className, function () {
|
||||
for (var functionName in classTests[className]) {
|
||||
describe(functionName, classTests[className][functionName]);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
mocha.run();
|
||||
};
|
||||
|
||||
var generateOnTestLoad = function (className, functionName) {
|
||||
requiredTests += 1;
|
||||
|
||||
return function (functionTests) {
|
||||
classTests[className][functionName] = functionTests;
|
||||
loadedTests += 1;
|
||||
|
||||
if (loadedTests === requiredTests) {
|
||||
runTests();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (var className in tests) {
|
||||
classTests[className] = {};
|
||||
|
||||
tests[className].forEach(function (functionName) {
|
||||
require(
|
||||
[className + "Tests/" + functionName],
|
||||
generateOnTestLoad(className, functionName));
|
||||
});
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,11 @@
|
||||
/// <reference path="../../lib/StringFilr.d.ts" />
|
||||
|
||||
const mocks = {
|
||||
/**
|
||||
* @param settings Settings for the StringFilr.
|
||||
* @returns An StringFilr instance.
|
||||
*/
|
||||
mockStringFilr: (settings?: StringFilr.IStringFilrSettings): StringFilr.IStringFilr => {
|
||||
return new StringFilr.StringFilr(settings);
|
||||
}
|
||||
};
|
||||
+3
-2
@@ -6,7 +6,8 @@
|
||||
"declaration": true,
|
||||
"outDir": "dist"
|
||||
},
|
||||
"exclude": [
|
||||
"node_modules"
|
||||
"files": [
|
||||
"src/IStringFilr.ts",
|
||||
"src/StringFilr.ts"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user