Merge remote-tracking branch 'origin/develop' into release/2021-08-11

This commit is contained in:
ericrosenbaum 2021-08-11 14:50:16 +00:00
commit 73686aa0db
12 changed files with 263 additions and 1200 deletions

View file

@ -1,7 +1,8 @@
{
"plugins": [
"transform-object-rest-spread",
"transform-require-context"
"transform-require-context",
"syntax-dynamic-import"
],
"presets": ["es2015", "react"],
}

View file

@ -31,7 +31,7 @@ if (args[0] === '--execute') {
const overrides = {
'src/views/teachers/faq/l10n.json': 'teacher-faq-l10njson',
'src/views/teachers/landing/l10n.json': 'educator-landing-l10njson',
'src/views/conference/2020/index/l10n.json': 'conference-index-2020-l10njson',
'src/views/conference/2021/index/l10n.json': 'conference-index-2021-l10njson',
'src/views/conference/2019/index/l10n.json': 'conference-index-2019-l10njson',
'src/views/conference/2017/index/l10n.json': 'conference-index-2017-l10njson'
};

386
package-lock.json generated
View file

@ -219,26 +219,26 @@
}
},
"@babel/compat-data": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.9.tgz",
"integrity": "sha512-p3QjZmMGHDGdpcwEYYWu7i7oJShJvtgMjJeb0W95PPhSm++3lm8YXYOh45Y6iCN9PkZLTZ7CIX5nFrp7pw7TXw==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz",
"integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==",
"dev": true
},
"@babel/core": {
"version": "7.14.8",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.8.tgz",
"integrity": "sha512-/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz",
"integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.14.5",
"@babel/generator": "^7.14.8",
"@babel/helper-compilation-targets": "^7.14.5",
"@babel/helper-module-transforms": "^7.14.8",
"@babel/generator": "^7.15.0",
"@babel/helper-compilation-targets": "^7.15.0",
"@babel/helper-module-transforms": "^7.15.0",
"@babel/helpers": "^7.14.8",
"@babel/parser": "^7.14.8",
"@babel/parser": "^7.15.0",
"@babel/template": "^7.14.5",
"@babel/traverse": "^7.14.8",
"@babel/types": "^7.14.8",
"@babel/traverse": "^7.15.0",
"@babel/types": "^7.15.0",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@ -257,12 +257,12 @@
}
},
"@babel/generator": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.9.tgz",
"integrity": "sha512-4yoHbhDYzFa0GLfCzLp5GxH7vPPMAHdZjyE7M/OajM9037zhx0rf+iNsJwp4PT0MSFpwjG7BsHEbPkBQpZ6cYA==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz",
"integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==",
"dev": true,
"requires": {
"@babel/types": "^7.14.9",
"@babel/types": "^7.15.0",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
}
@ -308,9 +308,9 @@
}
},
"@babel/parser": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.9.tgz",
"integrity": "sha512-RdUTOseXJ8POjjOeEBEvNMIZU/nm4yu2rufRkcibzkkg7DmQvXU8v3M4Xk9G7uuI86CDGkKcuDWgioqZm+mScQ==",
"version": "7.15.2",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.2.tgz",
"integrity": "sha512-bMJXql1Ss8lFnvr11TZDH4ArtwlAS5NG9qBmdiFW2UHHm6MVoR+GDc5XE2b9K938cyjc9O6/+vjjcffLDtfuDg==",
"dev": true
},
"@babel/template": {
@ -325,26 +325,26 @@
}
},
"@babel/traverse": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.9.tgz",
"integrity": "sha512-bldh6dtB49L8q9bUyB7bC20UKgU+EFDwKJylwl234Kv+ySZeMD31Xeht6URyueQ6LrRRpF2tmkfcZooZR9/e8g==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz",
"integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.14.5",
"@babel/generator": "^7.14.9",
"@babel/generator": "^7.15.0",
"@babel/helper-function-name": "^7.14.5",
"@babel/helper-hoist-variables": "^7.14.5",
"@babel/helper-split-export-declaration": "^7.14.5",
"@babel/parser": "^7.14.9",
"@babel/types": "^7.14.9",
"@babel/parser": "^7.15.0",
"@babel/types": "^7.15.0",
"debug": "^4.1.0",
"globals": "^11.1.0"
}
},
"@babel/types": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.9.tgz",
"integrity": "sha512-u0bLTnv3DFHeaQLYzb7oRJ1JHr1sv/SYDM7JSqHFFLwXG1wTZRughxFI5NCP8qBEo1rVVsn7Yg2Lvw49nne/Ow==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz",
"integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.14.9",
@ -479,12 +479,12 @@
}
},
"@babel/helper-compilation-targets": {
"version": "7.14.5",
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz",
"integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz",
"integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==",
"dev": true,
"requires": {
"@babel/compat-data": "^7.14.5",
"@babel/compat-data": "^7.15.0",
"@babel/helper-validator-option": "^7.14.5",
"browserslist": "^4.16.6",
"semver": "^6.3.0"
@ -503,22 +503,10 @@
"node-releases": "^1.1.73"
}
},
"caniuse-lite": {
"version": "1.0.30001248",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001248.tgz",
"integrity": "sha512-NwlQbJkxUFJ8nMErnGtT0QTM2TJ33xgz4KXJSMIrjXIbDVdaYueGyjOrLKRtJC+rTiWfi6j5cnZN1NBiSBJGNw==",
"dev": true
},
"electron-to-chromium": {
"version": "1.3.795",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.795.tgz",
"integrity": "sha512-4TPxrLf9Fzsi4rVgTlDm+ubxoXm3/TN67/LGHx/a4UkVubKILa6L26O6eTnHewixG/knzU9L3lLmfL39eElwlQ==",
"dev": true
},
"node-releases": {
"version": "1.1.73",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz",
"integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==",
"version": "1.3.802",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.802.tgz",
"integrity": "sha512-dXB0SGSypfm3iEDxrb5n/IVKeX4uuTnFHdve7v+yKJqNpEP0D4mjFJ8e1znmSR+OOVlVC+kDO6f2kAkTFXvJBg==",
"dev": true
},
"semver": {
@ -559,9 +547,9 @@
},
"dependencies": {
"@babel/types": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.9.tgz",
"integrity": "sha512-u0bLTnv3DFHeaQLYzb7oRJ1JHr1sv/SYDM7JSqHFFLwXG1wTZRughxFI5NCP8qBEo1rVVsn7Yg2Lvw49nne/Ow==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz",
"integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.14.9",
@ -577,18 +565,18 @@
}
},
"@babel/helper-member-expression-to-functions": {
"version": "7.14.7",
"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz",
"integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz",
"integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==",
"dev": true,
"requires": {
"@babel/types": "^7.14.5"
"@babel/types": "^7.15.0"
},
"dependencies": {
"@babel/types": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.9.tgz",
"integrity": "sha512-u0bLTnv3DFHeaQLYzb7oRJ1JHr1sv/SYDM7JSqHFFLwXG1wTZRughxFI5NCP8qBEo1rVVsn7Yg2Lvw49nne/Ow==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz",
"integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.14.9",
@ -613,9 +601,9 @@
},
"dependencies": {
"@babel/types": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.9.tgz",
"integrity": "sha512-u0bLTnv3DFHeaQLYzb7oRJ1JHr1sv/SYDM7JSqHFFLwXG1wTZRughxFI5NCP8qBEo1rVVsn7Yg2Lvw49nne/Ow==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz",
"integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.14.9",
@ -631,19 +619,19 @@
}
},
"@babel/helper-module-transforms": {
"version": "7.14.8",
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.8.tgz",
"integrity": "sha512-RyE+NFOjXn5A9YU1dkpeBaduagTlZ0+fccnIcAGbv1KGUlReBj7utF7oEth8IdIBQPcux0DDgW5MFBH2xu9KcA==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz",
"integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==",
"dev": true,
"requires": {
"@babel/helper-module-imports": "^7.14.5",
"@babel/helper-replace-supers": "^7.14.5",
"@babel/helper-replace-supers": "^7.15.0",
"@babel/helper-simple-access": "^7.14.8",
"@babel/helper-split-export-declaration": "^7.14.5",
"@babel/helper-validator-identifier": "^7.14.8",
"@babel/helper-validator-identifier": "^7.14.9",
"@babel/template": "^7.14.5",
"@babel/traverse": "^7.14.8",
"@babel/types": "^7.14.8"
"@babel/traverse": "^7.15.0",
"@babel/types": "^7.15.0"
},
"dependencies": {
"@babel/code-frame": {
@ -656,12 +644,12 @@
}
},
"@babel/generator": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.9.tgz",
"integrity": "sha512-4yoHbhDYzFa0GLfCzLp5GxH7vPPMAHdZjyE7M/OajM9037zhx0rf+iNsJwp4PT0MSFpwjG7BsHEbPkBQpZ6cYA==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz",
"integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==",
"dev": true,
"requires": {
"@babel/types": "^7.14.9",
"@babel/types": "^7.15.0",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
}
@ -707,9 +695,9 @@
}
},
"@babel/parser": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.9.tgz",
"integrity": "sha512-RdUTOseXJ8POjjOeEBEvNMIZU/nm4yu2rufRkcibzkkg7DmQvXU8v3M4Xk9G7uuI86CDGkKcuDWgioqZm+mScQ==",
"version": "7.15.2",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.2.tgz",
"integrity": "sha512-bMJXql1Ss8lFnvr11TZDH4ArtwlAS5NG9qBmdiFW2UHHm6MVoR+GDc5XE2b9K938cyjc9O6/+vjjcffLDtfuDg==",
"dev": true
},
"@babel/template": {
@ -724,26 +712,26 @@
}
},
"@babel/traverse": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.9.tgz",
"integrity": "sha512-bldh6dtB49L8q9bUyB7bC20UKgU+EFDwKJylwl234Kv+ySZeMD31Xeht6URyueQ6LrRRpF2tmkfcZooZR9/e8g==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz",
"integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.14.5",
"@babel/generator": "^7.14.9",
"@babel/generator": "^7.15.0",
"@babel/helper-function-name": "^7.14.5",
"@babel/helper-hoist-variables": "^7.14.5",
"@babel/helper-split-export-declaration": "^7.14.5",
"@babel/parser": "^7.14.9",
"@babel/types": "^7.14.9",
"@babel/parser": "^7.15.0",
"@babel/types": "^7.15.0",
"debug": "^4.1.0",
"globals": "^11.1.0"
}
},
"@babel/types": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.9.tgz",
"integrity": "sha512-u0bLTnv3DFHeaQLYzb7oRJ1JHr1sv/SYDM7JSqHFFLwXG1wTZRughxFI5NCP8qBEo1rVVsn7Yg2Lvw49nne/Ow==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz",
"integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.14.9",
@ -830,9 +818,9 @@
},
"dependencies": {
"@babel/types": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.9.tgz",
"integrity": "sha512-u0bLTnv3DFHeaQLYzb7oRJ1JHr1sv/SYDM7JSqHFFLwXG1wTZRughxFI5NCP8qBEo1rVVsn7Yg2Lvw49nne/Ow==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz",
"integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.14.9",
@ -854,15 +842,15 @@
"dev": true
},
"@babel/helper-replace-supers": {
"version": "7.14.5",
"resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz",
"integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz",
"integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==",
"dev": true,
"requires": {
"@babel/helper-member-expression-to-functions": "^7.14.5",
"@babel/helper-member-expression-to-functions": "^7.15.0",
"@babel/helper-optimise-call-expression": "^7.14.5",
"@babel/traverse": "^7.14.5",
"@babel/types": "^7.14.5"
"@babel/traverse": "^7.15.0",
"@babel/types": "^7.15.0"
},
"dependencies": {
"@babel/code-frame": {
@ -875,12 +863,12 @@
}
},
"@babel/generator": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.9.tgz",
"integrity": "sha512-4yoHbhDYzFa0GLfCzLp5GxH7vPPMAHdZjyE7M/OajM9037zhx0rf+iNsJwp4PT0MSFpwjG7BsHEbPkBQpZ6cYA==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz",
"integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==",
"dev": true,
"requires": {
"@babel/types": "^7.14.9",
"@babel/types": "^7.15.0",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
}
@ -926,9 +914,9 @@
}
},
"@babel/parser": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.9.tgz",
"integrity": "sha512-RdUTOseXJ8POjjOeEBEvNMIZU/nm4yu2rufRkcibzkkg7DmQvXU8v3M4Xk9G7uuI86CDGkKcuDWgioqZm+mScQ==",
"version": "7.15.2",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.2.tgz",
"integrity": "sha512-bMJXql1Ss8lFnvr11TZDH4ArtwlAS5NG9qBmdiFW2UHHm6MVoR+GDc5XE2b9K938cyjc9O6/+vjjcffLDtfuDg==",
"dev": true
},
"@babel/template": {
@ -943,26 +931,26 @@
}
},
"@babel/traverse": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.9.tgz",
"integrity": "sha512-bldh6dtB49L8q9bUyB7bC20UKgU+EFDwKJylwl234Kv+ySZeMD31Xeht6URyueQ6LrRRpF2tmkfcZooZR9/e8g==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz",
"integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.14.5",
"@babel/generator": "^7.14.9",
"@babel/generator": "^7.15.0",
"@babel/helper-function-name": "^7.14.5",
"@babel/helper-hoist-variables": "^7.14.5",
"@babel/helper-split-export-declaration": "^7.14.5",
"@babel/parser": "^7.14.9",
"@babel/types": "^7.14.9",
"@babel/parser": "^7.15.0",
"@babel/types": "^7.15.0",
"debug": "^4.1.0",
"globals": "^11.1.0"
}
},
"@babel/types": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.9.tgz",
"integrity": "sha512-u0bLTnv3DFHeaQLYzb7oRJ1JHr1sv/SYDM7JSqHFFLwXG1wTZRughxFI5NCP8qBEo1rVVsn7Yg2Lvw49nne/Ow==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz",
"integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.14.9",
@ -1049,9 +1037,9 @@
},
"dependencies": {
"@babel/types": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.9.tgz",
"integrity": "sha512-u0bLTnv3DFHeaQLYzb7oRJ1JHr1sv/SYDM7JSqHFFLwXG1wTZRughxFI5NCP8qBEo1rVVsn7Yg2Lvw49nne/Ow==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz",
"integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.14.9",
@ -1108,12 +1096,12 @@
}
},
"@babel/generator": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.9.tgz",
"integrity": "sha512-4yoHbhDYzFa0GLfCzLp5GxH7vPPMAHdZjyE7M/OajM9037zhx0rf+iNsJwp4PT0MSFpwjG7BsHEbPkBQpZ6cYA==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz",
"integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==",
"dev": true,
"requires": {
"@babel/types": "^7.14.9",
"@babel/types": "^7.15.0",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
}
@ -1159,9 +1147,9 @@
}
},
"@babel/parser": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.9.tgz",
"integrity": "sha512-RdUTOseXJ8POjjOeEBEvNMIZU/nm4yu2rufRkcibzkkg7DmQvXU8v3M4Xk9G7uuI86CDGkKcuDWgioqZm+mScQ==",
"version": "7.15.2",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.2.tgz",
"integrity": "sha512-bMJXql1Ss8lFnvr11TZDH4ArtwlAS5NG9qBmdiFW2UHHm6MVoR+GDc5XE2b9K938cyjc9O6/+vjjcffLDtfuDg==",
"dev": true
},
"@babel/template": {
@ -1176,26 +1164,26 @@
}
},
"@babel/traverse": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.9.tgz",
"integrity": "sha512-bldh6dtB49L8q9bUyB7bC20UKgU+EFDwKJylwl234Kv+ySZeMD31Xeht6URyueQ6LrRRpF2tmkfcZooZR9/e8g==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz",
"integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.14.5",
"@babel/generator": "^7.14.9",
"@babel/generator": "^7.15.0",
"@babel/helper-function-name": "^7.14.5",
"@babel/helper-hoist-variables": "^7.14.5",
"@babel/helper-split-export-declaration": "^7.14.5",
"@babel/parser": "^7.14.9",
"@babel/types": "^7.14.9",
"@babel/parser": "^7.15.0",
"@babel/types": "^7.15.0",
"debug": "^4.1.0",
"globals": "^11.1.0"
}
},
"@babel/types": {
"version": "7.14.9",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.9.tgz",
"integrity": "sha512-u0bLTnv3DFHeaQLYzb7oRJ1JHr1sv/SYDM7JSqHFFLwXG1wTZRughxFI5NCP8qBEo1rVVsn7Yg2Lvw49nne/Ow==",
"version": "7.15.0",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz",
"integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.14.9",
@ -2152,6 +2140,12 @@
"@babel/types": "^7.3.0"
}
},
"@types/json-schema": {
"version": "7.0.8",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz",
"integrity": "sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==",
"dev": true
},
"@types/node": {
"version": "12.6.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.6.2.tgz",
@ -3408,6 +3402,12 @@
}
}
},
"babel-plugin-syntax-dynamic-import": {
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
"integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=",
"dev": true
},
"babel-plugin-syntax-flow": {
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
@ -14896,6 +14896,92 @@
"tiny-warning": "^1.0.3"
}
},
"mini-css-extract-plugin": {
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz",
"integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==",
"dev": true,
"requires": {
"loader-utils": "^2.0.0",
"schema-utils": "^3.0.0",
"webpack-sources": "^1.1.0"
},
"dependencies": {
"ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"dev": true,
"requires": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
}
},
"ajv-keywords": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true
},
"emojis-list": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
"integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
"dev": true
},
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"dev": true
},
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true
},
"json5": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
"integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
"dev": true,
"requires": {
"minimist": "^1.2.5"
}
},
"loader-utils": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
"dev": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"minimist": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
"dev": true
},
"schema-utils": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz",
"integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.7",
"ajv": "^6.12.5",
"ajv-keywords": "^3.5.2"
}
}
}
},
"minilog": {
"version": "2.0.8",
"resolved": "https://registry.npmjs.org/minilog/-/minilog-2.0.8.tgz",
@ -20891,21 +20977,21 @@
}
},
"scratch-blocks": {
"version": "0.1.0-prerelease.20210804044921",
"resolved": "https://registry.npmjs.org/scratch-blocks/-/scratch-blocks-0.1.0-prerelease.20210804044921.tgz",
"integrity": "sha512-Kx+sOHdF9ubDt34k2cM633cberB7+x2HnUNw2d6JA15XzNP4uZoqttoQOMt6i/vrh905bbJjqgg28h7ZWOS2zQ==",
"version": "0.1.0-prerelease.20210811082835",
"resolved": "https://registry.npmjs.org/scratch-blocks/-/scratch-blocks-0.1.0-prerelease.20210811082835.tgz",
"integrity": "sha512-Rw9S72of8SMAv7Qz6ZVKLePLHx4m/rmWNcJ65hTFVWGv21SvBp7RSmqCcyHDvQzKOHjIxQMSgc+fW2qStSQDAA==",
"dev": true,
"requires": {
"exports-loader": "0.6.3",
"google-closure-library": "20190301.0.0",
"imports-loader": "0.6.5",
"scratch-l10n": "3.13.20210804031526"
"scratch-l10n": "3.14.20210811031521"
}
},
"scratch-gui": {
"version": "0.1.0-prerelease.20210804101730",
"resolved": "https://registry.npmjs.org/scratch-gui/-/scratch-gui-0.1.0-prerelease.20210804101730.tgz",
"integrity": "sha512-1s2gEf50WqZ1cny/uDjc+HGM0NIywrg3qO2ATsZqs8FRD6JhXFcbgUI/ZR2eciQ+cXBS6piVtriAJKTVqiP7vw==",
"version": "0.1.0-prerelease.20210811131219",
"resolved": "https://registry.npmjs.org/scratch-gui/-/scratch-gui-0.1.0-prerelease.20210811131219.tgz",
"integrity": "sha512-1BDkhRNmFbm0KIs9e0Z8WBF9hUcHv1+SKRDDOJ8WRaZEgG15TLFaBm9jeYQLhXbdZ/LNm19OxMgicI6syuO2+A==",
"dev": true,
"requires": {
"arraybuffer-loader": "^1.0.6",
@ -20956,14 +21042,14 @@
"redux": "3.7.2",
"redux-throttle": "0.1.1",
"scratch-audio": "0.1.0-prerelease.20200528195344",
"scratch-blocks": "0.1.0-prerelease.20210804044921",
"scratch-l10n": "3.13.20210804031526",
"scratch-paint": "0.2.0-prerelease.20210804042639",
"scratch-blocks": "0.1.0-prerelease.20210811082835",
"scratch-l10n": "3.14.20210811031521",
"scratch-paint": "0.2.0-prerelease.20210811051056",
"scratch-render": "0.1.0-prerelease.20210325231800",
"scratch-render-fonts": "1.0.0-prerelease.20210401210003",
"scratch-storage": "1.3.5",
"scratch-svg-renderer": "0.2.0-prerelease.20210727023023",
"scratch-vm": "0.2.0-prerelease.20210804080338",
"scratch-vm": "0.2.0-prerelease.20210811102104",
"startaudiocontext": "1.2.1",
"style-loader": "^0.23.0",
"text-encoding": "0.7.0",
@ -21126,9 +21212,9 @@
"dev": true
},
"electron-to-chromium": {
"version": "1.3.795",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.795.tgz",
"integrity": "sha512-4TPxrLf9Fzsi4rVgTlDm+ubxoXm3/TN67/LGHx/a4UkVubKILa6L26O6eTnHewixG/knzU9L3lLmfL39eElwlQ==",
"version": "1.3.802",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.802.tgz",
"integrity": "sha512-dXB0SGSypfm3iEDxrb5n/IVKeX4uuTnFHdve7v+yKJqNpEP0D4mjFJ8e1znmSR+OOVlVC+kDO6f2kAkTFXvJBg==",
"dev": true
},
"has-flag": {
@ -21392,9 +21478,9 @@
}
},
"scratch-l10n": {
"version": "3.13.20210804031526",
"resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-3.13.20210804031526.tgz",
"integrity": "sha512-fF/Aqilg4PsVK6sw96Hk6OjAF4erW3Wc+GheHIfTwLiUW784cV7wLEzZ9HRIWJ/wuAxTjFzxPzWE+uqXmtCgeA==",
"version": "3.14.20210811031521",
"resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-3.14.20210811031521.tgz",
"integrity": "sha512-3MFVheuqNm1pOYHrvV/zT3K89SiClwwAEkj/loAeJ6a5mwfblPLWe0PeRq1cuRvxQQuGh2Nrrl/WT8oaDkG9xQ==",
"dev": true,
"requires": {
"@babel/cli": "^7.1.2",
@ -21404,9 +21490,9 @@
}
},
"scratch-paint": {
"version": "0.2.0-prerelease.20210804042639",
"resolved": "https://registry.npmjs.org/scratch-paint/-/scratch-paint-0.2.0-prerelease.20210804042639.tgz",
"integrity": "sha512-iFCFWeGCXGmfQpYRRgHYdMX8hMoo68MoDY2dgCzU5RFUrmE/r8THztRhDjK0VYK+lCgSAxjAtMuU/8uyXxwUCA==",
"version": "0.2.0-prerelease.20210811051056",
"resolved": "https://registry.npmjs.org/scratch-paint/-/scratch-paint-0.2.0-prerelease.20210811051056.tgz",
"integrity": "sha512-l8AH7p7Y6EZEaTI+txbU6+bYhWpCyz8gAQKt0lib2gQaQCP7CM2cC0hgHUbtrhsUrpuUI4asVKHr5b+R8GK/0w==",
"dev": true,
"requires": {
"@scratch/paper": "0.11.20200728195508",
@ -21660,9 +21746,9 @@
"dev": true
},
"scratch-vm": {
"version": "0.2.0-prerelease.20210804080338",
"resolved": "https://registry.npmjs.org/scratch-vm/-/scratch-vm-0.2.0-prerelease.20210804080338.tgz",
"integrity": "sha512-oxeqXRCM2EmWbqy05yHlRwOto2/Miqgh+WEYWwjFZPD9XjuXGUSULXwhFbC/vaBA3K4HH2x+wszMCeFunb2JSA==",
"version": "0.2.0-prerelease.20210811102104",
"resolved": "https://registry.npmjs.org/scratch-vm/-/scratch-vm-0.2.0-prerelease.20210811102104.tgz",
"integrity": "sha512-VUQoYg5byWlqdCuDeZ7gGDhyaSZa6SNVMHuHef+5g9z/sB7ezNJvSYTyTGqiRv3ygGItbXZ0/5CFF8/B+Xc73A==",
"dev": true,
"requires": {
"@vernier/godirect": "1.5.0",

View file

@ -26,11 +26,12 @@
"clean": "rm -rf ./build && rm -rf ./intl && mkdir -p build && mkdir -p intl",
"deploy": "npm run deploy:s3 && npm run deploy:fastly",
"deploy:fastly": "node ./bin/configure-fastly.js",
"deploy:s3": "npm run deploy:s3:all && npm run deploy:s3:svg && npm run deploy:s3:js",
"deploy:s3": "npm run deploy:s3:all && npm run deploy:s3:svg && npm run deploy:s3:js && npm run deploy:s3:css",
"deploy:s3cmd": "s3cmd sync -P --delete-removed --add-header=Cache-Control:no-cache,public,max-age=3600 --add-header=x-amz-meta-surrogate-key:static-assets",
"deploy:s3:all": "npm run deploy:s3cmd -- --exclude '.DS_Store' --exclude '*.svg' --exclude '*.js' ./build/ s3://$S3_BUCKET_NAME/",
"deploy:s3:all": "npm run deploy:s3cmd -- --exclude '.DS_Store' --exclude '*.svg' --exclude '*.js' --exclude '*.css' ./build/ s3://$S3_BUCKET_NAME/",
"deploy:s3:svg": "npm run deploy:s3cmd -- --exclude '*' --include '*.svg' --mime-type 'image/svg+xml' ./build/ s3://$S3_BUCKET_NAME/",
"deploy:s3:js": "npm run deploy:s3cmd -- --exclude '*' --include '*.js' --mime-type 'application/javascript' ./build/ s3://$S3_BUCKET_NAME/",
"deploy:s3:css": "npm run deploy:s3cmd -- --exclude '*' --include '*.css' --mime-type 'text/css' ./build/ s3://$S3_BUCKET_NAME/",
"i18n:push": "./bin/tx-push-www --execute",
"translate:urls": "node ./bin/get-localized-urls localized-urls.json",
"translate:files": "node ./bin/build-locales node_modules/scratch-l10n/www intl",
@ -69,6 +70,7 @@
"babel-core": "6.23.1",
"babel-eslint": "10.0.3",
"babel-loader": "7.1.0",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"babel-plugin-transform-object-rest-spread": "6.26.0",
"babel-plugin-transform-require-context": "0.1.1",
"babel-preset-es2015": "6.22.0",
@ -105,6 +107,7 @@
"lodash.mergewith": "4.6.2",
"lodash.omit": "3.1.0",
"lodash.uniqby": "4.7.0",
"mini-css-extract-plugin": "^1.6.2",
"minilog": "2.0.8",
"node-sass": "4.14.1",
"pako": "0.2.8",
@ -127,8 +130,8 @@
"redux-mock-store": "1.5.4",
"redux-thunk": "2.0.1",
"sass-loader": "6.0.6",
"scratch-gui": "0.1.0-prerelease.20210804101730",
"scratch-l10n": "3.13.20210804031526",
"scratch-gui": "0.1.0-prerelease.20210811131219",
"scratch-l10n": "3.14.20210811031521",
"selenium-webdriver": "3.6.0",
"slick-carousel": "1.6.0",
"style-loader": "0.12.3",

View file

@ -253,14 +253,6 @@
"view": "search/search",
"title": "Search"
},
{
"name": "sec",
"pattern": "^/sec/?(\\?.*)?$",
"routeAlias": "/sec/?",
"view": "sec/sec",
"title": "Scratch Education Collaborative",
"viewportWidth": "device-width"
},
{
"name": "splash",
"pattern": "^/?$",
@ -475,6 +467,12 @@
"routeAlias": "/search",
"redirect": "/search/projects"
},
{
"name": "sec-redirect",
"pattern": "^/sec/?$",
"routeAlias": "/sec",
"redirect": "https://sip.scratch.mit.edu/sec"
},
{
"name": "splash-redirect",
"pattern": "^///?$",

View file

@ -31,6 +31,8 @@
<!-- Favicon & CSS normalize -->
<link rel="shortcut icon" href="/favicon.ico" />
<link rel="stylesheet" href="/css/lib/normalize.min.css" />
<link rel="stylesheet" href="<%= htmlWebpackPlugin.files.chunks.common.css[0] %>" />
<link rel="stylesheet" href="<%= htmlWebpackPlugin.files.chunks[htmlWebpackPlugin.options.route.name].css[0] %>" />
<!-- Polyfills -->
<script src="/js/polyfill.min.js"></script>
@ -59,11 +61,11 @@
<div id="app"></div>
<!-- Vendor & Initialize (Session & Localization)-->
<script src="/<%= htmlWebpackPlugin.files.chunks.common.entry %>"></script>
<script src="<%= htmlWebpackPlugin.files.chunks.common.entry %>"></script>
<!-- Scripts -->
<script src="/js/<%= htmlWebpackPlugin.options.route.name %>.intl.js"></script>
<script src="/<%= htmlWebpackPlugin.files.chunks[htmlWebpackPlugin.options.route.name].entry %>"></script>
<script src="<%= htmlWebpackPlugin.files.chunks[htmlWebpackPlugin.options.route.name].entry %>"></script>
<!-- Translate title element -->
<% if (!htmlWebpackPlugin.options.dynamicMetaTags) { %>

View file

@ -113,9 +113,6 @@ class Download extends React.Component {
id="installation"
>
<div className="inner">
<p className="callout">
<FormattedHTMLMessage id="download.introMac" />
</p>
<FlexRow className="three-col-row">
<div className="installation-column">
<div className="installation-column-number">
@ -123,26 +120,6 @@ class Download extends React.Component {
</div>
<h3><FormattedMessage id="download.airTitle" /></h3>
<p><FormattedHTMLMessage id="download.airBody" /></p>
<ul className="installation-downloads">
<li className="installation-downloads-item">
<FormattedMessage id="download.macOSX" /> -
{' '}<a href="http://get.adobe.com/air/">
<FormattedMessage id="download.download" />
</a>
</li>
<li className="installation-downloads-item">
<FormattedMessage id="download.macOlder" /> -
{' '}<a href="http://airdownload.adobe.com/air/mac/download/2.6/AdobeAIR.zip">
<FormattedMessage id="download.download" />
</a>
</li>
<li className="installation-downloads-item">
<FormattedMessage id="download.windows" /> -
{' '}<a href="http://get.adobe.com/air/">
<FormattedMessage id="download.download" />
</a>
</li>
</ul>
</div>
<div className="installation-column">
<div className="installation-column-number">

View file

@ -1,10 +1,9 @@
{
"download.title": "Scratch 2.0 Offline Editor",
"download.intro": "You can install the Scratch 2.0 editor to work on projects without an internet connection. This version will work on Windows and MacOS.",
"download.introMac": "<b>Note for Mac Users:</b> the latest version of Scratch 2.0 Offline requires Adobe AIR 20. To upgrade to Adobe AIR 20 manually, go <a href=\"https://get.adobe.com/air/\">here</a>.",
"download.installation": "Installation",
"download.airTitle": "Adobe AIR",
"download.airBody": "If you don't already have it, download and install the latest <a href=\"http://get.adobe.com/air/\">Adobe AIR</a>",
"download.airBody": "If you don't already have it, download and install the latest <a href=\"https://airsdk.harman.com/runtime\">Adobe AIR</a>",
"download.macOSX": "Mac OS X",
"download.macOlder": "Mac OS 10.5 & Older",
"download.windows": "Windows",

View file

@ -1,55 +0,0 @@
{
"sec.title": "Scratch Education Collaborative (SEC)",
"sec.intro": "Participating Orgs",
"sec.applyNow": "Apply now!",
"sec.applyBanner": "Applications are now closed. The deadline for applying to the SEC for 2021 was March 1st.",
"sec.projectsTitle": "Participating Orgs",
"sec.yearRange": "2021-2022",
"sec.org1": "{org1Listing} - AK, USA",
"sec.org2": "{org2Listing} - AR, USA",
"sec.org3": "{org3Listing} - UT, USA",
"sec.org4": "{org4Listing} - TX, USA",
"sec.org5": "{org5Listing} - MS, USA",
"sec.org6": "{org6Listing} - Santa Bárbara, Brazil",
"sec.org7": "{org7Listing} - Sydney, Australia",
"sec.org8": "{org8Listing} - Memphis, TN, USA",
"sec.org9": "{org9Listing} - NYC, NY, USA",
"sec.org10": "{org10Listing} - Jos, Nigeria",
"sec.org11": "{org11Listing} - Baltimore, MD, USA",
"sec.org12": "{org12Listing} - Johannesburg, South Africa",
"sec.org13": "{org13Listing} - Hayward, CA, USA",
"sec.org14": "{org14Listing} - Humble, TX, USA",
"sec.org15": "{org15Listing} - Guildford, UK",
"sec.org16": "{org16Listing} - México City, MX",
"sec.org17": "{org17Listing} - Montréal, Canada",
"sec.org18": "{org18Listing} - Clark County School District, NV, USA",
"sec.org19": "{org19Listing} - Othello School District, WA, USA",
"sec.org20": "{org20Listing} - Uganda",
"sec.org21": "{org21Listing} - NYC, NY, USA",
"sec.org22": "{org22Listing} - USA",
"sec.org23": "{org23Listing} - FL, USA",
"sec.org24": "{org24Listing} - NYC, NY, USA",
"sec.org25": "{org25Listing} - NYC, NY, USA",
"sec.org26": "{org26Listing} - Nigeria",
"sec.org27": "{org27Listing} - Princeton, NJ, USA",
"sec.org28": "{org28Listing} - Bengaluru, India",
"sec.org29": "{org29Listing} - Johannesburg, South Africa",
"sec.org30": "{org30Listing} - Barcelona, Spain",
"sec.org31": "{org31Listing} - Phnom Penh, Cambodia",
"sec.org32": "{org32Listing} - Nairobi, Kenya",
"sec.org33": "{org33Listing} - Nairobi, Kenya",
"sec.org34": "{org34Listing} - Johannesburg, South Africa",
"sec.org35": "{org35Listing} - Chicago Public Schools, IL, USA",
"sec.org36": "{org36Listing} - Lagos, Nigeria",
"sec.org37": "{org37Listing} - Girona, Spain",
"sec.org38": "{org38Listing} - Halifax, Nova Scotia",
"sec.org39": "{org39Listing} - USA",
"sec.org40": "{org40Listing} - Owerri, Nigeria & Nairobi, Kenya",
"sec.partnerOrgsTitle": "Partner Orgs",
"sec.partnerOrg1": "{partnerOrg1Listing} - Cambridge, UK",
"sec.partnerOrg2": "{partnerOrg2Listing} (Formerly {partnerOrg2FormerName}) - Stanford, CA, USA",
"sec.partnerOrg3": "{partnerOrg3Listing} - IL, USA",
"sec.partnerOrg4": "{partnerOrg4Listing} - New Orleans, LA, USA",
"sec.partnerOrg5": "{partnerOrg5Listing} - Brazil",
"sec.partnerOrg6": "{partnerOrg6Listing} - San Francisco, CA, USA"
}

View file

@ -1,827 +0,0 @@
const FormattedMessage = require('react-intl').FormattedMessage;
const React = require('react');
const FlexRow = require('../../components/flex-row/flex-row.jsx');
const TitleBanner = require('../../components/title-banner/title-banner.jsx');
const render = require('../../lib/render.jsx');
const Page = require('../../components/page/www/page.jsx');
require('./sec.scss');
const EducationCollaborative = () => (
<div className="education-collaborative">
<TitleBanner className="masthead">
<div className="inner">
<FlexRow className="masthead-info uneven">
<div className="long">
<h1 className="title-banner-h1">
<FormattedMessage id="sec.title" />
</h1>
<p className="title-banner-p intro">
<FormattedMessage id="sec.intro" /> | <FormattedMessage id="sec.yearRange" />
</p>
</div>
<img
alt=""
className="title-banner-img short"
src="/images/sec/SEC-top-image.png"
/>
</FlexRow>
</div>
</TitleBanner>
<div className="inner sec-faq">
<section id="projects">
<h3>A</h3>
<p>
<FormattedMessage
id="sec.org1"
values={{
org1Listing: (
<a
href="https://www.ansep.net/"
rel="noopener noreferrer"
target="_blank"
>
Alaska Native Science & Engineering Program
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.org2"
values={{
org2Listing: (
<a
href="https://arhub.org/"
rel="noopener noreferrer"
target="_blank"
>
Arkansas Regional Innovation Hub
</a>
)
}}
/>
</p>
<h3>B</h3>
<p>
<FormattedMessage
id="sec.org3"
values={{
org3Listing: (
<a
href="https://bootuppd.org/"
rel="noopener noreferrer"
target="_blank"
>
BootUp PD
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.org4"
values={{
org4Listing: (
<a
href="https://bridgestoscience.org/"
rel="noopener noreferrer"
target="_blank"
>
Bridges to Science
</a>
)
}}
/>
</p>
<h3>C</h3>
<p>
<FormattedMessage
id="sec.org5"
values={{
org5Listing: (
<a
href="https://www.rcu.msstate.edu/CyberEducation.aspx"
rel="noopener noreferrer"
target="_blank"
>
Center for Cyber Education at Mississippi State University
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.org6"
values={{
org6Listing: (
<a
href="https://www.acaoparceiros.org/"
rel="noopener noreferrer"
target="_blank"
>
Creative Community Learning Brasil Space Action Partners
/ Projeto Social Ação Parceiros
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.org7"
values={{
org7Listing: (
<a
href="https://www.codeclubau.org/"
rel="noopener noreferrer"
target="_blank"
>
Code Club Australia
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.org8"
values={{
org8Listing: (
<a
href="https://www.code-crew.org/"
rel="noopener noreferrer"
target="_blank"
>
CodeCrew
</a>
)
}}
/>
</p>
<h3>D</h3>
<p>
<FormattedMessage
id="sec.org9"
values={{
org9Listing: (
<a
href="https://www.deafkidscode.org/"
rel="noopener noreferrer"
target="_blank"
>
Deaf Kids Code
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.org10"
values={{
org10Listing: (
<a
href="https://www.facebook.com/DeafTechnologyFoundation/"
rel="noopener noreferrer"
target="_blank"
>
Deaf Technology Foundation
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.org11"
values={{
org11Listing: (
<a
href="https://www.digitalharbor.org/"
rel="noopener noreferrer"
target="_blank"
>
Digital Harbor Foundation
</a>
)
}}
/>
</p>
<h3>F</h3>
<p>
<FormattedMessage
id="sec.org12"
values={{
org12Listing: (
<a
href="https://www.uj.ac.za/Pages/default.aspx"
rel="noopener noreferrer"
target="_blank"
>
Faculty of Education Team at University of Johannesburg
</a>
)
}}
/>
</p>
<h3>H</h3>
<p>
<FormattedMessage
id="sec.org13"
values={{
org13Listing: (
<a
href="https://www.husd.us/"
rel="noopener noreferrer"
target="_blank"
>
Hayward Unified School District
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.org14"
values={{
org14Listing: (
<a
href="https://www.humbleisd.net/"
rel="noopener noreferrer"
target="_blank"
>
Humble Independent School District (ISD)
</a>
)
}}
/>
</p>
<h3>I</h3>
<p>
<FormattedMessage
id="sec.org15"
values={{
org15Listing: (
<a
href="https://www.iamthecode.org/"
rel="noopener noreferrer"
target="_blank"
>
iamtheCODE
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.org16"
values={{
org16Listing: (
<a
href="https://www.ilce.edu.mx/"
rel="noopener noreferrer"
target="_blank"
>
ILCE Instituto Latino Americano de la Comunicación Educativa
</a>
)
}}
/>
</p>
<h3>K</h3>
<p>
<FormattedMessage
id="sec.org17"
values={{
org17Listing: (
<a
href="https://kidscodejeunesse.org/"
rel="noopener noreferrer"
target="_blank"
>
Kids Code Jeunesse
</a>
)
}}
/>
</p>
<h3>L</h3>
<p>
<FormattedMessage
id="sec.org18"
values={{
org18Listing: (
<a
href="https://www.lomieheardmagnet.org/"
rel="noopener noreferrer"
target="_blank"
>
Lomie G. Heard Elementary School
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.org19"
values={{
org19Listing: (
<a
href="https://www.othelloschools.org/lutacaga"
rel="noopener noreferrer"
target="_blank"
>
Lutacaga Elementary
</a>
)
}}
/>
</p>
<h3>M</h3>
<p>
<FormattedMessage
id="sec.org20"
values={{
org20Listing: (
<a
href="http://www.makerereinnovationsociety.org/?i=1"
rel="noopener noreferrer"
target="_blank"
>
Makerere Innovation Society
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.org21"
values={{
org21Listing: (
<a
href="https://mouse.org/"
rel="noopener noreferrer"
target="_blank"
>
Mouse
</a>
)
}}
/>
</p>
<h3>N</h3>
<p>
<FormattedMessage
id="sec.org22"
values={{
org22Listing: (
<a
href="https://www.nsbe.org/"
rel="noopener noreferrer"
target="_blank"
>
National Society of Black Engineers
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.org23"
values={{
org23Listing: (
<a
href="https://nefstem.domains.unf.edu/"
rel="noopener noreferrer"
target="_blank"
>
NEFSTEM Center, University of North Florida
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.org24"
values={{
org24Listing: (
<a
href="http://cs4all.nyc/"
rel="noopener noreferrer"
target="_blank"
>
New York City Department of Education - CSforAllNYC
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.org25"
values={{
org25Listing: (
<a
href="https://nysci.org/"
rel="noopener noreferrer"
target="_blank"
>
New York Hall of Science
</a>
)
}}
/>
</p>
<h3>O</h3>
<p>
<FormattedMessage
id="sec.org26"
values={{
org26Listing: (
<a
href="https://www.odysseyedufoundation.org/"
rel="noopener noreferrer"
target="_blank"
>
Odyssey Educational Foundation
</a>
)
}}
/>
</p>
<h3>P</h3>
<p>
<FormattedMessage
id="sec.org27"
values={{
org27Listing: (
<a
href="https://www.playpattern.com/"
rel="noopener noreferrer"
target="_blank"
>
Play Pattern
</a>
)
}}
/>
</p>
<h3>Q</h3>
<p>
<FormattedMessage
id="sec.org28"
values={{
org28Listing: (
<a
href="https://www.questalliance.net/"
rel="noopener noreferrer"
target="_blank"
>
Quest Alliance
</a>
)
}}
/>
</p>
<h3>S</h3>
<p>
<FormattedMessage
id="sec.org29"
values={{
org29Listing: (
<a
href="https://www.schoolnet.org.za/"
rel="noopener noreferrer"
target="_blank"
>
Schoolnet South Africa
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.org30"
values={{
org30Listing: (
<a
href="https://www.sistemathead.com/"
rel="noopener noreferrer"
target="_blank"
>
Sistema THEAD
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.org31"
values={{
org31Listing: (
<a
href="https://www.sistersofcode.org/"
rel="noopener noreferrer"
target="_blank"
>
Sisters of Code
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.org32"
values={{
org32Listing: (
<a
href="https://www.steamlabsafrica.com/"
rel="noopener noreferrer"
target="_blank"
>
STEAMLabs Africa
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.org33"
values={{
org33Listing: (
<a
href="https://stemimpactcenterkenya.org/"
rel="noopener noreferrer"
target="_blank"
>
STEM Impact Center Kenya
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.org34"
values={{
org34Listing: (
<a
href="http://www.streetlightschools.org/"
rel="noopener noreferrer"
target="_blank"
>
Streetlight Schools
</a>
)
}}
/>
</p>
<h3>T</h3>
<p>
<FormattedMessage
id="sec.org35"
values={{
org35Listing: (
<a
href="https://tannerschool.org/"
rel="noopener noreferrer"
target="_blank"
>
Tanner Elementary
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.org36"
values={{
org36Listing: (
<a
href="https://www.teachathonetwork.com/coverpage"
rel="noopener noreferrer"
target="_blank"
>
Teachathon Foundation
</a>
)
}}
/>
</p>
<h3>U</h3>
<p>
<FormattedMessage
id="sec.org37"
values={{
org37Listing: (
<a
href="https://udigital.udg.edu/"
rel="noopener noreferrer"
target="_blank"
>
UdiGitalEdu
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.org38"
values={{
org38Listing: (
<a
href="https://www.digitalmikmaq.com/"
rel="noopener noreferrer"
target="_blank"
>
Ulnooweg - Digital Mi&#39;kmaq
</a>
)
}}
/>
</p>
<h3>W</h3>
<p>
<FormattedMessage
id="sec.org39"
values={{
org39Listing: (
<a
href="https://www.tacc.utexas.edu/epic/weteachcs"
rel="noopener noreferrer"
target="_blank"
>
WeTeach_CS, Center for Cyber Education at University of Texas Austin
</a>
)
}}
/>
</p>
<h3>Y</h3>
<p>
<FormattedMessage
id="sec.org40"
values={{
org40Listing: (
<a
href="http://www.youthfortechnology.org/"
rel="noopener noreferrer"
target="_blank"
>
Youth for Technology Foundation
</a>
)
}}
/>
</p>
</section>
</div>
<TitleBanner className="masthead">
<div className="inner">
<FlexRow className="masthead-info uneven">
<div className="long">
<h1><FormattedMessage id="sec.title" /></h1>
<p className="title-banner-p intro">
<FormattedMessage id="sec.partnerOrgsTitle" /> | <FormattedMessage id="sec.yearRange" />
</p>
</div>
<img
alt=""
className="title-banner-img short"
src="/images/sec/SEC-bottom-image.png"
/>
</FlexRow>
</div>
</TitleBanner>
<div className="inner sec-faq">
<section id="expectations-for-sec">
<p>
<FormattedMessage
id="sec.partnerOrg1"
values={{
partnerOrg1Listing: (
<a
href="https://www.raspberrypi.org/about/"
rel="noopener noreferrer"
target="_blank"
>
Raspberry Pi Foundation
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.partnerOrg2"
values={{
partnerOrg2Listing: (
<a
href="https://dschool.stanford.edu/"
rel="noopener noreferrer"
target="_blank"
>
Stanford d. School
</a>
),
partnerOrg2FormerName: (
'School of Intercultural Computing'
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.partnerOrg3"
values={{
partnerOrg3Listing: (
<a
href="http://cps.edu/cs"
rel="noopener noreferrer"
target="_blank"
>
Chicago Public Schools
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.partnerOrg4"
values={{
partnerOrg4Listing: (
<a
href="https://stemnola.com/"
rel="noopener noreferrer"
target="_blank"
>
STEM Nola
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.partnerOrg5"
values={{
partnerOrg5Listing: (
<a
href="https://www.aprendizagemcriativa.org/pt-br"
rel="noopener noreferrer"
target="_blank"
>
Brazilian Creative Learning Network (BCLN)
</a>
)
}}
/>
</p>
<p>
<FormattedMessage
id="sec.partnerOrg6"
values={{
partnerOrg6Listing: (
<a
href="https://www.exploratorium.edu/tinkering/"
rel="noopener noreferrer"
target="_blank"
>
The Tinkering Studio
</a>
)
}}
/>
</p>
</section>
</div>
<section className="band">
<div className="inner">
<h4 className="applyBanner"><FormattedMessage id="sec.applyBanner" /></h4>
</div>
</section>
</div>
);
render(<Page><EducationCollaborative /></Page>, document.getElementById('app'));

View file

@ -1,124 +0,0 @@
@import "../../colors";
@import "../../frameless";
$sec-spot: $ui-blue;
#view {
padding: 0;
}
.education-collaborative {
.title-banner {
&.masthead {
background-color: $sec-spot;
padding: 50px 0 0 0;
margin: 0;
.masthead-info {
align-items: center;
justify-content: space-between;
@media #{$intermediate} {
justify-content: end;
}
.long {
padding-bottom: 2rem;
}
h1 {
margin: 0 0 1rem 0;
text-align: left;
color: $ui-white;
}
p {
margin: 0;
text-align: left;
color: $ui-white;
max-width: $cols6;
font-size: 1.65em;
}
.title-banner-button {
background-color: $ui-white;
color: $ui-blue;
font-size: 1rem;
padding: 0.75rem 1rem;
img {
margin-right: 1rem;
height: 1.2rem;
vertical-align: middle;
}
a {
color: $ui-white;
}
span {
vertical-align: middle;
}
}
.title-banner-img {
width: $cols4;
}
.sec-apply-buttons {
margin-top: 2rem;
li {
border: 2px solid $ui-white;
padding: 16px;
font-size: 16px;
font-weight: 500;
}
}
}
}
}
section {
margin-bottom: 3rem;
p, ul {
max-width: $cols8;
}
}
.band {
background: $ui-light-primary;
padding: 0.5rem 0;
margin-bottom: 0;
h4.applyBanner {
color: $ui-blue;
}
}
.sec-faq {
margin-top: 3rem;
dl {
dt {
margin-bottom: .25rem;
font-size: 1.1rem;
}
dd {
margin-bottom: 1.25rem;
margin-left: 0;
max-width: $cols8;
text-align: left;
}
}
}
}
@media #{$intermediate, $medium, $small} {
#view {
text-align: left;
}
}

View file

@ -7,6 +7,7 @@ const webpack = require('webpack');
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
const CopyWebpackPlugin = require('copy-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
// PostCss
const autoprefixer = require('autoprefixer');
@ -72,7 +73,8 @@ module.exports = {
mode: process.env.NODE_ENV === 'production' ? 'production' : 'development',
output: {
path: path.resolve(__dirname, 'build'),
filename: 'js/[name].bundle.js'
filename: 'js/[name].bundle.js',
publicPath: '/'
},
resolve: {
symlinks: false // Fix local development with `npm link` packages
@ -92,7 +94,7 @@ module.exports = {
{
test: /\.scss$/,
use: [
'style-loader',
MiniCssExtractPlugin.loader,
'css-loader',
{
loader: 'postcss-loader',
@ -108,7 +110,7 @@ module.exports = {
{
test: /\.css$/,
use: [
'style-loader',
MiniCssExtractPlugin.loader,
'css-loader',
{
loader: 'postcss-loader',
@ -142,6 +144,7 @@ module.exports = {
}
},
plugins: [
new MiniCssExtractPlugin(),
new VersionPlugin({length: 5})
].concat(pageRoutes
.map(function (route) {