Skip to content

Commit

Permalink
Port to Typescript 2.0 (#320)
Browse files Browse the repository at this point in the history
  • Loading branch information
olamothe committed Feb 8, 2017
1 parent 6046a17 commit bef79cd
Show file tree
Hide file tree
Showing 429 changed files with 3,936 additions and 35,278 deletions.
28 changes: 0 additions & 28 deletions .bithoundrc

This file was deleted.

34 changes: 34 additions & 0 deletions def.tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"declaration": false,
"experimentalDecorators": true,
"outDir": "./bin",
"sourceMap": true,
"forceConsistentCasingInFileNames": true,
"types": [
"underscore",
"globalize",
"pikaday",
"d3",
"d3-scale",
"es6-promise",
"coveoanalytics",
"magic-box",
"jstimezonedetect",
"fastclick",
"modal-box"
],
"typeRoots": [
"lib",
"node_modules/@types"
]
},
"include": [
"src/**/*.ts"
],
"files": [
"lib/es6-promise/index.d.ts"
]
}
24 changes: 24 additions & 0 deletions docs.tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"declaration": false,
"experimentalDecorators": true,
"outDir": "./bin",
"sourceMap": true,
"forceConsistentCasingInFileNames": true,
"typeRoots": [
"lib",
"node_modules/@types"
]
},
"lib": [
"DOM",
"ES5",
"ScriptHost",
"ES2015.Promise"
],
"include": [
"docs/playground/**/*.ts"
]
}
24 changes: 0 additions & 24 deletions docs/tsconfig.json

This file was deleted.

47 changes: 33 additions & 14 deletions gulpTasks/definition.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,34 +3,52 @@ const concat = require('gulp-concat');
const replace = require('gulp-replace');
const fs = require('fs');
const runsequence = require('run-sequence');
const footer = require('gulp-footer');

gulp.task('definitions', function (done) {
runsequence('internalDefs', 'externalDefs', 'cleanDefs', done);
})
runsequence('externalDefs', 'internalDefs', 'cleanDefs', done);
});

gulp.task('cleanDefs', function () {
return gulp.src('bin/ts/CoveoJsSearch.d.ts')
.pipe(replace(/import.*$/gm, ''))
.pipe(replace(/(declare module )(.*)( {$)/gm, '$1Coveo$3'))
.pipe(replace(/export =.+;$/gm, ''))
.pipe(replace(/export .+ from .+$/gm, ''))
.pipe(replace(/export (?:default )?(.*)$/gm, '$1'))
.pipe(replace(/private .+;$/gm, ''))
.pipe(replace(/\t[A-Za-z]+;$/gm, ''))
.pipe(replace(/\n\t\s*(\n\t\s*)/g, '$1'))
.pipe(footer('declare module "coveo-search-ui" {\n\texport = Coveo;\n}'))
.pipe(replace(/never/gm, 'void'))
.pipe(replace(/ensureDom: Function;\n\s*options\?: any;/gm, 'ensureDom: Function;\n\t\toptions: any;'))
.pipe(gulp.dest('bin/ts/'));
})
});

gulp.task('externalDefs', function () {
return gulp.src([
'./typings/browser/ambient/underscore/index.d.ts',
'./typings/browser/ambient/jquery/index.d.ts',
'./lib/MagicBox.d.ts',
'./node_modules/modal-box/bin/ModalBox.d.ts',
'./lib/d3.d.ts',
'./lib/fastclick.d.ts',
'./lib/promise.d.ts',
'./lib/globalize.d.ts',
'./lib/jstz.d.ts',
'./lib/coveoanalytics.d.ts'
'./node_modules/@types/underscore/index.d.ts',
'./lib/es6-promise/index.d.ts',
'./lib/modal-box/index.d.ts',
'./lib/magic-box/index.d.ts',
'./node_modules/@types/d3/index.d.ts',
'./lib/globalize/index.d.ts',
'./lib/jstimezonedetect/index.d.ts',
'./lib/coveoanalytics/index.d.ts'
])
.pipe(concat('Externals.d.ts'))
.pipe(replace(/import.*$/gm, ''))
.pipe(replace(/(declare module )(.*)( {$)/gm, '$1$2$3'))
.pipe(replace(/export as namespace .*;$/gm, ''))
.pipe(replace(/export =.+;$/gm, ''))
.pipe(replace(/export .+ from .+$/gm, ''))
.pipe(replace(/export (?:default )?(.*)$/gm, '$1'))
.pipe(replace(/private .+;$/gm, ''))
.pipe(replace(/\t[A-Za-z]+;$/gm, ''))
.pipe(replace(/\n\t\s*(\n\t\s*)/g, '$1'))
.pipe(replace(/never/gm, 'void'))
.pipe(gulp.dest('./bin/ts'));
})
});

gulp.task('internalDefs', function () {
return require('dts-generator').default({
Expand All @@ -39,6 +57,7 @@ gulp.task('internalDefs', function () {
baseDir: './src/',
out: 'bin/ts/CoveoJsSearch.d.ts',
externs: ['Externals.d.ts'],
verbose: true,
exclude: ['lib/**/*.d.ts', 'node_modules/**/*.d.ts', 'typings/**/*.d.ts', 'src/*.ts', 'bin/**/*.d.ts', 'test/lib/**/*.d.ts', 'test/Test.ts']
});
})
3 changes: 2 additions & 1 deletion gulpTasks/templatesParser.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ function findTemplates(directory, callback) {
function parseDirectory(directory, conditions, callback) {
findTemplates(directory, function (templates) {
callback(templates.map(function (template) {

var extname = path.extname(template);
var name = path.basename(template, extname);
var subtemplate = (name.indexOf("_") == 0);
Expand Down Expand Up @@ -113,4 +114,4 @@ function compileTemplates(directory, destination, fileName, conditions, done) {
module.exports = {
parseDirectory: parseDirectory,
compileTemplates: compileTemplates
};
};
2 changes: 1 addition & 1 deletion gulpTasks/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ gulp.task('testDev', ['watchTest'], function (done) {
gulp.task('remapCoverage', function (done) {
return gulp.src(`${COVERAGE_DIR}/coverage-es5.json`)
.pipe(remapIstanbul({
exclude: /(webpack|~\/d3\/|~\/es6-promise\/dist\/|~\/process\/|~\/underscore\/|vertx|~\/coveomagicbox\/|~\/d3-.*\/|~\/modal-box\/|~\/moment\/|~\/pikaday\/|test\/|lib\/|es6-promise|coveo\.analytics|latinize)/
exclude: /(webpack|~\/d3\/|~\/es6-promise\/dist\/|~\/process\/|~\/underscore\/|vertx|~\/coveomagicbox\/|~\/d3-.*\/|~\/modal-box\/|~\/moment\/|~\/pikaday\/|test\/|lib\/|es6-promise|analytics|jstimezonedetect|latinize)/
}))
.pipe(rename('coverage.json'))
.pipe(gulp.dest(COVERAGE_DIR));
Expand Down
48 changes: 41 additions & 7 deletions karma.conf.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,45 @@
var commonConfig = require('./karma.common.conf');
var _ = require('underscore');

var configuration = _.extend({}, commonConfig, {
var configuration = {
singleRun: true,
browsers: ['PhantomJS']
})
browsers: ['PhantomJS'],
frameworks: ['jasmine'],
files: [
{
pattern: './node_modules/jasmine-core/lib/jasmine-core/jasmine.css',
watched: false
},
{
pattern: './test/lib/jasmine-2.4.1/jasmine.css',
watched: false
},
{
pattern: './test/lib/jasmine-ajax/jasmine-ajax.js',
watched: false
},
{
pattern: './bin/tests/tests.js',
watched: true
}
],
plugins: [
'karma-jasmine',
'karma-chrome-launcher',
'karma-phantomjs-launcher',
'karma-coverage',
'karma-spec-reporter'
],
preprocessors: {
'./bin/tests/tests.js': 'coverage'
},
reporters: ['coverage', 'spec'],
coverageReporter: {
dir: './bin/coverage',
reporters: [
{type: 'json', subdir: '.', file: 'coverage-es5.json'},
{type: 'lcov', subdir: 'lcov-es5'}
]
}
};

module.exports = function(config) {
config.set(configuration);
};
};
11 changes: 0 additions & 11 deletions karma.dev.conf.js

This file was deleted.

File renamed without changes.
3 changes: 3 additions & 0 deletions lib/cultures/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
interface String {
toLocaleString: ()=> string;
}
Loading

0 comments on commit bef79cd

Please sign in to comment.