Skip to content

WIP Refactor build process #2117

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 15 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,6 @@ angularfire2-*.tgz
.DS_Store
yarn-error.log
*.bak
package-lock.json
package-lock.json
tools/build.js
coverage
1 change: 0 additions & 1 deletion .npmignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
*.spec.*
bundles/test.umd.js
test-config.*
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
lts/*
8 changes: 2 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,5 @@ install:
fi

script:
- yarn build
- |
./node_modules/.bin/karma start --single-run --browsers ChromeHeadlessTravis --reporters mocha &&
yarn test:node &&
node tools/run-typings-test.js &&
bash ./test/ng-build/build.sh
- |
- yarn build && yarn test:all
42 changes: 42 additions & 0 deletions angular.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": ".",
"projects": {
"angularfire": {
"projectType": "library",
"root": "src",
"sourceRoot": "src",
"prefix": "angularfire",
"architect": {
"build": {
"builder": "@angular-devkit/build-ng-packagr:build",
"options": {
"tsConfig": "tsconfig.json",
"project": "src/package.json"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "src/test.ts",
"tsConfig": "tsconfig.spec.json",
"karmaConfig": "karma.conf.js"
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"tsconfig.json",
"tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**"
]
}
}
}
}},
"defaultProject": "angularfire"
}
6 changes: 0 additions & 6 deletions angularfire2.ts

This file was deleted.

8 changes: 0 additions & 8 deletions karma-test-shim.js

This file was deleted.

76 changes: 22 additions & 54 deletions karma.conf.js
Original file line number Diff line number Diff line change
@@ -1,69 +1,37 @@
// Karma configuration
module.exports = function(config) {
// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html
module.exports = function (config) {
config.set({

basePath: '',

frameworks: ['jasmine'],

files: [
// Polyfills.
'node_modules/es6-shim/es6-shim.js',

'node_modules/reflect-metadata/Reflect.js',

// Zone.js dependencies
'node_modules/zone.js/dist/zone.js',
'node_modules/zone.js/dist/proxy.js',
'node_modules/zone.js/dist/sync-test.js',
'node_modules/zone.js/dist/jasmine-patch.js',
'node_modules/zone.js/dist/async-test.js',
'node_modules/zone.js/dist/fake-async-test.js',

'node_modules/rxjs/bundles/rxjs.umd.{js,map}',

...getAngularFiles(['core','common','compiler','platform-browser','platform-browser-dynamic']),

'karma-test-shim.js',
'node_modules/firebase/firebase-app.js',
'node_modules/firebase/firebase-auth.js',
'node_modules/firebase/firebase-database.js',
'node_modules/firebase/firebase-firestore.js',
'node_modules/firebase/firebase-functions.js',
'node_modules/firebase/firebase-performance.js',
'node_modules/firebase/firebase-storage.js',
'dist/packages-dist/bundles/core.umd.{js,map}',
'dist/packages-dist/bundles/auth.umd.{js,map}',
'dist/packages-dist/bundles/auth-guard.umd.{js,map}',
'dist/packages-dist/bundles/database.umd.{js,map}',
'dist/packages-dist/bundles/firestore.umd.{js,map}',
'dist/packages-dist/bundles/functions.umd.{js,map}',
'dist/packages-dist/bundles/storage.umd.{js,map}',
'dist/packages-dist/bundles/performance.umd.{js,map}',
'dist/packages-dist/bundles/database-deprecated.umd.{js,map}',
'dist/packages-dist/bundles/test.umd.{js,map}',
frameworks: ['jasmine', '@angular-devkit/build-angular'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular-devkit/build-angular/plugins/karma')
],

client: {
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
coverageIstanbulReporter: {
dir: `${process.cwd()}/coverage`,
reports: ['html', 'lcovonly'],
fixWebpackSourcePaths: true
},
reporters: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
reporters: ['mocha'],
browsers: ['ChromeHeadless'],
browsers: ['Chrome', 'ChromeHeadless'],
singleRun: false,
restartOnFileChange: true,
customLaunchers: {
ChromeHeadlessTravis: {
base: 'ChromeHeadless',
flags: ['--no-sandbox']
}
},
})
});
};

function getAngularFiles(packages) {
return packages.reduce((files, pkg) => {
files.push(`node_modules/@angular/${pkg}/bundles/${pkg}.umd.js`);
files.push(`node_modules/@angular/${pkg}/bundles/${pkg}-testing.umd.js`);
return files;
}, []);
}
68 changes: 31 additions & 37 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
{
"name": "@angular/fire",
"version": "5.2.0",
"version": "5.2.2",
"description": "The official library of Firebase and Angular.",
"private": true,
"scripts": {
"test": "npm run build && karma start --single-run && npm run test:node",
"test:node": "jasmine 'dist/packages-dist/schematics/**/*[sS]pec.js'",
"test:watch": "concurrently \"npm run build:watch\" \"npm run delayed_karma\"",
"test:debug": "npm run build && karma start",
"karma": "karma start",
"test:universal": "npm run build && cp -R dist/packages-dist test/universal-test/node_modules/angularfire2 && cd test/universal-test && npm run prerender",
"delayed_karma": "sleep 10 && karma start",
"build": "rm -rf dist && node tools/build.js && npm pack ./dist/packages-dist",
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 1",
"build:wrapper": "npm i --prefix wrapper && npm run --prefix wrapper build && npm pack ./dist/wrapper-dist"
"test": "npx ng test",
"test:headless": "npx ng test --watch=false --browsers=ChromeHeadless",
"lint": "npx ng lint",
"test:node": "npx tsc -p tsconfig.jasmine.json && node -r tsconfig-paths/register ./tools/jasmine.js",
"test:typings": "node ./tools/run-typings-test.js",
"test:build": "bash ./test/ng-build/build.sh",
"test:universal": "cp -R dist/packages-dist test/universal-test/node_modules/angularfire2 && cd test/universal-test && npm run prerender",
"test:all": "npm run test:headless && npm run test:node && npm run test:typings && npm run test:build",
"build": "tsc tools/build.ts; node ./tools/build.js",
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 1"
},
"schematics": "./dist/packages-dist/collection.json",
"builders": "./dist/packages-dist/builders.json",
Expand Down Expand Up @@ -41,7 +41,7 @@
"@angular/core": ">=6.0.0 <9 || ^9.0.0-0",
"@angular/platform-browser": ">=6.0.0 <9 || ^9.0.0-0",
"@angular/platform-browser-dynamic": ">=6.0.0 <9 || ^9.0.0-0",
"@angular/router": ">=6.0.0 <9 || ^9.0.0-0",
"@angular/router": "^8.0.2",
"firebase": ">= 5.5.7 <7",
"firebase-tools": "^6.10.0",
"fuzzy": "^0.1.3",
Expand All @@ -57,45 +57,39 @@
"utf-8-validate": "~4.0.0"
},
"devDependencies": {
"@angular-devkit/build-angular": "^0.800.3",
"@angular-devkit/build-ng-packagr": "^0.800.3",
"@angular/animations": ">=6.0.0 <9 || ^9.0.0-0",
"@angular/cli": "^8.0.3",
"@angular/compiler-cli": ">=6.0.0 <9 || ^9.0.0-0",
"@angular/platform-server": ">=6.0.0 <9 || ^9.0.0-0",
"@types/fs-extra": "^7.0.0",
"@types/gzip-size": "^5.1.1",
"@types/inquirer": "^0.0.44",
"@types/jasmine": "^2.5.36",
"@types/jasmine": "^3.3.13",
"@types/request": "0.0.30",
"codelyzer": "^5.0.0",
"concurrently": "^2.2.0",
"conventional-changelog-cli": "^1.2.0",
"es6-module-loader": "^0.17.10",
"es6-shim": "^0.35.0",
"fs-extra": "^4.0.0",
"gulp": "^3.9.0",
"gulp-jasmine": "^2.2.1",
"gulp-typescript": "^2.10.0",
"gzip-size": "^4.0.0",
"http-server": "^0.8.5",
"jasmine": "^2.4.1",
"jasmine-core": "^2.4.1",
"json": "^9.0.3",
"karma": "^2.0.0",
"fs-extra": "^8.0.1",
"gzip-size": "^5.1.1",
"jasmine": "^3.4.0",
"jasmine-core": "^3.4.0",
"karma": "^4.1.0",
"karma-chrome-launcher": "^2.2.0",
"karma-firefox-launcher": "^1.1.0",
"karma-jasmine": "^0.3.6",
"karma-mocha-reporter": "^2.0.2",
"karma-systemjs": "^0.10.0",
"karma-coverage-istanbul-reporter": "^2.0.5",
"karma-jasmine": "^2.0.1",
"karma-jasmine-html-reporter": "^1.4.2",
"ncp": "^2.0.0",
"parse5": "^1.3.2",
"ng-packagr": "^5.3.0",
"pretty-size": "^2.0.0",
"protractor": "3.0.0",
"reflect-metadata": "0.1.2",
"rimraf": "^2.5.4",
"rollup": "^0.64.1",
"rollup-plugin-node-resolve": "^3.3.0",
"rollup-watch": "^4.3.1",
"schematics-utilities": "^1.1.1",
"shelljs": "^0.8.0",
"systemjs": "^0.19.16",
"systemjs-builder": "^0.15.7",
"traceur": "0.0.96",
"tsconfig-paths": "^3.8.0",
"tsickle": "^0.35.0",
"tslint": "^5.17.0",
"typescript": ">=3.4.0 <3.5.0"
},
"typings": "index.d.ts"
Expand Down
10 changes: 0 additions & 10 deletions publish.sh

This file was deleted.

2 changes: 1 addition & 1 deletion src/auth-guard/auth-guard.spec.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { TestBed, inject } from '@angular/core/testing';
import { FirebaseApp, AngularFireModule } from '@angular/fire';
import { COMMON_CONFIG } from './test-config';
import { COMMON_CONFIG } from '../test-config';
import { AngularFireAuthModule } from '@angular/fire/auth';
import { AngularFireAuthGuardModule, AngularFireAuthGuard } from '@angular/fire/auth-guard';
import { RouterModule, Router } from '@angular/router';
Expand Down
6 changes: 3 additions & 3 deletions src/auth-guard/auth-guard.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Injectable, InjectionToken } from '@angular/core';
import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';
import { Observable, of, pipe, UnaryFunction } from 'rxjs';
import { map, switchMap, take } from 'rxjs/operators'
import { map, switchMap, take, tap } from 'rxjs/operators'
import { User, auth } from 'firebase/app';
import { AngularFireAuth } from '@angular/fire/auth';

Expand All @@ -13,12 +13,12 @@ export class AngularFireAuthGuard implements CanActivate {

constructor(private afAuth: AngularFireAuth, private router: Router) {}

canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
canActivate = (next: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {
const authPipeFactory: AuthPipeGenerator = next.data.authGuardPipe || (() => loggedIn);
return this.afAuth.user.pipe(
take(1),
authPipeFactory(next, state),
map(canActivate => typeof canActivate == "boolean" ? canActivate : this.router.createUrlTree(canActivate))
map(can => typeof can == "boolean" ? can : this.router.createUrlTree(<any[]>can))
);
}

Expand Down
1 change: 0 additions & 1 deletion src/auth-guard/index.spec.ts

This file was deleted.

1 change: 0 additions & 1 deletion src/auth-guard/index.ts

This file was deleted.

12 changes: 5 additions & 7 deletions src/auth-guard/package.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
{
"name": "@angular/fire/auth-guard",
"main": "../bundles/auth-guard.umd.js",
"module": "index.js",
"es2015": "./es2015/index.js",
"typings": "index.d.ts",
"sideEffects": false
"ngPackage": {
"lib": {
"entryFile": "public_api.ts"
}
}
}
7 changes: 0 additions & 7 deletions src/auth-guard/test-config.ts

This file was deleted.

34 changes: 0 additions & 34 deletions src/auth-guard/tsconfig-build.json

This file was deleted.

Loading