Skip to content

Commit 8d36a3c

Browse files
committed
build cleanup and output declarations
1 parent 07195a3 commit 8d36a3c

9 files changed

+283
-136
lines changed

ember-cli-build.js

+64-55
Original file line numberDiff line numberDiff line change
@@ -20,78 +20,87 @@ 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',
3359
sourcemap: true
34-
},
35-
format: 'es',
60+
}, {
61+
file: 'named-amd/backburner.js',
62+
exports: 'named',
63+
format: 'amd',
64+
amd: { id: 'backburner' },
65+
sourcemap: true
66+
}, {
67+
file: 'backburner.js',
68+
format: 'cjs',
69+
sourcemap: true,
70+
exports: 'named'
71+
}],
3672
plugins: [
37-
loadWithInlineMap()
73+
loadWithInlineMap(),
74+
buble()
3875
]
3976
}
4077
});
4178

79+
const amdTests = new Rollup(compiled, {
80+
annotation: 'named-amd/tests.js',
81+
rollup: {
82+
input: 'tests/index.js',
83+
external: ['backburner'],
84+
plugins: [
85+
loadWithInlineMap(),
86+
buble()
87+
],
88+
output: [{
89+
file: 'named-amd/tests.js',
90+
format: 'amd',
91+
amd: { id: 'backburner-tests' },
92+
sourcemap: true
93+
}]
94+
}
95+
});
96+
4297
return new MergeTrees([
4398
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-
})
99+
compiledDeclarations,
100+
amdTests,
101+
qunit,
102+
loader,
103+
tests
95104
], {
96105
annotation: 'dist'
97106
});

lib/backburner/deferred-action-queues.ts

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

36
export default class DeferredActionQueues {
47
public queues: { [name: string]: Queue } = {};
@@ -25,7 +28,7 @@ export default class DeferredActionQueues {
2528
@param {Any} stack
2629
@return queue
2730
*/
28-
public schedule(queueName: string, target: any, method: any, args: any, onceFlag: boolean, stack: any) {
31+
public schedule(queueName: string, target: any, method: any, args: any, onceFlag: boolean, stack: any): IQueueItem {
2932
let queues = this.queues;
3033
let queue = queues[queueName];
3134

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
@@ -19,8 +19,7 @@ import DeferredActionQueues from './backburner/deferred-action-queues';
1919
import iteratorDrain, { Iterable } from './backburner/iterator-drain';
2020

2121
import Queue, { QUEUE_STATE } from './backburner/queue';
22-
23-
type Timer = string | number;
22+
import { IQueueItem, Timer } from './backburner/interfaces';
2423

2524
const noop = function() {};
2625

@@ -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

+3-2
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"
@@ -25,7 +26,7 @@
2526
"broccoli-funnel": "^2.0.1",
2627
"broccoli-merge-trees": "^3.0.0",
2728
"broccoli-rollup": "^2.1.0",
28-
"broccoli-typescript-compiler": "^2.2.0",
29+
"broccoli-typescript-compiler": "^2.3.0",
2930
"do-you-even-bench": "^1.0.5",
3031
"ember-cli": "^3.0.2",
3132
"ember-cli-dependency-checker": "^2.1.0",
@@ -34,6 +35,6 @@
3435
"loader.js": "^4.6.0",
3536
"qunit": "^2.6.0",
3637
"rollup-plugin-buble": "^0.19.2",
37-
"tslint": "^5.9.1"
38+
"tslint": "^5.10.0",
3839
}
3940
}

tsconfig.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
"backburner": ["lib/index.ts"]
1313
}
1414
},
15-
"files": [
15+
"file": [
1616
"lib/index.ts",
1717
"tests/index.ts"
1818
]
19-
}
19+
}

tslint.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"prefer-const": false,
1414
"max-line-length": [false],
1515
"variable-name": [true, "ban-keywords", "check-format", "allow-leading-underscore"],
16-
"ban-types": {}
16+
"ban-types": {},
1717
},
1818
"jsRules": {
1919
"quotemark": [true, "single", "avoid-escape"],

0 commit comments

Comments
 (0)