Skip to content
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

Monorepo Refactor #171

Merged
merged 139 commits into from
Oct 7, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
139 commits
Select commit Hold shift + click to select a range
93aef0a
Refactor monorepo to use yarn workspaces and lerna
jshcrowthe Aug 29, 2017
7fd5029
Refactor to better separate ESM/CJS builds
jshcrowthe Sep 15, 2017
a1a7af0
Adding test:setup script
jshcrowthe Sep 15, 2017
c4e5a67
Fix breaking test (sourcemaps loaded in the test breaks the regex)
jshcrowthe Sep 15, 2017
e97702c
Remove commitizen message from CONTRIBUTING.md
jshcrowthe Sep 19, 2017
45f3fcd
WIP: Migrate integration tests
jshcrowthe Sep 19, 2017
cf510a0
Adding namespace integration tests
jshcrowthe Sep 20, 2017
f6c00ef
Add messaging integration tests
jshcrowthe Sep 20, 2017
2c42877
Fix issue with indv-module builds
jshcrowthe Sep 20, 2017
9fcd1de
Committing yarn.lock
jshcrowthe Sep 21, 2017
e5f9948
Import 4.4.0 Changes
jshcrowthe Sep 21, 2017
a29d595
Add dev scripts, move core -> firebase
jshcrowthe Sep 22, 2017
1722110
Add missing dependencies, flesh out dev experience
jshcrowthe Sep 22, 2017
9cdff78
Add top level repl for test/debugging
jshcrowthe Sep 22, 2017
89b7e7b
Make the REPL pretty
jshcrowthe Sep 22, 2017
137f969
Refactor to scope prepublish execution
jshcrowthe Sep 22, 2017
74246ae
Add @firebase/auth
jshcrowthe Sep 22, 2017
c03cb7f
Fixing broken int tests
jshcrowthe Sep 22, 2017
f4e8a50
Picking up missing changes from edad44d9bc30689635e994c9d4ba99adfb799af7
jshcrowthe Sep 22, 2017
62882f4
Adding comment to .prettierignore
jshcrowthe Sep 22, 2017
d4522a4
Fixed issue where firebase didn't exist on reset
jshcrowthe Sep 22, 2017
4317ce4
Update yarn.lock for lint-staged
jshcrowthe Sep 22, 2017
f7920c7
Refactor test setup script and .travis.yml
jshcrowthe Sep 28, 2017
d010d7d
Fix firebase package dep versions
jshcrowthe Sep 28, 2017
129f269
Refactor precommit hook -> prepush hook
jshcrowthe Sep 28, 2017
c930fa5
[AUTOMATED]: Format Styling
jshcrowthe Sep 28, 2017
6f373bc
Update prettier and prettierrc
jshcrowthe Sep 28, 2017
c9fe1a3
[AUTOMATED]: Format Styling
jshcrowthe Sep 28, 2017
50ae0f5
Adding dist to .prettierignore
jshcrowthe Sep 28, 2017
caeb790
Fixing some oddities in yarn.lock
jshcrowthe Sep 28, 2017
4262887
Merge branch 'master' into lerna
jshcrowthe Sep 28, 2017
6bae224
Refactor hooks prepublish -> prepare
jshcrowthe Sep 28, 2017
76d12af
Updating top-level scripts
jshcrowthe Sep 28, 2017
687f08c
Add pretest validation/checking
jshcrowthe Sep 28, 2017
bb45220
[AUTOMATED]: Prettier Code Styling
jshcrowthe Sep 28, 2017
1a85ecd
Running travis tests w/ xvfb-run
jshcrowthe Sep 28, 2017
1047067
Add a spinner instead of the prettier stdio
jshcrowthe Sep 28, 2017
475e93f
update yarn.lock
jshcrowthe Sep 28, 2017
4c10e28
[AUTOMATED]: Prettier Code Styling
jshcrowthe Sep 28, 2017
4b82da7
Fixing child process STDOUT
jshcrowthe Sep 28, 2017
ffa04f1
[AUTOMATED]: Prettier Code Styling
jshcrowthe Sep 28, 2017
4ff901a
Switch to using stopAndPersist()
jshcrowthe Sep 28, 2017
ae94517
Moving file gitHooks/index.js -> gitHooks/prepush.js
jshcrowthe Sep 28, 2017
2720340
Remove legacy .lintstagedrc
jshcrowthe Sep 28, 2017
e1e3bdc
Add typinngs file for those only including fiebase/app
jshcrowthe Sep 29, 2017
44bff09
Add initial stub for @firebase/polyfill
jshcrowthe Sep 29, 2017
25563d3
Adding new clean yarn.lock
jshcrowthe Sep 29, 2017
1394b32
Refactor const -> var (no transpiling)
jshcrowthe Sep 29, 2017
ff548bb
Add automated license header validation
jshcrowthe Sep 29, 2017
56e63ac
[AUTOMATED]: Prettier Code Styling
jshcrowthe Sep 29, 2017
c08cf16
[AUTOMATED]: License Headers
jshcrowthe Sep 29, 2017
0eddd2a
Aesthetic prepush validation things
jshcrowthe Sep 29, 2017
47ff084
[AUTOMATED]: Prettier Code Styling
jshcrowthe Sep 29, 2017
9bfec3d
Add karma-sauce-launcher
jshcrowthe Oct 2, 2017
6e1d5f7
Attempt 1: Try to get saucelabs browser testing working
jshcrowthe Oct 2, 2017
5422c51
Attempt 2: Adding sauceLabs config prop to karma.base
jshcrowthe Oct 2, 2017
9e4c93b
[AUTOMATED]: Prettier Code Styling
jshcrowthe Oct 2, 2017
10aedcb
Attempt 3: Getting rid of the connectOptions
jshcrowthe Oct 2, 2017
cab7043
Merge branch 'master' into lerna
jshcrowthe Oct 3, 2017
4cfaa46
[AUTOMATED]: Prettier Code Styling
jshcrowthe Oct 3, 2017
dd4d8b6
Fix CODEOWNERS
jshcrowthe Oct 3, 2017
85e3b91
Add module boilerplate for @firebase/firestore
jshcrowthe Oct 3, 2017
2430768
Refactor Firestore source to standalone package
jshcrowthe Oct 3, 2017
7b4717f
Remove unneeded typings
jshcrowthe Oct 3, 2017
edd052b
Remove unneeded promise dependency
jshcrowthe Oct 3, 2017
e7adf9b
Fix top level paths
jshcrowthe Oct 3, 2017
35835ab
Bump firebase package version
jshcrowthe Oct 3, 2017
d45f0b8
Fix firestore source paths
jshcrowthe Oct 3, 2017
bc038c1
Fix @firebase/app reference
jshcrowthe Oct 3, 2017
63de02d
Refactor to fix TSC errors
jshcrowthe Oct 3, 2017
8302c7f
Refactor to make node unit tests work
jshcrowthe Oct 3, 2017
0debc1a
Publish
jshcrowthe Oct 4, 2017
e4916e5
Add firestore to main firebase binary
jshcrowthe Oct 4, 2017
17e8743
Pin firebase package to strict versions
jshcrowthe Oct 4, 2017
bdfbeb0
Fix browser firestore tests
jshcrowthe Oct 4, 2017
93f07f9
[AUTOMATED]: Prettier Code Styling
jshcrowthe Oct 4, 2017
875fd7c
[AUTOMATED]: License Headers
jshcrowthe Oct 4, 2017
8a80435
Changing base karma browsers
jshcrowthe Oct 4, 2017
37a8300
Disabling cross-browser karma tests
jshcrowthe Oct 4, 2017
cfb0743
[AUTOMATED]: Prettier Code Styling
jshcrowthe Oct 4, 2017
37ce4a6
Removing sauce_connect addon from .travis.yml
jshcrowthe Oct 4, 2017
815a520
Refactor messaging test script
jshcrowthe Oct 4, 2017
90bfd79
Refactor the browserNoActivityTimeout
jshcrowthe Oct 4, 2017
b799c10
[AUTOMATED]: Prettier Code Styling
jshcrowthe Oct 4, 2017
c8b6c49
Adding polyfills to the main browser bundles
jshcrowthe Oct 4, 2017
3333ddc
Add firestore/README.md
jshcrowthe Oct 4, 2017
b519a5e
Fix firestore VSCode scripts
jshcrowthe Oct 5, 2017
ea47799
Fix regex for firestore __data__ prop
jshcrowthe Oct 5, 2017
0b41da5
[AUTOMATED]: Prettier Code Styling
jshcrowthe Oct 5, 2017
fbd962f
Initial Commit
jshcrowthe Sep 20, 2017
01d42ad
Add a brief README.md
jshcrowthe Sep 20, 2017
8b29900
Add *.tgz to .npmignore
jshcrowthe Sep 20, 2017
d7292e5
Publish: v0.1.1
jshcrowthe Sep 20, 2017
5965b81
Turn on advanced optimizations for this code
jshcrowthe Sep 23, 2017
b7f74a3
Leverage "ADVANCED_OPTIMIZATIONS" mode in closure compilation
jshcrowthe Sep 25, 2017
ecb3ec8
0.2.0
jshcrowthe Sep 25, 2017
d42cd27
Add XhrIo prototype overrides
jshcrowthe Sep 26, 2017
548a1e3
0.2.1
jshcrowthe Sep 26, 2017
60efd9c
Remove unneeded lockfile
jshcrowthe Oct 5, 2017
27fed93
Fixing dependency versions
jshcrowthe Oct 5, 2017
1e67688
[AUTOMATED]: Prettier Code Styling
jshcrowthe Oct 5, 2017
5d5b270
[AUTOMATED]: License Headers
jshcrowthe Oct 5, 2017
2f161c2
TEMP: Remove saucelabs reporter
jshcrowthe Oct 5, 2017
f8d93b5
Fix prettier styling bug (fights with closure)
jshcrowthe Oct 5, 2017
e1ded31
Merge branch 'master' into lerna
jshcrowthe Oct 5, 2017
2468ee5
Update firebase/app typings
jshcrowthe Oct 5, 2017
4e4ebd9
Leverage default exports
jshcrowthe Oct 5, 2017
dd919bf
Updating top-level README.md
jshcrowthe Oct 6, 2017
15fa8cd
Refactor mocha timeout to be 20 seconds for firestore
jshcrowthe Oct 6, 2017
45c47db
Addressing some review comments from @mikelehen
jshcrowthe Oct 6, 2017
3731f8a
temp
jshcrowthe Oct 6, 2017
3d15323
Fixing license header spacing issues
jshcrowthe Oct 6, 2017
34c671a
Refactor license header check
jshcrowthe Oct 6, 2017
76dafe7
[AUTOMATED]: Prettier Code Styling
jshcrowthe Oct 6, 2017
559068c
[AUTOMATED]: License Headers
jshcrowthe Oct 6, 2017
c0b158d
Revert "[AUTOMATED]: License Headers"
jshcrowthe Oct 6, 2017
a88f143
Revert "Refactor license header check"
jshcrowthe Oct 6, 2017
2f61774
Fixing more license headers
jshcrowthe Oct 6, 2017
6a3e406
Add @wilhuff and @wti806 to CODEOWNERS
jshcrowthe Oct 6, 2017
a269a30
Adding one more --auto-watch flag
jshcrowthe Oct 6, 2017
990d013
Add 3 retries to firestore tests
jshcrowthe Oct 6, 2017
3d13ba3
Merge branch 'master' into lerna
jshcrowthe Oct 6, 2017
b0fd88c
Bumping browserNoActiityTimeout
jshcrowthe Oct 6, 2017
5313a36
@firebase/app - package.json housekeeping
jshcrowthe Oct 6, 2017
b971e24
@firebase/auth - README.md housekeeping
jshcrowthe Oct 6, 2017
3281a99
@firebase/database - README.md housekeeping
jshcrowthe Oct 6, 2017
fbb0cb5
@firebase/firestore - README.md housekeeping
jshcrowthe Oct 6, 2017
30fe9f2
Updating auth readme
jshcrowthe Oct 6, 2017
5dcec56
@firebase/messaging - README.md housekeeping
jshcrowthe Oct 6, 2017
986510c
Updating database readme
jshcrowthe Oct 6, 2017
afcc686
Fixing issue with messaging/package.json (copy-paste fail)
jshcrowthe Oct 6, 2017
f0e6d62
@firebase/polyfill - README.md housekeeping
jshcrowthe Oct 6, 2017
396a11a
@firebase/storage - README.md housekeeping
jshcrowthe Oct 6, 2017
43171d2
@firebase/util - README.md housekeeping
jshcrowthe Oct 6, 2017
6a9e795
Fixing package.json repo links
jshcrowthe Oct 6, 2017
ec5403f
Refactor from PromiseLike -> Promise
jshcrowthe Oct 6, 2017
2160481
Add firebase externs
jshcrowthe Oct 6, 2017
0e7c298
[AUTOMATED]: Prettier Code Styling
jshcrowthe Oct 6, 2017
2d7e66f
Fix license values in package.json
jshcrowthe Oct 7, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
40 changes: 0 additions & 40 deletions .cz-config.js

This file was deleted.

22 changes: 5 additions & 17 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,17 @@
# These owners will be the default owners for everything in the repo.
* @jshcrowthe

# Order is important. The last matching pattern has the most precedence.
# So if a pull request only touches javascript files, only these owners
# will be requested to review.
*.js @jshcrowthe

# You can also use email addresses if you prefer.

# Database Code
src/database @mikelehen @schmidt-sebastian
tests/database @mikelehen @schmidt-sebastian
packages/database @mikelehen @schmidt-sebastian

# Firestore Code
src/firestore @mikelehen @schmidt-sebastian
tests/firestore @mikelehen @schmidt-sebastian
integration/firestore @mikelehen @schmidt-sebastian
packages/firestore @mikelehen @schmidt-sebastian @wilhuff

# Storage Code
src/storage @sphippen
tests/storage @sphippen
packages/storage @sphippen

# Messaging Code
src/messaging @gauntface
tests/messaging @gauntface
packages/messaging @gauntface

# Auth Code
src/auth.build.js @bojeil-google
packages/auth @bojeil-google @wti806
25 changes: 14 additions & 11 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
# Build/Dependencies
node_modules
dist
.awcache
/config/project.json

# Misc
*.log

# OS Specific Files
.DS_Store
node_modules/
/dist
npm-debug.log
/coverage
/.nyc_output
/tests/config
temp/
/.vscode
/.ts-node
/.idea
/.awcache

# Editor Configs
.idea
.vscode
3 changes: 3 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# This file is pre-built and need not be formatted
packages/auth/src/auth.js
dist
4 changes: 4 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
singleQuote: true,
printWidth: 80
}
22 changes: 3 additions & 19 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,36 +1,20 @@
language: node_js
node_js:
- 6
- stable
cache: yarn

# Define global C++ compiler version
env:
global:
- CXX=g++-4.8
matrix:
- TEST_ENV=node
- TEST_ENV=browser
before_install:
# Yarn defaults to an old version, make sure we
# get an up to date version
- npm install -g yarn
before_script:
- export PATH=$PATH:./node_modules/.bin
- mkdir -p tests/config && echo "$PROJECT_CONFIG" > tests/config/project.json
- npm run test:setup -- --token $FIREBASE_TOKEN --projectId $FIREBASE_PROJECT
script:
gulp test --env="$TEST_ENV"

# Integration Test suite
jobs:
include:
- stage: Integration Tests
script: ./integration/webpack/runner.sh
- script: ./integration/browserify/runner.sh
- script: ./integration/typescript/runner.sh
- script: ./integration/serviceWorker/runner.sh
- script: ./integration/quickstart/runner.sh
- script: ./integration/messaging/runner.sh
- script: ./integration/firestore/runner.sh
- xvfb-run npm test

# Misc Addons/Configs
dist: trusty
Expand Down
33 changes: 26 additions & 7 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,43 @@
"type": "node",
"request": "launch",
"name": "Firestore Unit Tests (Node)",
"program": "${workspaceRoot}/node_modules/gulp/bin/gulp.js",
"args": ["test", "--suite=firestore/unit/", "--env=node"],
"port": 9229,
"program": "${workspaceRoot}/packages/firestore/node_modules/.bin/_mocha",
"cwd": "${workspaceRoot}/packages/firestore",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FWIW- We could probably move this whole .vscode directory under packages/firestore (each package can have its own .vscode if it wants it)...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is currently not supported by VSCode:

microsoft/vscode#396

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, that wasn't very clear. I was thinking that we'd push people towards opening vscode inside of a specific package. So if I'm doing firestore development, I'd open vscode in packages/firestore and then our launch configuration would be available and only our sources would show up in vscode, etc. I think this might make sense, since this launch.json is 100% Firestore-specific anyway... But I don't feel strongly about this. We can always do it later.

"args": [
"--compilers", "ts:ts-node/register",
"-r", "src/platform_node/node_init.ts",
"--retries", "5",
"--timeout", "5000",
"test/{,!(integration|browser)/**/}*.test.ts"
],
"sourceMaps": true,
"protocol": "inspector"
},
{
"type": "node",
"request": "launch",
"name": "Firestore Unit Tests (Browser)",
"program": "${workspaceRoot}/node_modules/gulp/bin/gulp.js",
"args": ["test", "--suite=firestore/unit/", "--env=browser", "--debug"]
"program": "${workspaceRoot}/packages/firestore/node_modules/.bin/karma",
"cwd": "${workspaceRoot}/packages/firestore",
"args": [
"start",
"--auto-watch",
"--testFiles", "test/unit/bootstrap.ts",
"--browsers", "Chrome"
]
},
{
"type": "node",
"request": "launch",
"name": "Firestore Integration Tests (Browser)",
"program": "${workspaceRoot}/node_modules/gulp/bin/gulp.js",
"args": ["test", "--suite=firestore/integration", "--env=browser", "--debug"]
"program": "${workspaceRoot}/packages/firestore/node_modules/.bin/karma",
"cwd": "${workspaceRoot}/packages/firestore",
"args": [
"start",
"--auto-watch",
"--testFiles", "test/integration/bootstrap.ts",
"--browsers", "Chrome"
]
}
]
}
12 changes: 1 addition & 11 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,16 +102,6 @@ Before you start working on a larger contribution, you should get in touch with

That's it! Thank you for your contribution!

## <a name="commit-message-guidelines"></a> Commit Message Guidelines

This repository follows the commit message format defined by the
[validate-commit-msg](https://npm.im/validate-commit-msg) package on NPM. This is
to make the git history easy to follow, and make it easier to identify which
commits are associated with features, bugfixes, etc.

We are also Commitizen friendly! If you have the [Commitizen CLI](https://npm.im/commitizen) installed
you can simply use `git cz` to create properly formatted commit messages.

[archive]: https://github.com/firebase/firebase-js-sdk/issues?utf8=%E2%9C%93&q=is%3Aissue
[file-an-issue]: https://github.com/firebase/firebase-js-sdk/issues/new
[firebase-google-group]: https://groups.google.com/forum/#!forum/firebase-talk
Expand All @@ -123,4 +113,4 @@ you can simply use `git cz` to create properly formatted commit messages.
[jsbin]: http://jsbin.com/rinilu/edit?js,console
[slack]: https://firebase-community.appspot.com/
[stackoverflow]: http://stackoverflow.com/questions/tagged/firebase
[support]: https://firebase.google.com/support/
[support]: https://firebase.google.com/support/
Loading