diff --git a/docs/public-docs-package/index.js b/docs/public-docs-package/index.js index 8b17e5b337..08e42b77e9 100644 --- a/docs/public-docs-package/index.js +++ b/docs/public-docs-package/index.js @@ -10,7 +10,7 @@ module.exports = new Package('angular-v2-public-docs', [basePackage]) 'angular2/core.ts', 'angular2/di.ts', 'angular2/directives.ts', - 'angular2/http.ts', + 'http/http.ts', 'angular2/forms.ts', 'angular2/router.ts', 'angular2/test.ts', diff --git a/docs/typescript-definition-package/index.js b/docs/typescript-definition-package/index.js index e5e1696f7a..0763721606 100644 --- a/docs/typescript-definition-package/index.js +++ b/docs/typescript-definition-package/index.js @@ -39,7 +39,8 @@ module.exports = new Package('angular-v2-docs', [jsdocPackage, nunjucksPackage, readFilesProcessor.basePath = path.resolve(__dirname, '../..'); readTypeScriptModules.sourceFiles = [ 'angular2/angular2.ts', - 'angular2/router.ts' + 'angular2/router.ts', + 'http/http.ts' ]; readTypeScriptModules.basePath = path.resolve(path.resolve(__dirname, '../../modules')); @@ -59,6 +60,13 @@ module.exports = new Package('angular-v2-docs', [jsdocPackage, nunjucksPackage, modules: { 'angular2/router': 'angular2/router' } + }, + { + id: 'http/http', + namespace: 'ngHttp', + modules: { + 'http/http':'http/http' + } } ]; }) diff --git a/gulpfile.js b/gulpfile.js index f20bc2afaf..1b39e282a8 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -615,7 +615,7 @@ gulp.task('test.unit.dart', function (done) { return; } - watch('modules/angular2/**', { ignoreInitial: true }, [ + watch(['modules/angular2/**', 'modules/http/**'], { ignoreInitial: true }, [ '!build/tree.dart', '!test.unit.dart/karma-run' ]); @@ -655,7 +655,7 @@ gulp.task('test.unit.dart/ci', function (done) { gulp.task('test.unit.cjs/ci', function(done) { - runJasmineTests(['dist/js/cjs/{angular2,benchpress}/test/**/*_spec.js'], done); + runJasmineTests(['dist/js/cjs/{angular2,benchpress,http}/test/**/*_spec.js'], done); }); @@ -761,7 +761,7 @@ gulp.task('!pre.test.typings', ['docs/typings'], function() { // ----------------- gulp.task('test.typings', ['!pre.test.typings'], function() { - return gulp.src(['typing_spec/*.ts', 'dist/docs/typings/angular2/*.d.ts']) + return gulp.src(['typing_spec/*.ts', 'dist/docs/typings/angular2/*.d.ts', 'dist/docs/typings/http.d.ts']) .pipe(tsc({target: 'ES5', module: 'commonjs', experimentalDecorators: true, noImplicitAny: true, @@ -957,6 +957,16 @@ gulp.task('!bundle.js.prod', ['build.js.prod'], function() { './dist/build/angular2.js', { sourceMaps: true + }). + then(function(){ + return bundler.bundle( + bundleConfig, + 'http/http', + './dist/build/http.js', + { + sourceMaps: true + } + ) }); }); @@ -969,6 +979,17 @@ gulp.task('!bundle.js.min', ['build.js.prod'], function() { { sourceMaps: true, minify: true + }). + then(function(){ + return bundler.bundle( + bundleConfig, + 'http/http', + './dist/build/http.min.js', + { + sourceMaps: true, + minify: true + } + ) }); }); @@ -983,7 +1004,14 @@ gulp.task('!bundle.js.dev', ['build.js.dev'], function() { devBundleConfig, 'angular2/angular2', './dist/build/angular2.dev.js', - { sourceMaps: true }); + { sourceMaps: true }). + then(function() { + return bundler.bundle( + devBundleConfig, + 'http/http', + './dist/build/http.dev.js', + { sourceMaps: true }); + }); }); gulp.task('!router.bundle.js.dev', ['build.js.dev'], function() { @@ -1028,25 +1056,41 @@ gulp.task('!bundle.js.sfx.dev', ['build.js.dev'], function() { 'angular2/angular2_sfx', './dist/build/angular2.sfx.dev.js', { sourceMaps: true }, - /* self-executing */ true); + /* self-executing */ true). + then(function() { + return bundler.bundle( + devBundleConfig, + 'http/http_sfx', + './dist/build/http.sfx.dev.js', + { sourceMaps: true }, + true) + }); }); gulp.task('!bundle.js.prod.deps', ['!bundle.js.prod'], function() { - return bundler.modify( + return merge2(bundler.modify( ['node_modules/zone.js/dist/zone-microtask.js', 'node_modules/reflect-metadata/Reflect.js', 'dist/build/angular2.js'], 'angular2.js' - ).pipe(gulp.dest('dist/js/bundle')); + ), + bundler.modify( + ['node_modules/reflect-metadata/Reflect.js', 'node_modules/rx/dist/rx.lite.js', 'dist/build/http.js'], + 'http.js' + )).pipe(gulp.dest('dist/js/bundle')); }); gulp.task('!bundle.js.min.deps', ['!bundle.js.min'], function() { - return bundler.modify( + return merge2(bundler.modify( ['node_modules/zone.js/dist/zone-microtask.min.js', 'node_modules/reflect-metadata/Reflect.js', 'dist/build/angular2.min.js'], 'angular2.min.js' - ) - .pipe(uglify()) - .pipe(gulp.dest('dist/js/bundle')); + ), + bundler.modify( + ['node_modules/reflect-metadata/Reflect.js', 'node_modules/rx/dist/rx.lite.js','dist/build/http.min.js'], + 'http.min.js' + )) + .pipe(uglify()) + .pipe(gulp.dest('dist/js/bundle')); }); var JS_DEV_DEPS = [ @@ -1071,17 +1115,26 @@ function insertRXLicense(source) { } gulp.task('!bundle.js.dev.deps', ['!bundle.js.dev'], function() { - return bundler.modify(JS_DEV_DEPS.concat(['dist/build/angular2.dev.js']), 'angular2.dev.js') - .pipe(insert.transform(insertRXLicense)) - .pipe(insert.append('\nSystem.config({"paths":{"*":"*.js","angular2/*":"angular2/*"}});\n')) - .pipe(gulp.dest('dist/js/bundle')); + return merge2( + bundler.modify( + JS_DEV_DEPS.concat(['dist/build/angular2.dev.js']), + 'angular2.dev.js') + .pipe(insert.transform(insertRXLicense)) + .pipe(insert.append('\nSystem.config({"paths":{"*":"*.js","angular2/*":"angular2/*"}});\n')) + .pipe(gulp.dest('dist/js/bundle')), + bundler.modify( + ['dist/build/http.dev.js'], 'http.dev.js') + .pipe(gulp.dest('dist/js/bundle'))); }); gulp.task('!bundle.js.sfx.dev.deps', ['!bundle.js.sfx.dev'], function() { - return bundler.modify(JS_DEV_DEPS.concat(['dist/build/angular2.sfx.dev.js']), + return merge2( + bundler.modify(JS_DEV_DEPS.concat(['dist/build/angular2.sfx.dev.js']), 'angular2.sfx.dev.js') - .pipe(insert.transform(insertRXLicense)) - .pipe(gulp.dest('dist/js/bundle')); + .pipe(gulp.dest('dist/js/bundle')), + bundler.modify(['dist/build/http.sfx.dev.js'], + 'http.sfx.dev.js') + .pipe(gulp.dest('dist/js/bundle'))); }); gulp.task('bundles.js', [ diff --git a/karma-dart.conf.js b/karma-dart.conf.js index cc84598efc..e07c721291 100644 --- a/karma-dart.conf.js +++ b/karma-dart.conf.js @@ -45,6 +45,7 @@ module.exports = function(config) { // Local dependencies, transpiled from the source. '/packages/angular2': '/base/dist/dart/angular2/lib', + '/packages/http': '/base/dist/dart/http/lib', '/packages/angular2_material': '/base/dist/dart/angular2_material/lib', '/packages/benchpress': '/base/dist/dart/benchpress/lib', '/packages/examples': '/base/dist/dart/examples/lib' diff --git a/modules/angular2/angular2.ts b/modules/angular2/angular2.ts index 8f5032ee18..640a4d18dd 100644 --- a/modules/angular2/angular2.ts +++ b/modules/angular2/angular2.ts @@ -12,7 +12,6 @@ export * from './change_detection'; export * from './core'; export * from './di'; export * from './directives'; -export * from './http'; export * from './forms'; export * from './render'; export * from './profile'; diff --git a/modules/angular2/angular2_exports.ts b/modules/angular2/angular2_exports.ts index ad7b5b6e03..ed8c911a4b 100644 --- a/modules/angular2/angular2_exports.ts +++ b/modules/angular2/angular2_exports.ts @@ -3,7 +3,6 @@ export * from './change_detection'; export * from './core'; export * from './di'; export * from './directives'; -export * from './http'; export * from './forms'; export * from './render'; export * from './profile'; diff --git a/modules/angular2/bootstrap.ts b/modules/angular2/bootstrap.ts index 1c378b2e72..ddc827d5de 100644 --- a/modules/angular2/bootstrap.ts +++ b/modules/angular2/bootstrap.ts @@ -12,6 +12,5 @@ export * from './change_detection'; export * from './core'; export * from './di'; export * from './directives'; -export * from './http'; export * from './forms'; export * from './render'; diff --git a/modules/angular2/http.ts b/modules/angular2/http.ts deleted file mode 100644 index 3e293410ca..0000000000 --- a/modules/angular2/http.ts +++ /dev/null @@ -1,80 +0,0 @@ -/** - * @module - * @description - * The http module provides services to perform http requests. To get started, see the {@link Http} - * class. - */ -import {bind, Binding} from 'angular2/di'; -import {Http, Jsonp} from 'angular2/src/http/http'; -import {XHRBackend, XHRConnection} from 'angular2/src/http/backends/xhr_backend'; -import {JSONPBackend, JSONPConnection} from 'angular2/src/http/backends/jsonp_backend'; -import {BrowserXhr} from 'angular2/src/http/backends/browser_xhr'; -import {BrowserJsonp} from 'angular2/src/http/backends/browser_jsonp'; -import {BaseRequestOptions, RequestOptions} from 'angular2/src/http/base_request_options'; -import {ConnectionBackend} from 'angular2/src/http/interfaces'; -import {BaseResponseOptions, ResponseOptions} from 'angular2/src/http/base_response_options'; - -export {MockConnection, MockBackend} from 'angular2/src/http/backends/mock_backend'; -export {Request} from 'angular2/src/http/static_request'; -export {Response} from 'angular2/src/http/static_response'; - -export { - IRequestOptions, - IResponseOptions, - Connection, - ConnectionBackend -} from 'angular2/src/http/interfaces'; - -export {BrowserXhr} from 'angular2/src/http/backends/browser_xhr'; -export {BaseRequestOptions, RequestOptions} from 'angular2/src/http/base_request_options'; -export {BaseResponseOptions, ResponseOptions} from 'angular2/src/http/base_response_options'; -export {XHRBackend, XHRConnection} from 'angular2/src/http/backends/xhr_backend'; -export {JSONPBackend, JSONPConnection} from 'angular2/src/http/backends/jsonp_backend'; -export {Http, Jsonp} from 'angular2/src/http/http'; - -export {Headers} from 'angular2/src/http/headers'; - -export { - ResponseTypes, - ReadyStates, - RequestMethods, - RequestCredentialsOpts, - RequestCacheOpts, - RequestModesOpts -} from 'angular2/src/http/enums'; -export {URLSearchParams} from 'angular2/src/http/url_search_params'; - -/** - * Provides a basic set of injectables to use the {@link Http} service in any application. - * - * #Example - * - * ``` - * import {httpInjectables, Http} from 'angular2/http'; - * @Component({selector: 'http-app', viewBindings: [httpInjectables]}) - * @View({template: '{{data}}'}) - * class MyApp { - * constructor(http:Http) { - * http.request('data.txt').subscribe(res => this.data = res.text()); - * } - * } - * ``` - * - */ -export var httpInjectables: List = [ - bind(ConnectionBackend) - .toClass(XHRBackend), - BrowserXhr, - bind(RequestOptions).toClass(BaseRequestOptions), - bind(ResponseOptions).toClass(BaseResponseOptions), - Http -]; - -export var jsonpInjectables: List = [ - bind(ConnectionBackend) - .toClass(JSONPBackend), - BrowserJsonp, - bind(RequestOptions).toClass(BaseRequestOptions), - bind(ResponseOptions).toClass(BaseResponseOptions), - Jsonp -]; diff --git a/modules/examples/pubspec.yaml b/modules/examples/pubspec.yaml index 376cb55597..71012b0a63 100644 --- a/modules/examples/pubspec.yaml +++ b/modules/examples/pubspec.yaml @@ -4,6 +4,7 @@ environment: dependencies: angular2: '^<%= packageJson.version %>' angular2_material: '^<%= packageJson.version %>' + http: '^<%= packageJson.version %>' browser: '^0.10.0' dev_dependencies: guinness: '^0.1.17' @@ -14,6 +15,8 @@ dependency_overrides: path: ../angular2 angular2_material: path: ../angular2_material + http: + path: ../http transformers: - angular2: $exclude: diff --git a/modules/examples/src/http/http_comp.ts b/modules/examples/src/http/http_comp.ts index 55ef0b05e9..7ab71d45e8 100644 --- a/modules/examples/src/http/http_comp.ts +++ b/modules/examples/src/http/http_comp.ts @@ -1,5 +1,5 @@ import {Component, View, NgFor} from 'angular2/angular2'; -import {Http, Response} from 'angular2/http'; +import {Http, Response} from 'http/http'; import {ObservableWrapper} from 'angular2/src/facade/async'; @Component({selector: 'http-app'}) diff --git a/modules/examples/src/http/index.ts b/modules/examples/src/http/index.ts index eb2f6f946b..155b380c22 100644 --- a/modules/examples/src/http/index.ts +++ b/modules/examples/src/http/index.ts @@ -1,7 +1,7 @@ /// import {bootstrap} from 'angular2/bootstrap'; -import {httpInjectables} from 'angular2/http'; +import {httpInjectables} from 'http/http'; import {HttpCmp} from './http_comp'; export function main() { diff --git a/modules/examples/src/http/index_dynamic.ts b/modules/examples/src/http/index_dynamic.ts index bcc800b1a1..13d232901e 100644 --- a/modules/examples/src/http/index_dynamic.ts +++ b/modules/examples/src/http/index_dynamic.ts @@ -1,6 +1,6 @@ import {HttpCmp} from './http_comp'; import {bootstrap} from 'angular2/bootstrap'; -import {httpInjectables} from 'angular2/http'; +import {httpInjectables} from 'http/http'; export function main() { // This entry point is not transformed and exists for testing dynamic mode. diff --git a/modules/examples/src/jsonp/index.ts b/modules/examples/src/jsonp/index.ts index 51fa9a23fc..f1d9cd656c 100644 --- a/modules/examples/src/jsonp/index.ts +++ b/modules/examples/src/jsonp/index.ts @@ -1,7 +1,7 @@ /// import {bootstrap} from 'angular2/bootstrap'; -import {jsonpInjectables} from 'angular2/http'; +import {jsonpInjectables} from 'http/http'; import {JsonpCmp} from './jsonp_comp'; export function main() { diff --git a/modules/examples/src/jsonp/index_dynamic.ts b/modules/examples/src/jsonp/index_dynamic.ts index 8e64e3c286..3f40029032 100644 --- a/modules/examples/src/jsonp/index_dynamic.ts +++ b/modules/examples/src/jsonp/index_dynamic.ts @@ -1,6 +1,6 @@ import {JsonpCmp} from './jsonp_comp'; import {bootstrap} from 'angular2/bootstrap'; -import {jsonpInjectables} from 'angular2/http'; +import {jsonpInjectables} from 'http/http'; export function main() { bootstrap(JsonpCmp, [jsonpInjectables]); diff --git a/modules/examples/src/jsonp/jsonp_comp.dart b/modules/examples/src/jsonp/jsonp_comp.dart index e24d8407c3..ba0e4a3e13 100644 --- a/modules/examples/src/jsonp/jsonp_comp.dart +++ b/modules/examples/src/jsonp/jsonp_comp.dart @@ -1,7 +1,7 @@ library examples.src.jsonp.jsonp_comp; import "package:angular2/angular2.dart" show Component, View, NgFor; -import "package:angular2/http.dart" show Jsonp; +import "package:http/http.dart" show Jsonp; import "package:angular2/src/facade/async.dart" show ObservableWrapper; @Component(selector: "jsonp-app") diff --git a/modules/examples/src/jsonp/jsonp_comp.ts b/modules/examples/src/jsonp/jsonp_comp.ts index 6ac3a4b2c9..23163e908e 100644 --- a/modules/examples/src/jsonp/jsonp_comp.ts +++ b/modules/examples/src/jsonp/jsonp_comp.ts @@ -1,5 +1,5 @@ import {Component, View, NgFor} from 'angular2/angular2'; -import {Jsonp, Response} from 'angular2/http'; +import {Jsonp, Response} from 'http/http'; import {ObservableWrapper} from 'angular2/src/facade/async'; @Component({selector: 'jsonp-app'}) diff --git a/modules/examples/src/routing/inbox-app.ts b/modules/examples/src/routing/inbox-app.ts index b3ac28cde0..d04c555862 100644 --- a/modules/examples/src/routing/inbox-app.ts +++ b/modules/examples/src/routing/inbox-app.ts @@ -8,7 +8,7 @@ import { Location, RouteParams } from 'angular2/router'; -import {Http, Response} from 'angular2/http'; +import {Http, Response} from 'http/http'; import {ObservableWrapper, PromiseWrapper} from 'angular2/src/facade/async'; import {ListWrapper} from 'angular2/src/facade/collection'; import {isPresent} from 'angular2/src/facade/lang'; diff --git a/modules/examples/src/routing/index.ts b/modules/examples/src/routing/index.ts index e6a5fffd6d..5f33fb1e05 100644 --- a/modules/examples/src/routing/index.ts +++ b/modules/examples/src/routing/index.ts @@ -2,7 +2,7 @@ import {InboxApp} from './inbox-app'; import {bind} from 'angular2/angular2'; import {bootstrap} from 'angular2/bootstrap'; import {routerInjectables, HashLocationStrategy, LocationStrategy} from 'angular2/router'; -import {httpInjectables} from 'angular2/http'; +import {httpInjectables} from 'http/http'; import {reflector} from 'angular2/src/reflection/reflection'; import {ReflectionCapabilities} from 'angular2/src/reflection/reflection_capabilities'; diff --git a/modules/http/http.ts b/modules/http/http.ts new file mode 100644 index 0000000000..84509e77c7 --- /dev/null +++ b/modules/http/http.ts @@ -0,0 +1,80 @@ +/** + * @module + * @description + * The http module provides services to perform http requests. To get started, see the {@link Http} + * class. + */ +import {bind, Binding} from 'angular2/di'; +import {Http, Jsonp} from 'http/src/http'; +import {XHRBackend, XHRConnection} from 'http/src/backends/xhr_backend'; +import {JSONPBackend, JSONPConnection} from 'http/src/backends/jsonp_backend'; +import {BrowserXhr} from 'http/src/backends/browser_xhr'; +import {BrowserJsonp} from 'http/src/backends/browser_jsonp'; +import {BaseRequestOptions, RequestOptions} from 'http/src/base_request_options'; +import {ConnectionBackend} from 'http/src/interfaces'; +import {BaseResponseOptions, ResponseOptions} from 'http/src/base_response_options'; + +export {MockConnection, MockBackend} from 'http/src/backends/mock_backend'; +export {Request} from 'http/src/static_request'; +export {Response} from 'http/src/static_response'; + +export { + IRequestOptions, + IResponseOptions, + Connection, + ConnectionBackend +} from 'http/src/interfaces'; + +export {BrowserXhr} from 'http/src/backends/browser_xhr'; +export {BaseRequestOptions, RequestOptions} from 'http/src/base_request_options'; +export {BaseResponseOptions, ResponseOptions} from 'http/src/base_response_options'; +export {XHRBackend, XHRConnection} from 'http/src/backends/xhr_backend'; +export {JSONPBackend, JSONPConnection} from 'http/src/backends/jsonp_backend'; +export {Http, Jsonp} from 'http/src/http'; + +export {Headers} from 'http/src/headers'; + +export { + ResponseTypes, + ReadyStates, + RequestMethods, + RequestCredentialsOpts, + RequestCacheOpts, + RequestModesOpts +} from 'http/src/enums'; +export {URLSearchParams} from 'http/src/url_search_params'; + +/** + * Provides a basic set of injectables to use the {@link Http} service in any application. + * + * #Example + * + * ``` + * import {httpInjectables, Http} from 'http/http'; + * @Component({selector: 'http-app', viewBindings: [httpInjectables]}) + * @View({template: '{{data}}'}) + * class MyApp { + * constructor(http:Http) { + * http.request('data.txt').subscribe(res => this.data = res.text()); + * } + * } + * ``` + * + */ +export var httpInjectables: List = [ + bind(ConnectionBackend) + .toClass(XHRBackend), + BrowserXhr, + bind(RequestOptions).toClass(BaseRequestOptions), + bind(ResponseOptions).toClass(BaseResponseOptions), + Http +]; + +export var jsonpInjectables: List = [ + bind(ConnectionBackend) + .toClass(JSONPBackend), + BrowserJsonp, + bind(RequestOptions).toClass(BaseRequestOptions), + bind(ResponseOptions).toClass(BaseResponseOptions), + Jsonp +]; diff --git a/modules/http/http_sfx.dart b/modules/http/http_sfx.dart new file mode 100644 index 0000000000..90608319df --- /dev/null +++ b/modules/http/http_sfx.dart @@ -0,0 +1,3 @@ +library http.sfx; + +// empty as we don't have a version for Dart diff --git a/modules/http/http_sfx.ts b/modules/http/http_sfx.ts new file mode 100644 index 0000000000..3dbf9cfc4d --- /dev/null +++ b/modules/http/http_sfx.ts @@ -0,0 +1,3 @@ +import * as ngHttp from './http'; + +(window).ngHttp = ngHttp; diff --git a/modules/http/index.dart b/modules/http/index.dart new file mode 100644 index 0000000000..c62c676cd8 --- /dev/null +++ b/modules/http/index.dart @@ -0,0 +1,3 @@ +library http.index; + +//no dart implementation diff --git a/modules/http/index.ts b/modules/http/index.ts new file mode 100644 index 0000000000..03c5893c4e --- /dev/null +++ b/modules/http/index.ts @@ -0,0 +1,12 @@ +require('reflect-metadata'); +require('traceur-runtime'); +import {httpInjectables, jsonpInjectables, Http, Jsonp} from './http'; +import {Injector} from 'angular2/angular2'; +export * from './http'; + +/** + * TODO(jeffbcross): export each as their own top-level file, to require as: + * require('http/http'); require('http/jsonp'); + */ +export var http = Injector.resolveAndCreate([httpInjectables]).get(Http); +export var jsonp = Injector.resolveAndCreate([jsonpInjectables]).get(Jsonp); diff --git a/modules/http/package.json b/modules/http/package.json new file mode 100644 index 0000000000..4c05d334c0 --- /dev/null +++ b/modules/http/package.json @@ -0,0 +1,16 @@ +{ + "name": "ngHttp", + "version": "<%= packageJson.version %>", + "description": "Http module for Angular 2", + "homepage": "<%= packageJson.homepage %>", + "bugs": "<%= packageJson.bugs %>", + "contributors": <%= JSON.stringify(packageJson.contributors) %>, + "license": "<%= packageJson.license %>", + "dependencies": { + "angular2": "<%= packageJson.version %>", + "rx": "<%= packageJson.dependencies['rx'] %>", + "reflect-metadata": "<%= packageJson.dependencies['reflect-metadata'] %>", + "traceur": "<%= packageJson.dependencies['traceur'] %>" + }, + "devDependencies": <%= JSON.stringify(packageJson.defaultDevDependencies) %> +} diff --git a/modules/http/pubspec.yaml b/modules/http/pubspec.yaml new file mode 100644 index 0000000000..e6c90eda7e --- /dev/null +++ b/modules/http/pubspec.yaml @@ -0,0 +1,19 @@ +name: http +version: <%= packageJson.version %> +authors: +<%= Object.keys(packageJson.contributors).map(function(name) { + return '- '+name+' <'+packageJson.contributors[name]+'>'; +}).join('\n') %> +description: Angular 2 Http Module +homepage: <%= packageJson.homepage %> +environment: + sdk: '>=1.10.0 <2.0.0' +dependencies: + angular2: '^<%= packageJson.version %>' +dev_dependencies: + guinness: '^0.1.17' +dependency_overrides: + angular2: + path: ../angular2 +transformers: +- angular2 diff --git a/modules/angular2/src/http/backends/browser_jsonp.dart b/modules/http/src/backends/browser_jsonp.dart similarity index 96% rename from modules/angular2/src/http/backends/browser_jsonp.dart rename to modules/http/src/backends/browser_jsonp.dart index 08ef1162d2..0034abff42 100644 --- a/modules/angular2/src/http/backends/browser_jsonp.dart +++ b/modules/http/src/backends/browser_jsonp.dart @@ -1,4 +1,4 @@ -library angular2.src.http.backends.browser_jsonp; +library angular2_http.src.backends.browser_jsonp; import 'package:angular2/di.dart'; import 'dart:html' show document; diff --git a/modules/angular2/src/http/backends/browser_jsonp.ts b/modules/http/src/backends/browser_jsonp.ts similarity index 100% rename from modules/angular2/src/http/backends/browser_jsonp.ts rename to modules/http/src/backends/browser_jsonp.ts diff --git a/modules/angular2/src/http/backends/browser_xhr.dart b/modules/http/src/backends/browser_xhr.dart similarity index 77% rename from modules/angular2/src/http/backends/browser_xhr.dart rename to modules/http/src/backends/browser_xhr.dart index b3d4690304..8a93b42c6c 100644 --- a/modules/angular2/src/http/backends/browser_xhr.dart +++ b/modules/http/src/backends/browser_xhr.dart @@ -1,4 +1,4 @@ -library angular2.src.http.backends.browser_xhr; +library angular2_http.src.backends.browser_xhr; import 'dart:html' show HttpRequest; import 'package:angular2/di.dart'; diff --git a/modules/angular2/src/http/backends/browser_xhr.ts b/modules/http/src/backends/browser_xhr.ts similarity index 100% rename from modules/angular2/src/http/backends/browser_xhr.ts rename to modules/http/src/backends/browser_xhr.ts diff --git a/modules/angular2/src/http/backends/jsonp_backend.ts b/modules/http/src/backends/jsonp_backend.ts similarity index 100% rename from modules/angular2/src/http/backends/jsonp_backend.ts rename to modules/http/src/backends/jsonp_backend.ts diff --git a/modules/angular2/src/http/backends/mock_backend.ts b/modules/http/src/backends/mock_backend.ts similarity index 95% rename from modules/angular2/src/http/backends/mock_backend.ts rename to modules/http/src/backends/mock_backend.ts index b51383704f..fe1a82dc5e 100644 --- a/modules/angular2/src/http/backends/mock_backend.ts +++ b/modules/http/src/backends/mock_backend.ts @@ -1,8 +1,8 @@ import {Injectable} from 'angular2/di'; -import {Request} from 'angular2/src/http/static_request'; -import {Response} from 'angular2/src/http/static_response'; -import {ReadyStates} from 'angular2/src/http/enums'; -import {Connection, ConnectionBackend} from 'angular2/src/http/interfaces'; +import {Request} from '../static_request'; +import {Response} from '../static_response'; +import {ReadyStates} from '../enums'; +import {Connection, ConnectionBackend} from '../interfaces'; import {ObservableWrapper, EventEmitter} from 'angular2/src/facade/async'; import {isPresent} from 'angular2/src/facade/lang'; import {IMPLEMENTS, BaseException} from 'angular2/src/facade/lang'; @@ -107,7 +107,7 @@ export class MockConnection { * #Example * * ``` - * import {MockBackend, DefaultOptions, Http} from 'angular2/http'; + * import {MockBackend, DefaultOptions, Http} from 'http/http'; * it('should get some data', inject([AsyncTestCompleter], (async) => { * var connection; * var injector = Injector.resolveAndCreate([ @@ -140,7 +140,7 @@ export class MockBackend { * #Example * * ``` - * import {MockBackend, Http, BaseRequestOptions} from 'angular2/http'; + * import {MockBackend, Http, BaseRequestOptions} from 'http/http'; * import {Injector} from 'angular2/di'; * * it('should get a response', () => { diff --git a/modules/angular2/src/http/backends/xhr_backend.ts b/modules/http/src/backends/xhr_backend.ts similarity index 99% rename from modules/angular2/src/http/backends/xhr_backend.ts rename to modules/http/src/backends/xhr_backend.ts index ebdc7a4be9..aab172d3d1 100644 --- a/modules/angular2/src/http/backends/xhr_backend.ts +++ b/modules/http/src/backends/xhr_backend.ts @@ -84,7 +84,8 @@ export class XHRConnection implements Connection { * #Example * * ``` - * import {Http, MyNodeBackend, httpInjectables, BaseRequestOptions} from 'angular2/http'; + * import {Http, MyNodeBackend, httpInjectables, BaseRequestOptions} from + *'angular2/http'; * @Component({ * viewBindings: [ * httpInjectables, diff --git a/modules/angular2/src/http/base_request_options.ts b/modules/http/src/base_request_options.ts similarity index 100% rename from modules/angular2/src/http/base_request_options.ts rename to modules/http/src/base_request_options.ts diff --git a/modules/angular2/src/http/base_response_options.ts b/modules/http/src/base_response_options.ts similarity index 100% rename from modules/angular2/src/http/base_response_options.ts rename to modules/http/src/base_response_options.ts diff --git a/modules/angular2/src/http/enums.ts b/modules/http/src/enums.ts similarity index 100% rename from modules/angular2/src/http/enums.ts rename to modules/http/src/enums.ts diff --git a/modules/angular2/src/http/headers.ts b/modules/http/src/headers.ts similarity index 100% rename from modules/angular2/src/http/headers.ts rename to modules/http/src/headers.ts diff --git a/modules/angular2/src/http/http.ts b/modules/http/src/http.ts similarity index 100% rename from modules/angular2/src/http/http.ts rename to modules/http/src/http.ts diff --git a/modules/angular2/src/http/http_utils.dart b/modules/http/src/http_utils.dart similarity index 82% rename from modules/angular2/src/http/http_utils.dart rename to modules/http/src/http_utils.dart index 81a43ed6bb..c49965d28b 100644 --- a/modules/angular2/src/http/http_utils.dart +++ b/modules/http/src/http_utils.dart @@ -1,4 +1,4 @@ -library angular2.src.http.http_utils; +library angular2_http.src.http_utils; import 'dart:js' show JsObject; import 'dart:collection' show LinkedHashMap, LinkedHashSet; diff --git a/modules/angular2/src/http/http_utils.ts b/modules/http/src/http_utils.ts similarity index 100% rename from modules/angular2/src/http/http_utils.ts rename to modules/http/src/http_utils.ts diff --git a/modules/angular2/src/http/interfaces.ts b/modules/http/src/interfaces.ts similarity index 97% rename from modules/angular2/src/http/interfaces.ts rename to modules/http/src/interfaces.ts index cc85cbb21c..a8ed7ac3b6 100644 --- a/modules/angular2/src/http/interfaces.ts +++ b/modules/http/src/interfaces.ts @@ -1,4 +1,4 @@ -/// +/// import { ReadyStates, diff --git a/modules/angular2/src/http/static_request.ts b/modules/http/src/static_request.ts similarity index 100% rename from modules/angular2/src/http/static_request.ts rename to modules/http/src/static_request.ts diff --git a/modules/angular2/src/http/static_response.ts b/modules/http/src/static_response.ts similarity index 100% rename from modules/angular2/src/http/static_response.ts rename to modules/http/src/static_response.ts diff --git a/modules/angular2/src/http/url_search_params.ts b/modules/http/src/url_search_params.ts similarity index 100% rename from modules/angular2/src/http/url_search_params.ts rename to modules/http/src/url_search_params.ts diff --git a/modules/angular2/test/http/backends/jsonp_backend_spec.ts b/modules/http/test/backends/jsonp_backend_spec.ts similarity index 91% rename from modules/angular2/test/http/backends/jsonp_backend_spec.ts rename to modules/http/test/backends/jsonp_backend_spec.ts index 7ec6a0e62f..2ed17bbba7 100644 --- a/modules/angular2/test/http/backends/jsonp_backend_spec.ts +++ b/modules/http/test/backends/jsonp_backend_spec.ts @@ -12,17 +12,17 @@ import { SpyObject } from 'angular2/test_lib'; import {ObservableWrapper} from 'angular2/src/facade/async'; -import {BrowserJsonp} from 'angular2/src/http/backends/browser_jsonp'; -import {JSONPConnection, JSONPBackend} from 'angular2/src/http/backends/jsonp_backend'; +import {BrowserJsonp} from 'http/src/backends/browser_jsonp'; +import {JSONPConnection, JSONPBackend} from 'http/src/backends/jsonp_backend'; import {bind, Injector} from 'angular2/di'; import {isPresent, StringWrapper} from 'angular2/src/facade/lang'; import {TimerWrapper} from 'angular2/src/facade/async'; -import {Request} from 'angular2/src/http/static_request'; -import {Response} from 'angular2/src/http/static_response'; +import {Request} from 'http/src/static_request'; +import {Response} from 'http/src/static_response'; import {Map} from 'angular2/src/facade/collection'; -import {RequestOptions, BaseRequestOptions} from 'angular2/src/http/base_request_options'; -import {BaseResponseOptions, ResponseOptions} from 'angular2/src/http/base_response_options'; -import {ResponseTypes, ReadyStates, RequestMethods} from 'angular2/src/http/enums'; +import {RequestOptions, BaseRequestOptions} from 'http/src/base_request_options'; +import {BaseResponseOptions, ResponseOptions} from 'http/src/base_response_options'; +import {ResponseTypes, ReadyStates, RequestMethods} from 'http/src/enums'; var addEventListenerSpy; var existingScripts = []; diff --git a/modules/angular2/test/http/backends/xhr_backend_spec.ts b/modules/http/test/backends/xhr_backend_spec.ts similarity index 92% rename from modules/angular2/test/http/backends/xhr_backend_spec.ts rename to modules/http/test/backends/xhr_backend_spec.ts index 6107cb534d..e84f0a77be 100644 --- a/modules/angular2/test/http/backends/xhr_backend_spec.ts +++ b/modules/http/test/backends/xhr_backend_spec.ts @@ -12,16 +12,16 @@ import { SpyObject } from 'angular2/test_lib'; import {ObservableWrapper} from 'angular2/src/facade/async'; -import {BrowserXhr} from 'angular2/src/http/backends/browser_xhr'; -import {XHRConnection, XHRBackend} from 'angular2/src/http/backends/xhr_backend'; +import {BrowserXhr} from 'http/src/backends/browser_xhr'; +import {XHRConnection, XHRBackend} from 'http/src/backends/xhr_backend'; import {bind, Injector} from 'angular2/di'; -import {Request} from 'angular2/src/http/static_request'; -import {Response} from 'angular2/src/http/static_response'; -import {Headers} from 'angular2/src/http/headers'; +import {Request} from 'http/src/static_request'; +import {Response} from 'http/src/static_response'; +import {Headers} from 'http/src/headers'; import {Map} from 'angular2/src/facade/collection'; -import {RequestOptions, BaseRequestOptions} from 'angular2/src/http/base_request_options'; -import {BaseResponseOptions, ResponseOptions} from 'angular2/src/http/base_response_options'; -import {ResponseTypes} from 'angular2/src/http/enums'; +import {RequestOptions, BaseRequestOptions} from 'http/src/base_request_options'; +import {BaseResponseOptions, ResponseOptions} from 'http/src/base_response_options'; +import {ResponseTypes} from 'http/src/enums'; var abortSpy; var sendSpy; diff --git a/modules/angular2/test/http/base_request_options_spec.ts b/modules/http/test/base_request_options_spec.ts similarity index 85% rename from modules/angular2/test/http/base_request_options_spec.ts rename to modules/http/test/base_request_options_spec.ts index 5ef109579f..d114e51fb1 100644 --- a/modules/angular2/test/http/base_request_options_spec.ts +++ b/modules/http/test/base_request_options_spec.ts @@ -9,8 +9,8 @@ import { it, xit } from 'angular2/test_lib'; -import {BaseRequestOptions, RequestOptions} from 'angular2/src/http/base_request_options'; -import {RequestMethods, RequestModesOpts} from 'angular2/src/http/enums'; +import {BaseRequestOptions, RequestOptions} from 'http/src/base_request_options'; +import {RequestMethods, RequestModesOpts} from 'http/src/enums'; export function main() { describe('BaseRequestOptions', () => { diff --git a/modules/angular2/test/http/headers_spec.ts b/modules/http/test/headers_spec.ts similarity index 97% rename from modules/angular2/test/http/headers_spec.ts rename to modules/http/test/headers_spec.ts index e0a8ecec1b..9b74ae9d20 100644 --- a/modules/angular2/test/http/headers_spec.ts +++ b/modules/http/test/headers_spec.ts @@ -1,4 +1,4 @@ -import {Headers} from 'angular2/src/http/headers'; +import {Headers} from 'http/src/headers'; import {Map, StringMapWrapper} from 'angular2/src/facade/collection'; import { AsyncTestCompleter, diff --git a/modules/angular2/test/http/http_spec.ts b/modules/http/test/http_spec.ts similarity index 94% rename from modules/angular2/test/http/http_spec.ts rename to modules/http/test/http_spec.ts index 5bba92a783..c9fb435f87 100644 --- a/modules/angular2/test/http/http_spec.ts +++ b/modules/http/test/http_spec.ts @@ -11,17 +11,20 @@ import { xit, SpyObject } from 'angular2/test_lib'; -import {Http} from 'angular2/src/http/http'; import {Injector, bind} from 'angular2/di'; -import {MockBackend, MockConnection} from 'angular2/src/http/backends/mock_backend'; -import {Response} from 'angular2/src/http/static_response'; -import {RequestMethods} from 'angular2/src/http/enums'; -import {BaseRequestOptions, RequestOptions} from 'angular2/src/http/base_request_options'; -import {ResponseOptions} from 'angular2/src/http/base_response_options'; -import {Request} from 'angular2/src/http/static_request'; +import {MockBackend, MockConnection} from 'http/src/backends/mock_backend'; import {EventEmitter, ObservableWrapper} from 'angular2/src/facade/async'; -import {ConnectionBackend} from 'angular2/src/http/interfaces'; -import {URLSearchParams} from 'angular2/src/http/url_search_params'; +import { + BaseRequestOptions, + ConnectionBackend, + Http, + Request, + RequestMethods, + RequestOptions, + Response, + ResponseOptions, + URLSearchParams +} from 'http/http'; class SpyObserver extends SpyObject { onNext: Function; diff --git a/modules/angular2/test/http/url_search_params_spec.ts b/modules/http/test/url_search_params_spec.ts similarity index 97% rename from modules/angular2/test/http/url_search_params_spec.ts rename to modules/http/test/url_search_params_spec.ts index b690be724f..e151f530b4 100644 --- a/modules/angular2/test/http/url_search_params_spec.ts +++ b/modules/http/test/url_search_params_spec.ts @@ -9,7 +9,7 @@ import { it, xit } from 'angular2/test_lib'; -import {URLSearchParams} from 'angular2/src/http/url_search_params'; +import {URLSearchParams} from 'http/src/url_search_params'; export function main() { describe('URLSearchParams', () => { diff --git a/scripts/publish/npm_publish.sh b/scripts/publish/npm_publish.sh index d8fb2bbe1f..26691997b6 100755 --- a/scripts/publish/npm_publish.sh +++ b/scripts/publish/npm_publish.sh @@ -53,3 +53,4 @@ function publishModule { publishRttsAssert publishModule angular2 publishModule benchpress +publishModule http diff --git a/scripts/publish/pub_publish.sh b/scripts/publish/pub_publish.sh index 404d2673b1..8ac78d883d 100755 --- a/scripts/publish/pub_publish.sh +++ b/scripts/publish/pub_publish.sh @@ -33,9 +33,9 @@ function publishModule { node scripts/publish/pubspec_cleaner.js --pubspec-file=$PUBLISH_DIR/pubspec.yaml - if [[ "$DRY_RUN" == "false" ]]; then - (cd $PUBLISH_DIR && pub publish -f) - fi; + #if [[ "$DRY_RUN" == "false" ]]; then + # (cd $PUBLISH_DIR && pub publish -f) + #fi; } publishModule angular2 diff --git a/test-main.js b/test-main.js index f93f987332..863f3814df 100644 --- a/test-main.js +++ b/test-main.js @@ -19,6 +19,7 @@ System.paths = { '*': './*.js', 'benchpress/*': 'dist/js/dev/es5/benchpress/*.js', 'angular2/*': 'dist/js/dev/es5/angular2/*.js', + 'http/*': 'dist/js/dev/es5/http/*.js', 'rtts_assert/*': 'dist/js/dev/es5/rtts_assert/*.js', 'rx': 'node_modules/rx/dist/rx.js' }; diff --git a/tools/broccoli/trees/node_tree.ts b/tools/broccoli/trees/node_tree.ts index 1e73fc4826..1817a6269a 100644 --- a/tools/broccoli/trees/node_tree.ts +++ b/tools/broccoli/trees/node_tree.ts @@ -14,10 +14,10 @@ var projectRootDir = path.normalize(path.join(__dirname, '..', '..', '..', '..') module.exports = function makeNodeTree(destinationPath) { // list of npm packages that this build will create - var outputPackages = ['angular2', 'benchpress', 'rtts_assert']; + var outputPackages = ['angular2', 'http', 'benchpress', 'rtts_assert']; var modulesTree = new Funnel('modules', { - include: ['angular2/**', 'benchpress/**', 'rtts_assert/**', '**/e2e_test/**'], + include: ['angular2/**', 'http/**', 'benchpress/**', 'rtts_assert/**', '**/e2e_test/**'], exclude: [ // the following code and tests are not compatible with CJS/node environment 'angular2/test/core/zone/**',