Skip to content

Commit 475929a

Browse files
committed
Merge branch 'master' of https://github.com/popcodeorg/popcode
2 parents 70902de + 8aa8a97 commit 475929a

132 files changed

Lines changed: 4168 additions & 2620 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.eslintrc

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
"accessor-pairs": [
44
2
55
],
6+
"array-bracket-newline": [
7+
2,
8+
{"multiline": true}
9+
],
610
"array-bracket-spacing": [
711
2,
812
"never"
@@ -49,8 +53,7 @@
4953
{"before": false, "after": true}
5054
],
5155
"complexity": [
52-
2,
53-
{"max": 30}
56+
2
5457
],
5558
"computed-property-spacing": [
5659
2,
@@ -94,6 +97,9 @@
9497
"after": true
9598
}
9699
],
100+
"getter-return": [
101+
2
102+
],
97103
"global-require": [
98104
2
99105
],
@@ -208,7 +214,7 @@
208214
],
209215
"new-cap": [
210216
2,
211-
{"capIsNewExceptions": ["Slowparse.HTML"]}
217+
{"capIsNewExceptions": ["Slowparse.HTML", "Record"]}
212218
],
213219
"new-parens": [
214220
2
@@ -219,6 +225,9 @@
219225
"no-array-constructor": [
220226
2
221227
],
228+
"no-await-in-loop": [
229+
2
230+
],
222231
"no-caller": [
223232
2
224233
],
@@ -424,6 +433,9 @@
424433
"no-return-assign": [
425434
2
426435
],
436+
"no-return-await": [
437+
2
438+
],
427439
"no-script-url": [
428440
2
429441
],
@@ -497,6 +509,9 @@
497509
"no-useless-constructor": [
498510
2
499511
],
512+
"no-useless-return": [
513+
2
514+
],
500515
"no-var": [
501516
2
502517
],
@@ -542,6 +557,12 @@
542557
"prefer-const": [
543558
2
544559
],
560+
"prefer-destructuring": [
561+
2
562+
],
563+
"prefer-promise-reject-errors": [
564+
2
565+
],
545566
"prefer-reflect": [
546567
2
547568
],
@@ -770,6 +791,9 @@
770791
2,
771792
"never"
772793
],
794+
"switch-colon-spacing": [
795+
2,
796+
],
773797
"use-isnan": [
774798
2
775799
],

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
dist
2+
static/compiled
23
node_modules
34
npm-debug.log
45
bower_components

.projections.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111
"type": "selector",
1212
"template": "import {open}createSelector{close} from 'reselect';\n\nexport default createSelector(\n [],\n () => {open}\n {close},\n);"
1313
},
14+
"src/records/*.js": {
15+
"type": "record",
16+
"template": "import {open}Record{close} from 'immutable';\n\nexport default Record({open}\n{close}, '{}');"
17+
},
1418
"src/store.js": {
1519
"type": "store"
1620
},

.travis.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ env:
1212
- GOOGLE_ANALYTICS_TRACKING_ID=UA-90316486-1
1313
- secure: oNSex8CSxFztUhsuIVREJmJTH2H3D+zW1Q8tckp717HyJQQ3j1cVd1FUPJpLYu8sYAxMbf1HrxGPYfXUfXAXPKcXK6eCoWVUfJ9sCjTPgI+IKNYWshOsZxgkpZDELqK02iXfiX2N9IBX9Ucf/QLrtcmVCx4uSOIwU0zlKTnZZKOIaVhZMh9WJl0zetMdnh4zwRwJ0JqN/NDbEq43gKC87BZsk09/j/2kq3soyIqLoTe4kzkOxpnQUYBlQaL0XgrjODnMxiL+7tvmNJXzMgYH5VgfjU8mSrA78JnmrakbQIMtTn53rCXNM+LD67RbvSWwiUwTT6Ve7hYNyriovfXqk3UKL5KoawThn6/SF4zFc8lma395OMbE2NVTU0VaOGZ5wiiQvVeZftg272RRFeAHRSRjERjO5+mAi65nKLEcO7uIIMVG/hVcKVUplo9yfQpLOJyPaVke3iLP74D5s0PLxROM11qwYhrEHk7uE5nhPhc8GADtUbEjIh/HbOeLDpsK0unjwbiQzqQ1P5kxx0Z33ISjraM4aIpMch6bL8kPLKXPxF3i/7J16NkTnbNic6W+O8IOCuHgHgt+7NVdt+NNgQyZJockS4FVdGg3yktgXCFlKwcBcQNMkud3pDhUnivGlK6XV5cZRb3G6Kx/DwpjWqW405lCIFLtyicqKZ/13FI=
1414
- secure: SfrceTUdcPMC9Jk7T9eIFVxDGdoOC9sUUg6nQX+3GerJ+vefoVFjspx/StYPr5Jci7NWqFCGns/8Ctu7eOK7p9lFnHeleuNGxKhotsmV2dfF3DjzkusuTisVhFMNKclVCxSSuQYswBZJ8ZUCdxMYq3XIyl5kfxD7t8Tb09cdeYWPw1SUkSdjMYbVUkL+Q+tidb4FudhIH5hZQ+gAAtRYidxG1esNj0cB1ITyN5eM3UkGM59/TFqvIGfolJEBJFW7gyeqedKlgiavdXVaEOvBk4kqu+2q7waMTYbCMPLBFNBBH7bEdPt4OA5hU5qlVuCMH7y3CKHOikSDiIBzLEIcx1cy1xmHzvxuDya340vW0IK8PnvSV2jp/3uy4XWc0SXq+zWAZTfHwYFObx32byo0pBTnx8CVkxdhwNZYwfCU7KIPHJ++WVpxTyx/BrJT5BkqmTbnccsJrpr75DNfm/lrthWjz66Es2sdZVb5Knn/ezfHyKP92hcl1jNhddkX4YWH1rZt5UYA1paQrsMgolKnt9oRBsaN5/2A5X+2hHzwDRSV20XP7d7ZLwDtUCsUQf7aMo5B4P6p3ElRGpLyA04YRm/x/aegQujVMrgdIKxZ/u/TtM0gPkkoeFcbDSrQq3PVEiOGMiDxKPrKMEE4f0nYqs6mpeyoBn6lSyCXDWhXcAo=
15-
- secure: iMjUVXUDF/AbL0Kz1Ey4QcvhBFG1Z7moAg5erVkXUt9ZX7/GwRj0orZ4S2MHeS5W2vNNzSpgoiCjAp7DWPwxd5yE01bC6rRDLg/2ED2SGb3bB/l47BqN9ZReq0PUf665YggLTKmg5eULqPS8Br9aU12gqWlPVv+pS/ZsBIifkPhaJVl+gH77c+qtQ/JlNGYi4xuHaWgMwJcaenfUgIunDNHMnAjj+GmOXGK8EzHcTzMaFQt14Eb5I7eXIRadWBvNfbY0WbipRlovo1/Gjyse4sQxdb7x1UHbTSVf+dfZhsFVBIhK/+d/rQ4ayo0RvtceCPswpkrt0KoZET4JQ7qgY2HavLZVb2uZ8DNA3SW+BrIAf1/3CkHZoac6PsFPTNWp33+Sy2IRDu0mT24NF6PIAHxrPdvLqlrfk/LxjzOaiajVVrqCZBaU7rqhE/qW81a5gEKNtBqNghTLOwDiSRIKtCyb2bZ7RbRFFj27wluvZQRMRe/SoT8PKUDVNPEvcWTsEPtXacdj0PQ0f3jeUpxbmmU0Tr8W0bv0dG3REsvLJYwphiBxAvr3MZeLhRxpmRTAXo3vTEg45vd35Sr4olevmig+TOfaMVYrAgYdAYkZHMLMGUMGpCqYnkS2l5SpoDAO0+eINw0phT8iyhAM7GnEsIbR/OYYGgJFYgnxVkqadec=
1615
cache:
1716
apt: true
1817
yarn: true
@@ -22,6 +21,9 @@ addons:
2221
- ubuntu-toolchain-r-test
2322
packages:
2423
- g++-4.8
24+
before_install:
25+
- curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 0.27.5
26+
- export PATH="$HOME/.yarn/bin:$PATH"
2527
before_script:
2628
- export DISPLAY=:99.0
2729
- sh -e /etc/init.d/xvfb start

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@ for all the sordid details.
208208
* [Ten-Young Guh](https://github.com/tenyoung795)
209209
* [Ilona Brand](https://github.com/ibrand)
210210
* [Kaylee Knowles](https://github.com/kaylee42)
211+
* [Felicia Wong](https://github.com/quixotically)
211212
* [Katie Conneally](http://www.katieconneally.com/) created the name Popcode
212213
* Logo design, "Pop" concept, and UI by the team at
213214
[Red Peak](http://redpeakgroup.com): Andrew Haug, Aya Kawabata, Jieun Lee,

config/firebase-auth.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,23 @@
66
".write": "$user_id === auth.uid"
77
}
88
},
9+
"snapshots": {
10+
"$snapshotKey": {
11+
".read": true,
12+
".write": "!data.exists()"
13+
}
14+
},
915
"authTokens": {
1016
"$user_id": {
1117
".read": "$user_id === auth.uid",
1218
".write": "$user_id === auth.uid"
1319
}
20+
},
21+
"providerInfo": {
22+
"$user_id": {
23+
".read": "$user_id === auth.uid",
24+
".write": "$user_id === auth.uid"
25+
}
1426
}
1527
}
1628
}

gulpfile.js

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ const postcss = require('gulp-postcss');
1919
const cssnext = require('postcss-cssnext');
2020
const webpack = require('webpack');
2121
const webpackDevMiddleware = require('webpack-dev-middleware');
22-
const CloudFlare = require('cloudflare');
22+
const cloudflare = require('cloudflare');
2323
const BrowserSync = require('browser-sync');
2424
const pify = require('pify');
2525
const config = require('./src/config');
@@ -67,7 +67,7 @@ gulp.task('fonts', () => gulp.
6767
'roboto-webfont-bower/fonts/Roboto-{Bold,Regular}-webfont.*'
6868
),
6969
]).
70-
pipe(gulp.dest(path.join(distDir, 'fonts')))
70+
pipe(gulp.dest(path.join(distDir, 'fonts')))
7171
);
7272

7373
gulp.task('css', () => {
@@ -105,7 +105,7 @@ gulp.task('js', ['env'], () => {
105105

106106
gulp.task('build', ['static', 'fonts', 'css', 'js']);
107107

108-
gulp.task('syncFirebase', async () => {
108+
gulp.task('syncFirebase', async() => {
109109
const data = await pify(fs).readFile(
110110
path.resolve(__dirname, 'config/firebase-auth.json')
111111
);
@@ -144,22 +144,24 @@ gulp.task('browserSync', ['static'], () => {
144144
browserSync.init({
145145
server: {
146146
baseDir: distDir,
147-
middleware: [webpackDevMiddleware(
148-
compiler,
149-
{
150-
lazy: false,
151-
stats: 'errors-only',
152-
}
153-
)],
147+
middleware: [
148+
webpackDevMiddleware(
149+
compiler,
150+
{
151+
lazy: false,
152+
stats: 'errors-only',
153+
}
154+
)
155+
],
154156
},
155157
});
156158
});
157159

158160
gulp.task('purgeCache', () =>
159-
new CloudFlare({
161+
cloudflare({
160162
email: process.env.CLOUDFLARE_EMAIL,
161163
key: process.env.CLOUDFLARE_KEY,
162-
}).deleteCache(
164+
}).zones.purgeCache(
163165
process.env.CLOUDFLARE_ZONE,
164166
{purge_everything: true}
165167
)

locales/en/translation.json

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
11
{
2-
"dashboard": {
2+
"top-bar": {
3+
"create-snapshot": "Snapshot",
4+
"libraries": "Libraries",
5+
"load-project": "My Projects",
6+
"new-project": "New Project",
37
"session": {
4-
"not-logged-in": "Not logged in",
5-
"log-in-prompt": "Sign in",
6-
"log-out-prompt": "Sign out"
7-
},
8+
"log-in-prompt": "Log in to save",
9+
"log-out-prompt": "Log out"
10+
}
11+
},
12+
"dashboard": {
813
"menu": {
9-
"new-project": "New Project",
10-
"load-project": "Load Project",
11-
"libraries": "Libraries",
1214
"export-gist": "Export Gist",
13-
"send-feedback": "Send Feedback"
15+
"send-feedback": "Send Feedback",
16+
"export-repo": "Export Repo"
1417
}
1518
},
1619
"editors": {
@@ -29,10 +32,17 @@
2932
"empty-gist": "You need some code in your project to export a gist!",
3033
"gist-export-error": "Something went wrong trying to create that gist. Please try again.",
3134
"gist-export-complete": "Your gist export is ready!",
32-
"gist-export-link": "Click here to open it",
35+
"github-export-link": "Click here to open it",
3336
"gist-import-not-found": "Looks like that gist doesn’t exist. Check the URL and try again.",
3437
"gist-import-error": "There was a problem importing that gist.",
35-
"gist-import-link": "Click here to open it"
38+
"gist-import-link": "Click here to open it",
39+
"repo-export-error": "Something went wrong trying to create that repo. Please try again.",
40+
"repo-export-complete": "Your repo export is ready!",
41+
"snapshot-created": "Your snapshot is ready!",
42+
"click-to-copy": "Click here to copy it",
43+
"snapshot-export-error": "Something went wrong trying to create that snapshot. Please try again.",
44+
"snapshot-import-error": "Something went wrong trying to load that snapshot. Please try again.",
45+
"snapshot-not-found": "That snapshot doesn’t seem to exist. Check the link and try again."
3646
},
3747
"languages": {
3848
"html": "HTML",
@@ -99,7 +109,6 @@
99109
"empty-title-element": "You have an empty <title> tag. A <title> tag should always contain text.",
100110
"html-in-css-block": "It looks like you typed some HTML code inside a <style> tag. Remember that only CSS code can go inside a <style> tag.",
101111
"invalid-attribute-name": "{{attribute}} isn’t allowed as an attribute name.",
102-
"mismatched-close-tag": "Your <{{open}}> tag needs a closing tag, but instead there’s a </{{close}}> tag where the </{{open}}> tag should be.",
103112
"self-closing-non-void-element": "{{tag, en-handle-an|capitalize}} <{{tag}}> tag always needs a closing </{{tag}}> tag. Writing <{{tag}}/> is not allowed.",
104113
"unclosed-tag": "Your <{{tag}}> tag needs to be closed by an </{{tag}}> tag.",
105114
"unexpected-close-tag": "You have a closing </{{tag}}> tag that doesn’t match any opening <{{tag}}> tag.",
@@ -109,7 +118,8 @@
109118
"unterminated-comment": "You have a comment that never ends. End the comment with -->",
110119
"unbound-attribute-value": "The value {{value}} isn’t attached to an attribute. Are you missing an = sign?",
111120
"invalid-tag-name": "<{{tag}}> isn’t a valid HTML tag. If you want to create a custom tag, make sure the name has a - in it, like <my-tag>",
112-
"space-before-tag-name": "You can’t put any space after the < in an HTML tag. Write <{{tag}}> instead of < {{tag}}>."
121+
"space-before-tag-name": "You can’t put any space after the < in an HTML tag. Write <{{tag}}> instead of < {{tag}}>.",
122+
"misplaced-close-tag": "This closing </{{open}}> tag should go to before the </{{close}}> tag on line {{mismatch}}."
113123
},
114124
"css": {
115125
"missing-opening-curly": "You should have a { at the end of this line.",

0 commit comments

Comments
 (0)