Skip to content
This repository was archived by the owner on Apr 20, 2018. It is now read-only.

Commit 37a142a

Browse files
Merge pull request #859 from david-driscoll/master
Updated nuspec files and fixed build
2 parents a4b5506 + bd46f33 commit 37a142a

72 files changed

Lines changed: 2446 additions & 10603 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Gruntfile.js

Lines changed: 99 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -2541,8 +2541,6 @@ module.exports = function (grunt) {
25412541
'nuget-time',
25422542
'nuget-virtualtime'
25432543
]);
2544-
2545-
25462544

25472545
grunt.registerTask('rebuild-ts', 'Rebuild typescript declarations', function() {
25482546
var path = require('path');
@@ -2551,6 +2549,7 @@ module.exports = function (grunt) {
25512549
var cache = {};
25522550
var dependencies = {};
25532551
var concatItems = grunt.config.get('concat');
2552+
var allLoadedFiles = {};
25542553

25552554
function loadFile(tsFile) {
25562555
if (cache[tsFile]) {
@@ -2587,10 +2586,17 @@ module.exports = function (grunt) {
25872586
return c;
25882587
}
25892588

2590-
function addLoadedFile(tsFile) {
2589+
function addLoadedFile(concatKey, tsFile) {
25912590
if (loadedFiles[tsFile]) {
25922591
return;
25932592
}
2593+
2594+
if (!(concatKey === 'all' || concatKey === 'main' || concatKey === 'lite' || concatKey === 'core')) {
2595+
if (allLoadedFiles['lite'][tsFile] || allLoadedFiles['core'][tsFile]) {
2596+
loadedFiles[tsFile] = true;
2597+
return;
2598+
}
2599+
}
25942600

25952601
if (!(tsFile.match(/\/toset\.ts$/) || tsFile.match(/\/tomap\.ts$/))) {
25962602
output.push(cache[tsFile]);
@@ -2599,37 +2605,50 @@ module.exports = function (grunt) {
25992605
loadedFiles[tsFile] = true;
26002606
}
26012607

2602-
function addFileContent(tsFile) {
2608+
function addFileContent(concatKey, tsFile) {
26032609
if (loadedFiles[tsFile]) {
26042610
return;
26052611
}
26062612

26072613
var deps = dependencies[tsFile];
26082614
for (var k = 0; k < deps.length; k++) {
2609-
addLoadedFile(deps[k]);
2610-
addFileContent(deps[k]);
2615+
addLoadedFile(concatKey, deps[k]);
2616+
addFileContent(concatKey, deps[k]);
26112617
}
26122618

2613-
addLoadedFile(tsFile);
2619+
addLoadedFile(concatKey, tsFile);
26142620
}
26152621

26162622
loadFile('ts/core/es5.ts');
26172623
loadFile('ts/core/es6.ts');
2618-
2624+
2625+
var items = [];
26192626
for (var key in concatItems) {
2620-
var loadedFiles = {};
2627+
if (key.indexOf('-compat') > -1) {
2628+
continue;
2629+
}
2630+
2631+
if (key === 'lite' || key === 'core') {
2632+
items.unshift(key);
2633+
} else {
2634+
items.push(key);
2635+
}
2636+
}
2637+
2638+
for (var key = 0; key < items.length; key++) {
2639+
var concatKey = items[key];
2640+
2641+
if (!allLoadedFiles[concatKey])
2642+
allLoadedFiles[concatKey] = {};
2643+
var loadedFiles = allLoadedFiles[concatKey];
2644+
26212645
var output = [];
26222646
var es6Output = [];
2623-
var value = concatItems[key];
2647+
var value = concatItems[concatKey];
26242648
var src = value.src;
26252649
var dest = value.dest;
2626-
26272650
var dist = false;
26282651

2629-
if (key.indexOf('-compat') > -1) {
2630-
continue;
2631-
}
2632-
26332652
if (dest.indexOf('dist/') === 0) {
26342653
dist = dest.match(/dist\/(.*?)\.js/)[1];
26352654
dest = dest.replace(/dist\/(.*?)\.js/, 'ts/$1.d.ts');
@@ -2652,7 +2671,7 @@ module.exports = function (grunt) {
26522671
}
26532672

26542673
if (tsFile.indexOf('/es5') === -1 || tsFile.indexOf('/es6') === -1) {
2655-
addFileContent(tsFile);
2674+
addFileContent(concatKey, tsFile);
26562675
}
26572676
} else {
26582677
var valid = ['/headers/', '/longstacktraces/', '/internal/', '/autodetachobserver', '/subjects/innersubscription', '/perf/observablebase', 'linq/enumerable/while', '.compat.', 'linq/observable/_', '/linq/observable/fromarrayobservable', '/joins/', '/linq/observable/flatmapbase', '/disposables/scheduleddisposable', '/concurrency/catchscheduler', '/core/observeonobserver', '/testing/mockpromise', '/testing/hotobservable', '/testing/coldobservable'];
@@ -2663,33 +2682,74 @@ module.exports = function (grunt) {
26632682
break;
26642683
}
26652684
}
2666-
2667-
if (!validResult) {
2668-
console.log('missing file: ' + tsFile);
2669-
}
26702685
}
26712686
}
2672-
2673-
output.unshift(cache['ts/core/es5.ts']);
2674-
es6Output.unshift(cache['ts/core/es6.ts']);
2675-
2676-
var outputString = 'declare module Rx {\n' + output.join('') + '\n}\n';
2677-
outputString += '\ndeclare module "rx" { export = Rx; }\n';
2678-
if (dist) {
2679-
outputString += 'declare module "'+dist+'" { export = Rx; }';
2680-
}
2681-
grunt.file.write(dest, outputString);
2682-
2683-
outputString = 'declare module Rx {\n' + es6Output.join('') + '\n}\n';
2684-
outputString += '\ndeclare module "rx" { export = Rx; }\n';
2685-
if (dist) {
2686-
outputString += '\ndeclare module "'+dist+'" { export = Rx; }\n';
2687-
}
2688-
grunt.file.write(dest.replace(/^ts\//, 'ts/es6/'), outputString);
2687+
2688+
var writeOut = function(dest, output, es6) {
2689+
var outputString = 'declare module Rx {\n' + output.join('') + '\n}\n';
2690+
if (concatKey === 'all' || concatKey === 'main' || concatKey === 'lite' || concatKey === 'core') {
2691+
outputString += '\ndeclare module "rx" { export = Rx; }\n';
2692+
}
2693+
if (dist && concatKey !== 'core') {
2694+
outputString += 'declare module "'+dist+'" { export = Rx; }';
2695+
}
2696+
2697+
// TS 1.5.4 support
2698+
outputString = outputString
2699+
.replace(/export type ObservableOrPromise<T> = IObservable<T> \| Observable<T> \| Promise<T>;/g, '')
2700+
.replace(/export type ArrayLike<T> = Array<T> \| \{ length: number;\[index: number\]: T; \};/g, '')
2701+
.replace(/export type ArrayOrIterable<T> = ArrayLike<T> \| Iterable<T>;/g, '')
2702+
.replace(/export type ArrayOrIterable<T> = ArrayLike<T>;/g, '')
2703+
.replace(/export type _Selector<T, TResult> = \(value: T, index: number, observable: Observable<T>\) => TResult;/g, '')
2704+
.replace(/export type _ValueOrSelector<T, TResult> = TResult \| _Selector<T, TResult>;/g, '')
2705+
.replace(/export type _Predicate<T> = _Selector<T, boolean>;/g, '')
2706+
.replace(/export type _Comparer<T, TResult> = \(value1: T, value2: T\) => TResult;/g, '')
2707+
.replace(/export type _Accumulator<T, TAcc> = \(acc: TAcc, value: T\) => TAcc;/g, '')
2708+
.replace(/export type _FlatMapResultSelector<T1, T2, TResult> = \(value: T1, selectorValue: T2, index: number, selectorOther: number\) => TResult;/g, '')
2709+
.replace(/_Predicate<(\w*?)>/g, '_Selector<$1, boolean>')
2710+
.replace(/_ValueOrSelector<(\w*?), ObservableOrPromise<(\w*?)>>/g, 'ObservableOrPromise<$2> | _Selector<$1, ObservableOrPromise<$2>>')
2711+
.replace(/_ValueOrSelector<(\w*?), ArrayOrIterable<(\w*?)>>/g, 'ArrayOrIterable<$2> | _Selector<$1, ArrayOrIterable<$2>>')
2712+
.replace(/_ValueOrSelector<(\w*?), (\w*?)>/g, '$2 | _Selector<$1, $2>')
2713+
.replace(/_Selector<Observable<(\w*?)>, (\w*?)>/g, '((value: Observable<$1>, index: number, observable: Observable<Observable<$1>>) => $2)')
2714+
.replace(/_Selector<(\w*?), Observable<(\w*?)>>/g, '((value: $1, index: number, observable: Observable<$1>) => Observable<$2>)')
2715+
.replace(/_Selector<(\w*?), ObservableOrPromise<(\w*?)>>/g, '((value: $1, index: number, observable: ObservableOrPromise<$1>) => ObservableOrPromise<$2>)')
2716+
.replace(/_Selector<(\w*?), ArrayOrIterable<(\w*?)>>/g, '((value: $1, index: number, observable: ArrayOrIterable<$1>) => ArrayOrIterable<$2>)')
2717+
.replace(/_Selector<(\w*?), (\w*?)>/g, '((value: $1, index: number, observable: Observable<$1>) => $2)')
2718+
.replace(/_Comparer<(\w*?), (\w*?)>/g, '((value1: $1, value2: $1) => $2)')
2719+
.replace(/_Comparer<T \| TOther, boolean>/, '((value1: T | TOther, value2: T | TOther) => boolean)')
2720+
.replace(/_Accumulator<(\w*?), (\w*?)>/g, '((acc: $1, value: $1) => $2)')
2721+
.replace(/special._FlatMapResultSelector<(\w*?), (\w*?), (\w*?)>/g, '((value: $1, selectorValue: $2, index: number, selectorOther: number) => $3)')
2722+
.replace(/ObservableOrPromise\<(\w*?)\>/g, '(IObservable<$1> | Observable<$1> \| Promise<$1>)')
2723+
2724+
/*special._FlatMapResultSelector<T, TOther, TResult>*/
2725+
if (es6) {
2726+
outputString = outputString
2727+
.replace(/ArrayOrIterable<(\w*?)>/g, '(ArrayLike<$1> | Iterable<$1>)');
2728+
} else {
2729+
outputString = outputString
2730+
.replace(/ArrayOrIterable<(\w*?)>/g, 'ArrayLike<$1>');
2731+
}
2732+
2733+
outputString = outputString
2734+
.replace(/ArrayLike<(\w*?)>/g, '(Array<$1> | { length: number;[index: number]: $1; })')
2735+
2736+
outputString = outputString + '\n';
2737+
//.replace(/\(IObservable<TResult> \| Observable<TResult> \| Promise<TResult>\) \| \(value: T, index: number, observable: \(IObservable<T> \| Observable<T> \| Promise<T>\)\) => \(IObservable<TResult> \| Observable<TResult> \| Promise<TResult>\)\): Observable<TResult>/, '(IObservable<TResult> | Observable<TResult> | Promise<TResult> | (value: T, index: number, observable: (IObservable<T> | Observable<T> | Promise<T>)) => (IObservable<TResult> | Observable<TResult> | Promise<TResult>)): Observable<TResult>')
2738+
2739+
grunt.file.write(dest, outputString);
2740+
};
2741+
2742+
if (concatKey === 'all' || concatKey === 'main' || concatKey === 'lite' || concatKey === 'core') {
2743+
output.unshift(cache['ts/core/es5.ts']);
2744+
es6Output.unshift(cache['ts/core/es6.ts']);
2745+
}
2746+
2747+
writeOut(dest, output);
2748+
writeOut(dest.replace(/.d.ts$/, '.es6.d.ts'), es6Output, true);
26892749
}
26902750

2691-
grunt.file.write('ts/es6/es6-iterable.d.ts', grunt.file.read('ts/core/es6-iterable.d.ts'));
2692-
grunt.file.write('ts/es6/es6-promise.d.ts', grunt.file.read('ts/core/es6-promise.d.ts'));
2751+
grunt.file.write('ts/iterable.es6.d.ts', grunt.file.read('ts/core/es6-iterable.d.ts'));
2752+
grunt.file.write('ts/es6-promise.es6.d.ts', grunt.file.read('ts/core/es6-promise.d.ts'));
26932753
});
26942754

26952755
grunt.registerTask('concat-min', [

nuget/RxJS-Aggregates/RxJS-Aggregates.nuspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,6 @@
2222
<file src="..\..\dist\rx.aggregates.js" target="content\Scripts\rx.aggregates.js" />
2323
<file src="..\..\dist\rx.aggregates.min.js" target="content\Scripts\rx.aggregates.min.js" />
2424
<file src="..\..\ts\rx.aggregates.d.ts" target="content\Scripts\rx.aggregates.d.ts" />
25+
<file src="..\..\ts\rx.aggregates.es6.d.ts" target="content\Scripts\rx.aggregates.es6.d.ts" />
2526
</files>
2627
</package>

nuget/RxJS-All/RxJS-All.nuspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,6 @@
2828
</metadata>
2929
<files>
3030
<file src="..\..\ts\rx.all.d.ts" target="content\Scripts\rx.all.d.ts" />
31+
<file src="..\..\ts\rx.all.es6.d.ts" target="content\Scripts\rx.all.es6.d.ts" />
3132
</files>
3233
</package>

nuget/RxJS-Async/RxJS-Async.nuspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,6 @@
2525
<file src="..\..\dist\rx.async.compat.js" target="content\Scripts\rx.async.compat.js" />
2626
<file src="..\..\dist\rx.async.compat.min.js" target="content\Scripts\rx.async.compat.min.js" />
2727
<file src="..\..\ts\rx.async.d.ts" target="content\Scripts\rx.async.d.ts" />
28-
<file src="..\..\ts\rx.async-lite.d.ts" target="content\Scripts\rx.async-lite.d.ts" />
28+
<file src="..\..\ts\rx.async.es6.d.ts" target="content\Scripts\rx.async.es6.d.ts" />
2929
</files>
3030
</package>

nuget/RxJS-BackPressure/RxJS-BackPressure.nuspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,6 @@
2323
<file src="..\..\dist\rx.backpressure.js" target="content\Scripts\rx.backpressure.js" />
2424
<file src="..\..\dist\rx.backpressure.min.js" target="content\Scripts\rx.backpressure.min.js" />
2525
<file src="..\..\ts\rx.backpressure.d.ts" target="content\Scripts\rx.backpressure.d.ts" />
26-
<file src="..\..\ts\rx.backpressure-lite.d.ts" target="content\Scripts\rx.backpressure-lite.d.ts" />
26+
<file src="..\..\ts\rx.backpressure.es6.d.ts" target="content\Scripts\rx.backpressure.es6.d.ts" />
2727
</files>
2828
</package>

nuget/RxJS-Binding/RxJS-Binding.nuspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,6 @@
2020
<file src="..\..\dist\rx.binding.js" target="content\Scripts\rx.binding.js" />
2121
<file src="..\..\dist\rx.binding.min.js" target="content\Scripts\rx.binding.min.js" />
2222
<file src="..\..\ts\rx.binding.d.ts" target="content\Scripts\rx.binding.d.ts" />
23-
<file src="..\..\ts\rx.binding-lite.d.ts" target="content\Scripts\rx.binding-lite.d.ts" />
23+
<file src="..\..\ts\rx.binding.es6.d.ts" target="content\Scripts\rx.binding.es6.d.ts" />
2424
</files>
2525
</package>

nuget/RxJS-Coincidence/RxJS-Coincidence.nuspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@
2222
<file src="..\..\dist\rx.coincidence.js" target="content\Scripts\rx.coincidence.js" />
2323
<file src="..\..\dist\rx.coincidence.min.js" target="content\Scripts\rx.coincidence.min.js" />
2424
<file src="..\..\ts\rx.coincidence.d.ts" target="content\Scripts\rx.coincidence.d.ts" />
25-
<file src="..\..\ts\rx.coincidence-lite.d.ts" target="content\Scripts\rx.coincidence-lite.d.ts" />
25+
<file src="..\..\ts\rx.coincidence.es6.d.ts" target="content\Scripts\rx.coincidence.es6.d.ts" />
2626
</files>
2727
</package>

nuget/RxJS-Complete/RxJS-Complete.nuspec

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,28 @@
2020
<file src="..\..\dist\rx.all.compat.js" target="content\Scripts\rx.all.compat.js" />
2121
<file src="..\..\dist\rx.all.compat.min.js" target="content\Scripts\rx.all.compat.min.js" />
2222
<file src="..\..\ts\rx.all.d.ts" target="content\Scripts\rx.all.d.ts" />
23+
<file src="..\..\ts\rx.all.es6.d.ts" target="content\Scripts\rx.all.es6.d.ts" />
2324
<file src="..\..\ts\rx.d.ts" target="content\Scripts\rx.d.ts" />
24-
<file src="..\..\ts\rx-lite.d.ts" target="content\Scripts\rx-lite.d.ts" />
25+
<file src="..\..\ts\rx.es6.d.ts" target="content\Scripts\rx.es6.d.ts" />
26+
<file src="..\..\ts\rx.lite.d.ts" target="content\Scripts\rx.lite.d.ts" />
27+
<file src="..\..\ts\rx.lite.es6.d.ts" target="content\Scripts\rx.lite.es6.d.ts" />
28+
<file src="..\..\ts\rx.lite.extras.d.ts" target="content\Scripts\rx.lite.extras.d.ts" />
29+
<file src="..\..\ts\rx.lite.extras.es6.d.ts" target="content\Scripts\rx.lite.extras.es6.d.ts" />
2530
<file src="..\..\ts\rx.aggregates.d.ts" target="content\Scripts\rx.aggregates.d.ts" />
31+
<file src="..\..\ts\rx.aggregates.es6.d.ts" target="content\Scripts\rx.aggregates.es6.d.ts" />
2632
<file src="..\..\ts\rx.async.d.ts" target="content\Scripts\rx.async.d.ts" />
27-
<file src="..\..\ts\rx.async-lite.d.ts" target="content\Scripts\rx.async-lite.d.ts" />
33+
<file src="..\..\ts\rx.async.es6.d.ts" target="content\Scripts\rx.async.es6.d.ts" />
2834
<file src="..\..\ts\rx.binding.d.ts" target="content\Scripts\rx.binding.d.ts" />
29-
<file src="..\..\ts\rx.binding-lite.d.ts" target="content\Scripts\rx.binding-lite.d.ts" />
35+
<file src="..\..\ts\rx.binding.es6.d.ts" target="content\Scripts\rx.binding.es6.d.ts" />
3036
<file src="..\..\ts\rx.coincidence.d.ts" target="content\Scripts\rx.coincidence.d.ts" />
31-
<file src="..\..\ts\rx.coincidence-lite.d.ts" target="content\Scripts\rx.coincidence-lite.d.ts" />
37+
<file src="..\..\ts\rx.coincidence.es6.d.ts" target="content\Scripts\rx.coincidence.es6.d.ts" />
3238
<file src="..\..\ts\rx.experimental.d.ts" target="content\Scripts\rx.experimental.d.ts" />
39+
<file src="..\..\ts\rx.experimental.es6.d.ts" target="content\Scripts\rx.experimental.es6.d.ts" />
3340
<file src="..\..\ts\rx.joinpatterns.d.ts" target="content\Scripts\rx.joinpatterns.d.ts" />
41+
<file src="..\..\ts\rx.joinpatterns.es6.d.ts" target="content\Scripts\rx.joinpatterns.es6.d.ts" />
3442
<file src="..\..\ts\rx.time.d.ts" target="content\Scripts\rx.time.d.ts" />
35-
<file src="..\..\ts\rx.time-lite.d.ts" target="content\Scripts\rx.time-lite.d.ts" />
43+
<file src="..\..\ts\rx.time.es6.d.ts" target="content\Scripts\rx.time.es6.d.ts" />
3644
<file src="..\..\ts\rx.virtualtime.d.ts" target="content\Scripts\rx.virtualtime.d.ts" />
37-
<file src="..\..\ts\rx.virtualtime-lite.d.ts" target="content\Scripts\rx.virtualtime-lite.d.ts" />
45+
<file src="..\..\ts\rx.virtualtime.es6.d.ts" target="content\Scripts\rx.virtualtime.es6.d.ts" />
3846
</files>
3947
</package>

nuget/RxJS-Experimental/RxJS-Experimental.nuspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,6 @@
2222
<file src="..\..\dist\rx.experimental.js" target="content\Scripts\rx.experimental.js" />
2323
<file src="..\..\dist\rx.experimental.min.js" target="content\Scripts\rx.experimental.min.js" />
2424
<file src="..\..\ts\rx.experimental.d.ts" target="content\Scripts\rx.experimental.d.ts" />
25+
<file src="..\..\ts\rx.experimental.es6.d.ts" target="content\Scripts\rx.experimental.es6.d.ts" />
2526
</files>
2627
</package>

nuget/RxJS-JoinPatterns/RxJS-JoinPatterns.nuspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,6 @@
2222
<file src="..\..\dist\rx.joinpatterns.js" target="content\Scripts\rx.joinpatterns.js" />
2323
<file src="..\..\dist\rx.joinpatterns.min.js" target="content\Scripts\rx.joinpatterns.min.js" />
2424
<file src="..\..\ts\rx.joinpatterns.d.ts" target="content\Scripts\rx.joinpatterns.d.ts" />
25+
<file src="..\..\ts\rx.joinpatterns.es6.d.ts" target="content\Scripts\rx.joinpatterns.es6.d.ts" />
2526
</files>
2627
</package>

0 commit comments

Comments
 (0)