Skip to content

Commit 8b4c2b4

Browse files
committed
build cleanup and output declarations
1 parent 3080a36 commit 8b4c2b4

File tree

7 files changed

+96
-62
lines changed

7 files changed

+96
-62
lines changed

ember-cli-build.js

+77-55
Original file line numberDiff line numberDiff line change
@@ -20,78 +20,100 @@ module.exports = function (app) {
2020
})
2121
]);
2222

23+
const qunit = new Funnel(path.dirname(require.resolve('qunit')), {
24+
annotation: 'tests/qunit.{js,css}',
25+
destDir: 'tests',
26+
files: ['qunit.css', 'qunit.js']
27+
});
28+
29+
const loader = new Funnel(path.dirname(require.resolve('loader.js')), {
30+
annotation: 'tests/loader.js',
31+
destDir: 'tests',
32+
files: ['loader.js']
33+
});
34+
35+
const tests = new Funnel(__dirname + '/tests', {
36+
destDir: 'tests',
37+
files: ['index.html']
38+
});
39+
2340
const compiled = typescript(src, {
2441
throwOnError: process.env.EMBER_ENV === 'production',
2542
});
2643

44+
const compiledDeclarations = typescript('lib', {
45+
tsconfig: {
46+
compilerOptions: {
47+
"declaration": true,
48+
}
49+
}
50+
});
51+
2752
const backburner = new Rollup(compiled, {
53+
annotation: 'backburner.js',
2854
rollup: {
2955
input: 'lib/index.js',
30-
output: {
56+
output: [{
3157
file: 'es6/backburner.js',
3258
format: 'es',
33-
sourcemap: true
34-
},
35-
format: 'es',
59+
sourcemap: true,
60+
exports: 'named'
61+
}],
3662
plugins: [
3763
loadWithInlineMap()
3864
]
3965
}
4066
});
4167

68+
const amdNamed = new Rollup(compiled, {
69+
rollup: {
70+
input: 'lib/index.js',
71+
output: [{
72+
file: 'named-amd/backburner.js',
73+
exports: 'named',
74+
format: 'amd',
75+
amd: { id: 'backburner' },
76+
sourcemap: true
77+
}, {
78+
file: 'backburner.js',
79+
format: 'cjs',
80+
sourcemap: true,
81+
exports: 'named'
82+
}],
83+
plugins: [
84+
loadWithInlineMap(),
85+
buble()
86+
]
87+
}
88+
});
89+
90+
const amdTests = new Rollup(compiled, {
91+
annotation: 'named-amd/tests.js',
92+
rollup: {
93+
input: 'tests/index.js',
94+
external: ['backburner'],
95+
output: [{
96+
file: 'named-amd/tests.js',
97+
format: 'amd',
98+
amd: { id: 'backburner-tests' },
99+
sourcemap: true,
100+
exports: 'named'
101+
}],
102+
plugins: [
103+
loadWithInlineMap(),
104+
buble()
105+
]
106+
}
107+
});
108+
42109
return new MergeTrees([
43110
backburner,
44-
new Rollup(compiled, {
45-
rollup: {
46-
input: 'lib/index.js',
47-
plugins: [
48-
loadWithInlineMap(),
49-
buble()
50-
],
51-
output: [{
52-
file: 'named-amd/backburner.js',
53-
exports: 'named',
54-
format: 'amd',
55-
amd: { id: 'backburner' },
56-
sourcemap: true
57-
}, {
58-
file: 'backburner.js',
59-
format: 'cjs',
60-
sourcemap: true
61-
}]
62-
}
63-
}),
64-
new Rollup(compiled, {
65-
annotation: 'named-amd/tests.js',
66-
rollup: {
67-
input: 'tests/index.js',
68-
external: ['backburner'],
69-
plugins: [
70-
loadWithInlineMap(),
71-
buble()
72-
],
73-
output: [{
74-
file: 'named-amd/tests.js',
75-
format: 'amd',
76-
amd: { id: 'backburner-tests' },
77-
sourcemap: true
78-
}]
79-
}
80-
}),
81-
new Funnel(path.dirname(require.resolve('qunit')), {
82-
annotation: 'tests/qunit.{js,css}',
83-
destDir: 'tests',
84-
files: ['qunit.css', 'qunit.js']
85-
}),
86-
new Funnel(path.dirname(require.resolve('loader.js')), {
87-
annotation: 'tests/loader.js',
88-
destDir: 'tests',
89-
files: ['loader.js']
90-
}),
91-
new Funnel(__dirname + '/tests', {
92-
destDir: 'tests',
93-
files: ['index.html']
94-
})
111+
compiledDeclarations,
112+
amdNamed,
113+
amdTests,
114+
qunit,
115+
loader,
116+
tests
95117
], {
96118
annotation: 'dist'
97119
});

lib/backburner/deferred-action-queues.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { IQueueItem } from './interfaces';
12
import Queue, { QUEUE_STATE } from './queue';
23

34
export default class DeferredActionQueues {
@@ -25,7 +26,7 @@ export default class DeferredActionQueues {
2526
@param {Any} stack
2627
@return queue
2728
*/
28-
public schedule(queueName: string, target: any, method: any, args: any, onceFlag: boolean, stack: any) {
29+
public schedule(queueName: string, target: any, method: any, args: any, onceFlag: boolean, stack: any): IQueueItem {
2930
let queues = this.queues;
3031
let queue = queues[queueName];
3132

lib/backburner/interfaces.ts

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export interface IQueueItem {
2+
queue: Object;
3+
target: any;
4+
method: any;
5+
}
6+
7+
export type Timer = string | number;

lib/backburner/queue.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ import {
33
getOnError
44
} from './utils';
55

6+
import {
7+
IQueueItem
8+
} from './interfaces';
9+
610
export const enum QUEUE_STATE {
711
Pause = 1
812
}
@@ -134,7 +138,7 @@ export default class Queue {
134138
return false;
135139
}
136140

137-
public push(target, method, args, stack) {
141+
public push(target, method, args, stack): IQueueItem {
138142
this._queue.push(target, method, args, stack);
139143

140144
return {
@@ -144,7 +148,7 @@ export default class Queue {
144148
};
145149
}
146150

147-
public pushUnique(target, method, args, stack) {
151+
public pushUnique(target, method, args, stack): IQueueItem {
148152
let localQueueMap = this.targetQueues.get(target);
149153

150154
if (localQueueMap === undefined) {

lib/index.ts

+2-3
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,9 @@ import searchTimer from './backburner/binary-search';
1717
import DeferredActionQueues from './backburner/deferred-action-queues';
1818
import iteratorDrain, { Iterable } from './backburner/iterator-drain';
1919

20+
import { IQueueItem, Timer } from './backburner/interfaces';
2021
import Queue, { QUEUE_STATE } from './backburner/queue';
2122

22-
type Timer = string | number;
23-
2423
const noop = function() {};
2524

2625
const SET_TIMEOUT = setTimeout;
@@ -371,7 +370,7 @@ export default class Backburner {
371370
@param {Iterable} an iterable of functions to execute
372371
@return method result
373372
*/
374-
public scheduleIterable(queueName: string, iterable: () => Iterable) {
373+
public scheduleIterable(queueName: string, iterable: () => Iterable): IQueueItem {
375374
scheduleIterableCount++;
376375
let stack = this.DEBUG ? new Error() : undefined;
377376
return this._ensureInstance().schedule(queueName, null, iteratorDrain, [iterable], false, stack);

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
"author": "Erik Bryn",
77
"main": "dist/backburner.js",
88
"jsnext:main": "dist/backburner.js",
9+
"typings": "dist/index.d.ts",
910
"repository": {
1011
"type": "git",
1112
"url": "https://github.com/BackburnerJS/backburner.js.git"

tsconfig.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@
1616
"lib/index.ts",
1717
"tests/index.ts"
1818
]
19-
}
19+
}

0 commit comments

Comments
 (0)