Upload folder using huggingface_hub
Browse filesThis view is limited to 50 files because it contains too many changes. See raw diff
- .all-contributorsrc +1301 -0
- .circleci/config.yml +424 -0
- .codesandbox/environment.json +3 -0
- .codesandbox/features.json +7 -0
- .codesandbox/tasks.json +67 -0
- .devcontainer/Dockerfile +3 -0
- .devcontainer/devcontainer.json +6 -0
- .dockerignore +30 -0
- .editorconfig +4 -0
- .env +6 -0
- .eslintignore +8 -0
- .eslintrc +121 -0
- .flowconfig +37 -0
- .gitattributes +69 -35
- .github/FUNDING.yml +2 -0
- .github/ISSUE_TEMPLATE/BUG.md +41 -0
- .github/ISSUE_TEMPLATE/FEATURE.md +10 -0
- .github/ISSUE_TEMPLATE/config.yml +5 -0
- .github/PULL_REQUEST_TEMPLATE.md +41 -0
- .github/codeql/codeql-config.yml +55 -0
- .github/workflows/codeql.yml +83 -0
- .gitignore +35 -0
- .graphqlconfig.yml +8 -0
- .imgbotconfig +6 -0
- .nvmrc +1 -0
- .prettierignore +20 -0
- .prettierrc.js +6 -0
- .sentryclirc +3 -0
- .vscode/settings.json +14 -0
- .yarnclean +9 -0
- .yarnclean.ci +44 -0
- .yarnrc +1 -0
- CODE_OF_CONDUCT.md +128 -0
- CONTRIBUTING.md +128 -0
- Dockerfile +4 -0
- Gulpfile.js +30 -0
- LICENSE +18 -0
- README.md +296 -0
- SECURITY.md +9 -0
- babel.config.js +13 -0
- catalog-info.yaml +21 -0
- contributor-docs/adding-template.md +253 -0
- docker/Dockerfile +10 -0
- docker/Dockerfile.integrations +9 -0
- docker/Dockerfile.prod +15 -0
- docker/Dockerfile.test +18 -0
- docker/run-docker.sh +3 -0
- env.sh +25 -0
- lerna.json +6 -0
- package.json +121 -0
.all-contributorsrc
ADDED
|
@@ -0,0 +1,1301 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"projectName": "codesandbox-client",
|
| 3 |
+
"projectOwner": "codesandbox",
|
| 4 |
+
"repoType": "github",
|
| 5 |
+
"repoHost": "https://github.com",
|
| 6 |
+
"files": ["README.md"],
|
| 7 |
+
"imageSize": 100,
|
| 8 |
+
"commit": false,
|
| 9 |
+
"contributors": [
|
| 10 |
+
{
|
| 11 |
+
"login": "CompuIves",
|
| 12 |
+
"name": "Ives van Hoorne",
|
| 13 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/587016?v=3",
|
| 14 |
+
"profile": "http://ivesvh.com",
|
| 15 |
+
"contributions": [
|
| 16 |
+
"question",
|
| 17 |
+
"blog",
|
| 18 |
+
"bug",
|
| 19 |
+
"code",
|
| 20 |
+
"design",
|
| 21 |
+
"doc",
|
| 22 |
+
"example",
|
| 23 |
+
"infra",
|
| 24 |
+
"review",
|
| 25 |
+
"test",
|
| 26 |
+
"tool"
|
| 27 |
+
]
|
| 28 |
+
},
|
| 29 |
+
{
|
| 30 |
+
"login": "donavon",
|
| 31 |
+
"name": "Donavon West",
|
| 32 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/887639?v=3",
|
| 33 |
+
"profile": "http://donavon.com",
|
| 34 |
+
"contributions": ["code"]
|
| 35 |
+
},
|
| 36 |
+
{
|
| 37 |
+
"login": "vueu",
|
| 38 |
+
"name": "Jeff Allen",
|
| 39 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/5266810?v=3",
|
| 40 |
+
"profile": "http://www.jeffallen.io/",
|
| 41 |
+
"contributions": ["code"]
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"login": "bengummer",
|
| 45 |
+
"name": "Ben Gummer",
|
| 46 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/1089897?v=3",
|
| 47 |
+
"profile": "https://github.com/bengummer",
|
| 48 |
+
"contributions": ["code"]
|
| 49 |
+
},
|
| 50 |
+
{
|
| 51 |
+
"login": "faceyspacey",
|
| 52 |
+
"name": "James Gillmore",
|
| 53 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/154732?v=3",
|
| 54 |
+
"profile": "http://twitter.com/faceyspacey",
|
| 55 |
+
"contributions": ["code", "bug"]
|
| 56 |
+
},
|
| 57 |
+
{
|
| 58 |
+
"login": "viankakrisna",
|
| 59 |
+
"name": "Ade Viankakrisna Fadlil",
|
| 60 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/9636410?v=4",
|
| 61 |
+
"profile": "https://github.com/viankakrisna",
|
| 62 |
+
"contributions": ["code"]
|
| 63 |
+
},
|
| 64 |
+
{
|
| 65 |
+
"login": "Tushkiz",
|
| 66 |
+
"name": "Tushar Sonawane",
|
| 67 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/1854763?v=4",
|
| 68 |
+
"profile": "https://twitter.com/tushkiz",
|
| 69 |
+
"contributions": ["question", "code", "doc", "ideas"]
|
| 70 |
+
},
|
| 71 |
+
{
|
| 72 |
+
"login": "johann-sonntagbauer",
|
| 73 |
+
"name": "Johann Hubert Sonntagbauer",
|
| 74 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/1239401?v=4",
|
| 75 |
+
"profile": "https://github.com/johann-sonntagbauer",
|
| 76 |
+
"contributions": ["bug", "code"]
|
| 77 |
+
},
|
| 78 |
+
{
|
| 79 |
+
"login": "jseminck",
|
| 80 |
+
"name": "Joachim Seminck",
|
| 81 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/9586897?v=4",
|
| 82 |
+
"profile": "https://github.com/jseminck",
|
| 83 |
+
"contributions": ["code"]
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"login": "chakrihacker",
|
| 87 |
+
"name": "Subramanya Chakravarthy",
|
| 88 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/5210019?v=4",
|
| 89 |
+
"profile": "http://chakrihacker.github.io",
|
| 90 |
+
"contributions": ["code"]
|
| 91 |
+
},
|
| 92 |
+
{
|
| 93 |
+
"login": "robbyoconnor",
|
| 94 |
+
"name": "Robert (Robby) O'Connor",
|
| 95 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/23088?v=4",
|
| 96 |
+
"profile": "http://robby.oconnor.ninja",
|
| 97 |
+
"contributions": ["infra"]
|
| 98 |
+
},
|
| 99 |
+
{
|
| 100 |
+
"login": "lbogdan",
|
| 101 |
+
"name": "Bogdan Luca",
|
| 102 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/2083930?v=4",
|
| 103 |
+
"profile": "https://github.com/lbogdan",
|
| 104 |
+
"contributions": ["bug", "code"]
|
| 105 |
+
},
|
| 106 |
+
{
|
| 107 |
+
"login": "bogas04",
|
| 108 |
+
"name": "Divjot Singh",
|
| 109 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/6177621?v=4",
|
| 110 |
+
"profile": "http://bogas04.github.io",
|
| 111 |
+
"contributions": ["code"]
|
| 112 |
+
},
|
| 113 |
+
{
|
| 114 |
+
"login": "jsonnull",
|
| 115 |
+
"name": "Jason Nall",
|
| 116 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/5249539?v=4",
|
| 117 |
+
"profile": "http://www.jsonnull.com",
|
| 118 |
+
"contributions": ["code"]
|
| 119 |
+
},
|
| 120 |
+
{
|
| 121 |
+
"login": "elrumordelaluz",
|
| 122 |
+
"name": "Lionel",
|
| 123 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/784056?v=4",
|
| 124 |
+
"profile": "https://elrumordelaluz.com",
|
| 125 |
+
"contributions": ["code", "design"]
|
| 126 |
+
},
|
| 127 |
+
{
|
| 128 |
+
"login": "brumm",
|
| 129 |
+
"name": "Philipp Brumm",
|
| 130 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/170500?v=4",
|
| 131 |
+
"profile": "https://github.com/brumm",
|
| 132 |
+
"contributions": ["code"]
|
| 133 |
+
},
|
| 134 |
+
{
|
| 135 |
+
"login": "ValentinH",
|
| 136 |
+
"name": "Valentin Hervieu",
|
| 137 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/2678610?v=4",
|
| 138 |
+
"profile": "http://valentin-hervieu.fr",
|
| 139 |
+
"contributions": ["code", "bug"]
|
| 140 |
+
},
|
| 141 |
+
{
|
| 142 |
+
"login": "Anenth",
|
| 143 |
+
"name": "Anenth",
|
| 144 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/1499218?v=4",
|
| 145 |
+
"profile": "http://anenth.js.org",
|
| 146 |
+
"contributions": ["code", "design", "ideas"]
|
| 147 |
+
},
|
| 148 |
+
{
|
| 149 |
+
"login": "donysukardi",
|
| 150 |
+
"name": "Dony Sukardi",
|
| 151 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/410792?v=4",
|
| 152 |
+
"profile": "http://dsds.io",
|
| 153 |
+
"contributions": ["bug", "code"]
|
| 154 |
+
},
|
| 155 |
+
{
|
| 156 |
+
"login": "duivvv",
|
| 157 |
+
"name": "Geoffrey Dhuyvetters",
|
| 158 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/89046?v=4",
|
| 159 |
+
"profile": "https://github.com/duivvv",
|
| 160 |
+
"contributions": ["design", "code"]
|
| 161 |
+
},
|
| 162 |
+
{
|
| 163 |
+
"login": "nagamalli9999",
|
| 164 |
+
"name": "Eswar Yaganti",
|
| 165 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/3381746?v=4",
|
| 166 |
+
"profile": "http://nyaganti.com",
|
| 167 |
+
"contributions": ["code", "infra"]
|
| 168 |
+
},
|
| 169 |
+
{
|
| 170 |
+
"login": "tansongyang",
|
| 171 |
+
"name": "Frank Tan",
|
| 172 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/9488719?v=4",
|
| 173 |
+
"profile": "https://github.com/tansongyang",
|
| 174 |
+
"contributions": ["code"]
|
| 175 |
+
},
|
| 176 |
+
{
|
| 177 |
+
"login": "BilalBudhani",
|
| 178 |
+
"name": "Bilal Budhani",
|
| 179 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/1650995?v=4",
|
| 180 |
+
"profile": "https://bilalbudhani.com",
|
| 181 |
+
"contributions": ["code"]
|
| 182 |
+
},
|
| 183 |
+
{
|
| 184 |
+
"login": "JulianMayorga",
|
| 185 |
+
"name": "El Juli",
|
| 186 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/843342?v=4",
|
| 187 |
+
"profile": "https://github.com/JulianMayorga",
|
| 188 |
+
"contributions": ["code"]
|
| 189 |
+
},
|
| 190 |
+
{
|
| 191 |
+
"login": "arthurdenner",
|
| 192 |
+
"name": "Arthur Denner",
|
| 193 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/13774309?v=4",
|
| 194 |
+
"profile": "https://github.com/arthurdenner",
|
| 195 |
+
"contributions": ["code", "doc"]
|
| 196 |
+
},
|
| 197 |
+
{
|
| 198 |
+
"login": "radi-cho",
|
| 199 |
+
"name": "Radi Cho",
|
| 200 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/12954909?v=4",
|
| 201 |
+
"profile": "https://github.com/RSG-Group",
|
| 202 |
+
"contributions": ["bug", "code", "ideas"]
|
| 203 |
+
},
|
| 204 |
+
{
|
| 205 |
+
"login": "xyc",
|
| 206 |
+
"name": "Xiaoyi Chen",
|
| 207 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/679275?v=4",
|
| 208 |
+
"profile": "https://twitter.com/chxy",
|
| 209 |
+
"contributions": ["code"]
|
| 210 |
+
},
|
| 211 |
+
{
|
| 212 |
+
"login": "gautamarora",
|
| 213 |
+
"name": "Gautam Arora",
|
| 214 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/1215971?v=4",
|
| 215 |
+
"profile": "https://twitter.com/gautam",
|
| 216 |
+
"contributions": ["code", "ideas"]
|
| 217 |
+
},
|
| 218 |
+
{
|
| 219 |
+
"login": "Haroenv",
|
| 220 |
+
"name": "Haroen Viaene",
|
| 221 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/6270048?v=4",
|
| 222 |
+
"profile": "https://twitter.com/haroenv",
|
| 223 |
+
"contributions": ["code", "design"]
|
| 224 |
+
},
|
| 225 |
+
{
|
| 226 |
+
"login": "nicknisi",
|
| 227 |
+
"name": "Nick Nisi",
|
| 228 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/293805?v=4",
|
| 229 |
+
"profile": "https://nicknisi.com",
|
| 230 |
+
"contributions": ["code"]
|
| 231 |
+
},
|
| 232 |
+
{
|
| 233 |
+
"login": "Jakhotiya",
|
| 234 |
+
"name": "Abhishek Jakhotiya",
|
| 235 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/9327315?v=4",
|
| 236 |
+
"profile": "https://github.com/Jakhotiya",
|
| 237 |
+
"contributions": ["code", "bug"]
|
| 238 |
+
},
|
| 239 |
+
{
|
| 240 |
+
"login": "tomkuehl",
|
| 241 |
+
"name": "Tom Kühl",
|
| 242 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/14299145?v=4",
|
| 243 |
+
"profile": "http://twitter.com/tomkuehl_",
|
| 244 |
+
"contributions": ["code"]
|
| 245 |
+
},
|
| 246 |
+
{
|
| 247 |
+
"login": "br1anchen",
|
| 248 |
+
"name": "br1anchen",
|
| 249 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/1086461?v=4",
|
| 250 |
+
"profile": "https://github.com/br1anchen",
|
| 251 |
+
"contributions": ["code"]
|
| 252 |
+
},
|
| 253 |
+
{
|
| 254 |
+
"login": "Arthelon",
|
| 255 |
+
"name": "Daniel Hsing",
|
| 256 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/11952174?v=4",
|
| 257 |
+
"profile": "https://arthelon.github.io",
|
| 258 |
+
"contributions": ["code"]
|
| 259 |
+
},
|
| 260 |
+
{
|
| 261 |
+
"login": "maciej-ka",
|
| 262 |
+
"name": "Maciej Kasprzyk",
|
| 263 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/5403694?v=4",
|
| 264 |
+
"profile": "https://twitter.com/_maciejka",
|
| 265 |
+
"contributions": ["code"]
|
| 266 |
+
},
|
| 267 |
+
{
|
| 268 |
+
"login": "robertheessels",
|
| 269 |
+
"name": "Robert Heessels",
|
| 270 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/596727?v=4",
|
| 271 |
+
"profile": "https://github.com/robertheessels",
|
| 272 |
+
"contributions": ["doc"]
|
| 273 |
+
},
|
| 274 |
+
{
|
| 275 |
+
"login": "ryanpcmcquen",
|
| 276 |
+
"name": "Ryan P. C. McQuen",
|
| 277 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/772937?v=4",
|
| 278 |
+
"profile": "https://ryanpcmcquen.org",
|
| 279 |
+
"contributions": ["code"]
|
| 280 |
+
},
|
| 281 |
+
{
|
| 282 |
+
"login": "ipatch",
|
| 283 |
+
"name": "Chris",
|
| 284 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/613805?v=4",
|
| 285 |
+
"profile": "http://chrisrjones.com",
|
| 286 |
+
"contributions": ["code"]
|
| 287 |
+
},
|
| 288 |
+
{
|
| 289 |
+
"login": "drewsmith",
|
| 290 |
+
"name": "Drew Smith",
|
| 291 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/595469?v=4",
|
| 292 |
+
"profile": "https://github.com/drewsmith",
|
| 293 |
+
"contributions": ["code"]
|
| 294 |
+
},
|
| 295 |
+
{
|
| 296 |
+
"login": "coderberry",
|
| 297 |
+
"name": "Eric Berry",
|
| 298 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/12481?v=4",
|
| 299 |
+
"profile": "https://codefund.app",
|
| 300 |
+
"contributions": ["code"]
|
| 301 |
+
},
|
| 302 |
+
{
|
| 303 |
+
"login": "Hum4n01d",
|
| 304 |
+
"name": "Hum4n01d",
|
| 305 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/17228477?v=4",
|
| 306 |
+
"profile": "https://www.hum4n01d.me",
|
| 307 |
+
"contributions": ["code"]
|
| 308 |
+
},
|
| 309 |
+
{
|
| 310 |
+
"login": "malwilley",
|
| 311 |
+
"name": "Malachi Willey",
|
| 312 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/10888943?v=4",
|
| 313 |
+
"profile": "https://github.com/malwilley",
|
| 314 |
+
"contributions": ["code"]
|
| 315 |
+
},
|
| 316 |
+
{
|
| 317 |
+
"login": "mweststrate",
|
| 318 |
+
"name": "Michel Weststrate",
|
| 319 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/1820292?v=4",
|
| 320 |
+
"profile": "https://twitter.com/mweststrate",
|
| 321 |
+
"contributions": ["code"]
|
| 322 |
+
},
|
| 323 |
+
{
|
| 324 |
+
"login": "kof",
|
| 325 |
+
"name": "Oleg",
|
| 326 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/52824?v=4",
|
| 327 |
+
"profile": "https://kof.github.io",
|
| 328 |
+
"contributions": ["code"]
|
| 329 |
+
},
|
| 330 |
+
{
|
| 331 |
+
"login": "pshrmn",
|
| 332 |
+
"name": "Paul Sherman",
|
| 333 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/1127037?v=4",
|
| 334 |
+
"profile": "https://www.pshrmn.com",
|
| 335 |
+
"contributions": ["bug", "code"]
|
| 336 |
+
},
|
| 337 |
+
{
|
| 338 |
+
"login": "ro-savage",
|
| 339 |
+
"name": "Ro Savage",
|
| 340 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/9244507?v=4",
|
| 341 |
+
"profile": "https://github.com/ro-savage",
|
| 342 |
+
"contributions": ["code"]
|
| 343 |
+
},
|
| 344 |
+
{
|
| 345 |
+
"login": "samdenty",
|
| 346 |
+
"name": "Sam Denty",
|
| 347 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/13242392?v=4",
|
| 348 |
+
"profile": "https://samdd.me",
|
| 349 |
+
"contributions": ["code"]
|
| 350 |
+
},
|
| 351 |
+
{
|
| 352 |
+
"login": "zephraph",
|
| 353 |
+
"name": "Zephraph",
|
| 354 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/3087225?v=4",
|
| 355 |
+
"profile": "https://github.com/zephraph",
|
| 356 |
+
"contributions": ["code"]
|
| 357 |
+
},
|
| 358 |
+
{
|
| 359 |
+
"login": "mdxprograms",
|
| 360 |
+
"name": "Josh Waller",
|
| 361 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/1900735?v=4",
|
| 362 |
+
"profile": "https://joshwaller.dev",
|
| 363 |
+
"contributions": ["bug", "code", "doc"]
|
| 364 |
+
},
|
| 365 |
+
{
|
| 366 |
+
"login": "joeynimu",
|
| 367 |
+
"name": "Joe Ng'ethe",
|
| 368 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/1195863?v=4",
|
| 369 |
+
"profile": "http://joey.co.ke",
|
| 370 |
+
"contributions": ["code"]
|
| 371 |
+
},
|
| 372 |
+
{
|
| 373 |
+
"login": "bitblitter",
|
| 374 |
+
"name": "Carles Codony",
|
| 375 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/576935?v=4",
|
| 376 |
+
"profile": "https://github.com/bitblitter",
|
| 377 |
+
"contributions": ["code"]
|
| 378 |
+
},
|
| 379 |
+
{
|
| 380 |
+
"login": "FDiskas",
|
| 381 |
+
"name": "Vytenis",
|
| 382 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/468006?v=4",
|
| 383 |
+
"profile": "https://github.com/FDiskas",
|
| 384 |
+
"contributions": ["code"]
|
| 385 |
+
},
|
| 386 |
+
{
|
| 387 |
+
"login": "mdugue",
|
| 388 |
+
"name": "Manuel Dugué",
|
| 389 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/894149?v=4",
|
| 390 |
+
"profile": "http://manueldugue.de",
|
| 391 |
+
"contributions": ["bug", "code"]
|
| 392 |
+
},
|
| 393 |
+
{
|
| 394 |
+
"login": "DemianD",
|
| 395 |
+
"name": "Demian Dekoninck",
|
| 396 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/5346497?v=4",
|
| 397 |
+
"profile": "https://dem.be",
|
| 398 |
+
"contributions": ["code"]
|
| 399 |
+
},
|
| 400 |
+
{
|
| 401 |
+
"login": "Saeris",
|
| 402 |
+
"name": "Drake Costa",
|
| 403 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/3144549?v=4",
|
| 404 |
+
"profile": "http://www.saeris.io",
|
| 405 |
+
"contributions": ["code"]
|
| 406 |
+
},
|
| 407 |
+
{
|
| 408 |
+
"login": "mstijak",
|
| 409 |
+
"name": "Marko Stijak",
|
| 410 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/433394?v=4",
|
| 411 |
+
"profile": "https://cxjs.io/",
|
| 412 |
+
"contributions": ["code"]
|
| 413 |
+
},
|
| 414 |
+
{
|
| 415 |
+
"login": "Komar0ff",
|
| 416 |
+
"name": "Ilya",
|
| 417 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/10588170?v=4",
|
| 418 |
+
"profile": "https://twitter.com/ilya_komar0ff",
|
| 419 |
+
"contributions": ["question", "ideas"]
|
| 420 |
+
},
|
| 421 |
+
{
|
| 422 |
+
"login": "emersonlaurentino",
|
| 423 |
+
"name": "Emerson Laurentino",
|
| 424 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/10627086?v=4",
|
| 425 |
+
"profile": "https://twitter.com/elaurent_",
|
| 426 |
+
"contributions": ["code", "bug"]
|
| 427 |
+
},
|
| 428 |
+
{
|
| 429 |
+
"login": "lifeiscontent",
|
| 430 |
+
"name": "Aaron Reisman",
|
| 431 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/180963?v=4",
|
| 432 |
+
"profile": "https://github.com/lifeiscontent",
|
| 433 |
+
"contributions": ["bug", "code", "platform"]
|
| 434 |
+
},
|
| 435 |
+
{
|
| 436 |
+
"login": "colshacol",
|
| 437 |
+
"name": "Colton Colcleasure",
|
| 438 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/19484365?v=4",
|
| 439 |
+
"profile": "https://github.com/colshacol",
|
| 440 |
+
"contributions": ["code", "bug"]
|
| 441 |
+
},
|
| 442 |
+
{
|
| 443 |
+
"login": "PJWalker",
|
| 444 |
+
"name": "PJ Walker",
|
| 445 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/497242?v=4",
|
| 446 |
+
"profile": "https://github.com/PJWalker",
|
| 447 |
+
"contributions": ["bug", "code"]
|
| 448 |
+
},
|
| 449 |
+
{
|
| 450 |
+
"login": "satyarohith",
|
| 451 |
+
"name": "Satya Rohith",
|
| 452 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/29819102?v=4",
|
| 453 |
+
"profile": "https://satya.tech",
|
| 454 |
+
"contributions": ["code", "doc"]
|
| 455 |
+
},
|
| 456 |
+
{
|
| 457 |
+
"login": "melanieseltzer",
|
| 458 |
+
"name": "Melanie Seltzer",
|
| 459 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/17421347?v=4",
|
| 460 |
+
"profile": "https://www.melanieseltzer.io/",
|
| 461 |
+
"contributions": ["code"]
|
| 462 |
+
},
|
| 463 |
+
{
|
| 464 |
+
"login": "ZYSzys",
|
| 465 |
+
"name": "ZYSzys",
|
| 466 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/23313266?v=4",
|
| 467 |
+
"profile": "http://zyszys.top",
|
| 468 |
+
"contributions": ["doc"]
|
| 469 |
+
},
|
| 470 |
+
{
|
| 471 |
+
"login": "SaraVieira",
|
| 472 |
+
"name": "Sara Vieira",
|
| 473 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/1051509?v=4",
|
| 474 |
+
"profile": "http://iamsaravieira.com",
|
| 475 |
+
"contributions": ["code", "design", "ideas"]
|
| 476 |
+
},
|
| 477 |
+
{
|
| 478 |
+
"login": "francoischalifour",
|
| 479 |
+
"name": "François Chalifour",
|
| 480 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/6137112?v=4",
|
| 481 |
+
"profile": "https://francoischalifour.com",
|
| 482 |
+
"contributions": ["bug", "code"]
|
| 483 |
+
},
|
| 484 |
+
{
|
| 485 |
+
"login": "abdullahtariq1171",
|
| 486 |
+
"name": "Abdullah",
|
| 487 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/5623766?v=4",
|
| 488 |
+
"profile": "https://github.com/abdullahtariq1171",
|
| 489 |
+
"contributions": ["code", "design"]
|
| 490 |
+
},
|
| 491 |
+
{
|
| 492 |
+
"login": "JonShort",
|
| 493 |
+
"name": "Jon Short",
|
| 494 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/21317379?v=4",
|
| 495 |
+
"profile": "https://jonshort.me/",
|
| 496 |
+
"contributions": ["code"]
|
| 497 |
+
},
|
| 498 |
+
{
|
| 499 |
+
"login": "dv297",
|
| 500 |
+
"name": "Daniel Vu",
|
| 501 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/5365325?v=4",
|
| 502 |
+
"profile": "https://twitter.com/dvv297",
|
| 503 |
+
"contributions": ["code"]
|
| 504 |
+
},
|
| 505 |
+
{
|
| 506 |
+
"login": "vivek12345",
|
| 507 |
+
"name": "Vivek Nayyar",
|
| 508 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/4931048?v=4",
|
| 509 |
+
"profile": "https://www.viveknayyar.in/",
|
| 510 |
+
"contributions": ["code"]
|
| 511 |
+
},
|
| 512 |
+
{
|
| 513 |
+
"login": "bobziroll",
|
| 514 |
+
"name": "Bob Ziroll",
|
| 515 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/6244647?v=4",
|
| 516 |
+
"profile": "https://github.com/bobziroll",
|
| 517 |
+
"contributions": ["doc"]
|
| 518 |
+
},
|
| 519 |
+
{
|
| 520 |
+
"login": "manniL",
|
| 521 |
+
"name": "Alexander Lichter",
|
| 522 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/640208?v=4",
|
| 523 |
+
"profile": "https://blog.lichter.io",
|
| 524 |
+
"contributions": ["code"]
|
| 525 |
+
},
|
| 526 |
+
{
|
| 527 |
+
"login": "chiamaka",
|
| 528 |
+
"name": "Chiamaka Nwolisa",
|
| 529 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/2737103?v=4",
|
| 530 |
+
"profile": "https://www.chiamaka.xyz/",
|
| 531 |
+
"contributions": ["code"]
|
| 532 |
+
},
|
| 533 |
+
{
|
| 534 |
+
"login": "shreeve",
|
| 535 |
+
"name": "Steve Shreeve",
|
| 536 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/142875?s=460&v=4",
|
| 537 |
+
"profile": "https://github.com/shreeve",
|
| 538 |
+
"contributions": ["code"]
|
| 539 |
+
},
|
| 540 |
+
{
|
| 541 |
+
"login": "rowild",
|
| 542 |
+
"name": "Robert Wildling",
|
| 543 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/213803?v=4",
|
| 544 |
+
"profile": "https://github.com/rowild",
|
| 545 |
+
"contributions": ["code"]
|
| 546 |
+
},
|
| 547 |
+
{
|
| 548 |
+
"login": "Noviny",
|
| 549 |
+
"name": "Ben Conolly",
|
| 550 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/15622106?v=4",
|
| 551 |
+
"profile": "https://github.com/Noviny",
|
| 552 |
+
"contributions": ["code"]
|
| 553 |
+
},
|
| 554 |
+
{
|
| 555 |
+
"login": "wuweiweiwu",
|
| 556 |
+
"name": "Wei-Wei Wu",
|
| 557 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/35270620?v=4",
|
| 558 |
+
"profile": "https://twitter.com/wuweiweiwu",
|
| 559 |
+
"contributions": ["code"]
|
| 560 |
+
},
|
| 561 |
+
{
|
| 562 |
+
"login": "alexvcasillas",
|
| 563 |
+
"name": "Alex Casillas",
|
| 564 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/9496960?v=4",
|
| 565 |
+
"profile": "https://www.alexvcasillas.com",
|
| 566 |
+
"contributions": ["code"]
|
| 567 |
+
},
|
| 568 |
+
{
|
| 569 |
+
"login": "existentialism",
|
| 570 |
+
"name": "Brian Ng",
|
| 571 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/56288?v=4",
|
| 572 |
+
"profile": "https://brian.ng",
|
| 573 |
+
"contributions": ["code"]
|
| 574 |
+
},
|
| 575 |
+
{
|
| 576 |
+
"login": "mike-north",
|
| 577 |
+
"name": "Mike North",
|
| 578 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/558005?v=4",
|
| 579 |
+
"profile": "https://mike.works",
|
| 580 |
+
"contributions": ["code"]
|
| 581 |
+
},
|
| 582 |
+
{
|
| 583 |
+
"login": "oroce",
|
| 584 |
+
"name": "Róbert Oroszi",
|
| 585 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/462848?v=4",
|
| 586 |
+
"profile": "https://github.com/oroce",
|
| 587 |
+
"contributions": ["code"]
|
| 588 |
+
},
|
| 589 |
+
{
|
| 590 |
+
"login": "afontcu",
|
| 591 |
+
"name": "Adrià Fontcuberta",
|
| 592 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/9197791?v=4",
|
| 593 |
+
"profile": "https://github.com/afontcu",
|
| 594 |
+
"contributions": ["code"]
|
| 595 |
+
},
|
| 596 |
+
{
|
| 597 |
+
"login": "aadsm",
|
| 598 |
+
"name": "António Afonso",
|
| 599 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/78122?v=4",
|
| 600 |
+
"profile": "http://www.aadsm.net",
|
| 601 |
+
"contributions": ["code"]
|
| 602 |
+
},
|
| 603 |
+
{
|
| 604 |
+
"login": "sapegin",
|
| 605 |
+
"name": "Artem Sapegin",
|
| 606 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/70067?v=4",
|
| 607 |
+
"profile": "http://sapegin.me",
|
| 608 |
+
"contributions": ["code"]
|
| 609 |
+
},
|
| 610 |
+
{
|
| 611 |
+
"login": "bcbrian",
|
| 612 |
+
"name": "Brian Bartholomew",
|
| 613 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/6721622?v=4",
|
| 614 |
+
"profile": "http://bcbrian.com",
|
| 615 |
+
"contributions": ["code"]
|
| 616 |
+
},
|
| 617 |
+
{
|
| 618 |
+
"login": "christianalfoni",
|
| 619 |
+
"name": "Christian Alfoni",
|
| 620 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/3956929?v=4",
|
| 621 |
+
"profile": "http://www.christianalfoni.com",
|
| 622 |
+
"contributions": ["code"]
|
| 623 |
+
},
|
| 624 |
+
{
|
| 625 |
+
"login": "singingwolfboy",
|
| 626 |
+
"name": "David Baumgold",
|
| 627 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/132355?v=4",
|
| 628 |
+
"profile": "http://davidbaumgold.com",
|
| 629 |
+
"contributions": ["code"]
|
| 630 |
+
},
|
| 631 |
+
{
|
| 632 |
+
"login": "evgenyrodionov",
|
| 633 |
+
"name": "Evgeny Rodionov",
|
| 634 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/775692?v=4",
|
| 635 |
+
"profile": "https://erodionov.ru",
|
| 636 |
+
"contributions": ["code"]
|
| 637 |
+
},
|
| 638 |
+
{
|
| 639 |
+
"login": "fathyb",
|
| 640 |
+
"name": "Fathy Boundjadj",
|
| 641 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/5746414?v=4",
|
| 642 |
+
"profile": "https://github.com/fathyb",
|
| 643 |
+
"contributions": ["code"]
|
| 644 |
+
},
|
| 645 |
+
{
|
| 646 |
+
"login": "frontsideair",
|
| 647 |
+
"name": "Fatih Altinok",
|
| 648 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/868283?v=4",
|
| 649 |
+
"profile": "https://6nok.org",
|
| 650 |
+
"contributions": ["code"]
|
| 651 |
+
},
|
| 652 |
+
{
|
| 653 |
+
"login": "grant",
|
| 654 |
+
"name": "Grant Timmerman",
|
| 655 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/744973?v=4",
|
| 656 |
+
"profile": "http://grant.cm",
|
| 657 |
+
"contributions": ["code"]
|
| 658 |
+
},
|
| 659 |
+
{
|
| 660 |
+
"login": "jamesplease",
|
| 661 |
+
"name": "James",
|
| 662 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/2322305?v=4",
|
| 663 |
+
"profile": "https://twitter.com/jmeaspls",
|
| 664 |
+
"contributions": ["code"]
|
| 665 |
+
},
|
| 666 |
+
{
|
| 667 |
+
"login": "Kelson448",
|
| 668 |
+
"name": "Kelson448",
|
| 669 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/18242829?v=4",
|
| 670 |
+
"profile": "https://github.com/Kelson448",
|
| 671 |
+
"contributions": ["code"]
|
| 672 |
+
},
|
| 673 |
+
{
|
| 674 |
+
"login": "ksnyde",
|
| 675 |
+
"name": "Ken Snyder",
|
| 676 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/980757?v=4",
|
| 677 |
+
"profile": "http://ken.net",
|
| 678 |
+
"contributions": ["code"]
|
| 679 |
+
},
|
| 680 |
+
{
|
| 681 |
+
"login": "kentcdodds",
|
| 682 |
+
"name": "Kent C. Dodds",
|
| 683 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/1500684?v=4",
|
| 684 |
+
"profile": "https://kentcdodds.com",
|
| 685 |
+
"contributions": ["code"]
|
| 686 |
+
},
|
| 687 |
+
{
|
| 688 |
+
"login": "Khaledgarbaya",
|
| 689 |
+
"name": "Khaled Garbaya",
|
| 690 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/1156093?v=4",
|
| 691 |
+
"profile": "https://khaledgarbaya.net",
|
| 692 |
+
"contributions": ["code"]
|
| 693 |
+
},
|
| 694 |
+
{
|
| 695 |
+
"login": "jeezliu",
|
| 696 |
+
"name": "Liu",
|
| 697 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/1921130?v=4",
|
| 698 |
+
"profile": "https://jeezliu.github.io/",
|
| 699 |
+
"contributions": ["code"]
|
| 700 |
+
},
|
| 701 |
+
{
|
| 702 |
+
"login": "maciejmyslinski",
|
| 703 |
+
"name": "Maciej",
|
| 704 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/11421186?v=4",
|
| 705 |
+
"profile": "http://www.maciejmyslinski.com",
|
| 706 |
+
"contributions": ["code"]
|
| 707 |
+
},
|
| 708 |
+
{
|
| 709 |
+
"login": "matt-gadd",
|
| 710 |
+
"name": "Matthew Gadd",
|
| 711 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/2183490?v=4",
|
| 712 |
+
"profile": "https://github.com/matt-gadd",
|
| 713 |
+
"contributions": ["code"]
|
| 714 |
+
},
|
| 715 |
+
{
|
| 716 |
+
"login": "krvajal",
|
| 717 |
+
"name": "Miguel Carvajal",
|
| 718 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/5899385?v=4",
|
| 719 |
+
"profile": "https://github.com/krvajal",
|
| 720 |
+
"contributions": ["code"]
|
| 721 |
+
},
|
| 722 |
+
{
|
| 723 |
+
"login": "whizkydee",
|
| 724 |
+
"name": "Olaolu Olawuyi",
|
| 725 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/8625066?v=4",
|
| 726 |
+
"profile": "https://olaolu.me",
|
| 727 |
+
"contributions": ["code"]
|
| 728 |
+
},
|
| 729 |
+
{
|
| 730 |
+
"login": "petetnt",
|
| 731 |
+
"name": "Pete Nykänen",
|
| 732 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/7641760?v=4",
|
| 733 |
+
"profile": "https://twitter.com/pete_tnt",
|
| 734 |
+
"contributions": ["code"]
|
| 735 |
+
},
|
| 736 |
+
{
|
| 737 |
+
"login": "iamphill",
|
| 738 |
+
"name": "Phil Hughes",
|
| 739 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/741068?v=4",
|
| 740 |
+
"profile": "https://iamphill.com",
|
| 741 |
+
"contributions": ["code"]
|
| 742 |
+
},
|
| 743 |
+
{
|
| 744 |
+
"login": "pomber",
|
| 745 |
+
"name": "Rodrigo Pombo",
|
| 746 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/1911623?v=4",
|
| 747 |
+
"profile": "https://twitter.com/pomber",
|
| 748 |
+
"contributions": ["code"]
|
| 749 |
+
},
|
| 750 |
+
{
|
| 751 |
+
"login": "sairam",
|
| 752 |
+
"name": "Sai Ram Kunala",
|
| 753 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/163584?v=4",
|
| 754 |
+
"profile": "https://sairam.xyz/",
|
| 755 |
+
"contributions": ["code"]
|
| 756 |
+
},
|
| 757 |
+
{
|
| 758 |
+
"login": "gitter-badger",
|
| 759 |
+
"name": "The Gitter Badger",
|
| 760 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/8518239?v=4",
|
| 761 |
+
"profile": "https://gitter.im",
|
| 762 |
+
"contributions": ["code"]
|
| 763 |
+
},
|
| 764 |
+
{
|
| 765 |
+
"login": "twhitbeck",
|
| 766 |
+
"name": "Tim Whitbeck",
|
| 767 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/762471?v=4",
|
| 768 |
+
"profile": "https://github.com/twhitbeck",
|
| 769 |
+
"contributions": ["code"]
|
| 770 |
+
},
|
| 771 |
+
{
|
| 772 |
+
"login": "yesmeck",
|
| 773 |
+
"name": "Wei Zhu",
|
| 774 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/465125?v=4",
|
| 775 |
+
"profile": "http://twitter.com/yesmeck",
|
| 776 |
+
"contributions": ["code"]
|
| 777 |
+
},
|
| 778 |
+
{
|
| 779 |
+
"login": "wwilsman",
|
| 780 |
+
"name": "Wil Wilsman",
|
| 781 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/5005153?v=4",
|
| 782 |
+
"profile": "http://wilwilsman.com",
|
| 783 |
+
"contributions": ["code"]
|
| 784 |
+
},
|
| 785 |
+
{
|
| 786 |
+
"login": "findoff",
|
| 787 |
+
"name": "abnessor aka findoff",
|
| 788 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/7959329?v=4",
|
| 789 |
+
"profile": "https://codepen.io/findoff/",
|
| 790 |
+
"contributions": ["code"]
|
| 791 |
+
},
|
| 792 |
+
{
|
| 793 |
+
"login": "jerry-i",
|
| 794 |
+
"name": "cottom",
|
| 795 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/11937539?v=4",
|
| 796 |
+
"profile": "http://jerry-i.github.io",
|
| 797 |
+
"contributions": ["code"]
|
| 798 |
+
},
|
| 799 |
+
{
|
| 800 |
+
"login": "gitname",
|
| 801 |
+
"name": "gitname",
|
| 802 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/7143133?v=4",
|
| 803 |
+
"profile": "https://github.com/gitname",
|
| 804 |
+
"contributions": ["code"]
|
| 805 |
+
},
|
| 806 |
+
{
|
| 807 |
+
"login": "jackdon",
|
| 808 |
+
"name": "Bruce Xu",
|
| 809 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/15030806?v=4",
|
| 810 |
+
"profile": "http://www.xulingming.cn",
|
| 811 |
+
"contributions": ["code"]
|
| 812 |
+
},
|
| 813 |
+
{
|
| 814 |
+
"login": "monkeywithacupcake",
|
| 815 |
+
"name": "jess",
|
| 816 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/7316730?v=4",
|
| 817 |
+
"profile": "http://jessachandler.com",
|
| 818 |
+
"contributions": ["code"]
|
| 819 |
+
},
|
| 820 |
+
{
|
| 821 |
+
"login": "juliettepretot",
|
| 822 |
+
"name": "Juliette Prétot",
|
| 823 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/8875406?v=4",
|
| 824 |
+
"profile": "https://juliette.sh",
|
| 825 |
+
"contributions": ["code"]
|
| 826 |
+
},
|
| 827 |
+
{
|
| 828 |
+
"login": "vicbergquist",
|
| 829 |
+
"name": "Victoria Bergquist",
|
| 830 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/25737281?v=4",
|
| 831 |
+
"profile": "https://twitter.com/vicbergquist",
|
| 832 |
+
"contributions": ["code", "doc"]
|
| 833 |
+
},
|
| 834 |
+
{
|
| 835 |
+
"login": "samrith-s",
|
| 836 |
+
"name": "Samrith Shankar",
|
| 837 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/9032162?v=4",
|
| 838 |
+
"profile": "https://github.com/samrith-s",
|
| 839 |
+
"contributions": ["code"]
|
| 840 |
+
},
|
| 841 |
+
{
|
| 842 |
+
"login": "tinahir",
|
| 843 |
+
"name": "Mahendra Hirapra",
|
| 844 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/827497?v=4",
|
| 845 |
+
"profile": "https://github.com/tinahir",
|
| 846 |
+
"contributions": ["code"]
|
| 847 |
+
},
|
| 848 |
+
{
|
| 849 |
+
"login": "rabingaire",
|
| 850 |
+
"name": "Rabin Gaire",
|
| 851 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/17409675?v=4",
|
| 852 |
+
"profile": "http://rabingaire.com.np",
|
| 853 |
+
"contributions": ["code"]
|
| 854 |
+
},
|
| 855 |
+
{
|
| 856 |
+
"login": "nm123github",
|
| 857 |
+
"name": "Neville Mehta",
|
| 858 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/8527474?v=4",
|
| 859 |
+
"profile": "https://twitter.com/ask_neville",
|
| 860 |
+
"contributions": ["code"]
|
| 861 |
+
},
|
| 862 |
+
{
|
| 863 |
+
"login": "Yeti-or",
|
| 864 |
+
"name": "Vasiliy",
|
| 865 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/1813468?v=4",
|
| 866 |
+
"profile": "https://github.com/Yeti-or",
|
| 867 |
+
"contributions": ["code"]
|
| 868 |
+
},
|
| 869 |
+
{
|
| 870 |
+
"login": "RomainLanz",
|
| 871 |
+
"name": "Romain Lanz",
|
| 872 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/2793951?v=4",
|
| 873 |
+
"profile": "https://slynova.io",
|
| 874 |
+
"contributions": ["code"]
|
| 875 |
+
},
|
| 876 |
+
{
|
| 877 |
+
"login": "libetl",
|
| 878 |
+
"name": "LiBe",
|
| 879 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/1233790?v=4",
|
| 880 |
+
"profile": "http://libe.toile-libre.org",
|
| 881 |
+
"contributions": ["code"]
|
| 882 |
+
},
|
| 883 |
+
{
|
| 884 |
+
"login": "thecodechef",
|
| 885 |
+
"name": "Jeremy Bolding",
|
| 886 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/5333019?v=4",
|
| 887 |
+
"profile": "http://thecodechef.github.io",
|
| 888 |
+
"contributions": ["code"]
|
| 889 |
+
},
|
| 890 |
+
{
|
| 891 |
+
"login": "EvanBacon",
|
| 892 |
+
"name": "Evan Bacon",
|
| 893 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/9664363?v=4",
|
| 894 |
+
"profile": "https://twitter.com/baconbrix",
|
| 895 |
+
"contributions": ["code"]
|
| 896 |
+
},
|
| 897 |
+
{
|
| 898 |
+
"login": "MichaelDeBoey",
|
| 899 |
+
"name": "Michaël De Boey",
|
| 900 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/6643991?v=4",
|
| 901 |
+
"profile": "https://michaeldeboey.be",
|
| 902 |
+
"contributions": ["blog", "bug", "code", "doc", "infra", "tool"]
|
| 903 |
+
},
|
| 904 |
+
{
|
| 905 |
+
"login": "gabeeden",
|
| 906 |
+
"name": "gabeeden",
|
| 907 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/14077091?v=4",
|
| 908 |
+
"profile": "https://github.com/gabeeden",
|
| 909 |
+
"contributions": ["code"]
|
| 910 |
+
},
|
| 911 |
+
{
|
| 912 |
+
"login": "twhite96",
|
| 913 |
+
"name": "Tiffany White",
|
| 914 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/7698292?v=4",
|
| 915 |
+
"profile": "https://tiffanywhite.dev",
|
| 916 |
+
"contributions": ["code"]
|
| 917 |
+
},
|
| 918 |
+
{
|
| 919 |
+
"login": "JABedford",
|
| 920 |
+
"name": "James Bedford",
|
| 921 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/32302360?v=4",
|
| 922 |
+
"profile": "http://www.dopest.tech",
|
| 923 |
+
"contributions": ["code"]
|
| 924 |
+
},
|
| 925 |
+
{
|
| 926 |
+
"login": "smolinari",
|
| 927 |
+
"name": "Scott",
|
| 928 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/3314957?v=4",
|
| 929 |
+
"profile": "https://www.patreon.com/user?u=16255660",
|
| 930 |
+
"contributions": ["code"]
|
| 931 |
+
},
|
| 932 |
+
{
|
| 933 |
+
"login": "dutiyesh",
|
| 934 |
+
"name": "Dutiyesh Salunkhe",
|
| 935 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/12200583?v=4",
|
| 936 |
+
"profile": "https://github.com/dutiyesh",
|
| 937 |
+
"contributions": ["code"]
|
| 938 |
+
},
|
| 939 |
+
{
|
| 940 |
+
"login": "halitogunc",
|
| 941 |
+
"name": "Halit Ogunc",
|
| 942 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/13641726?v=4",
|
| 943 |
+
"profile": "http://halit.dev",
|
| 944 |
+
"contributions": ["code"]
|
| 945 |
+
},
|
| 946 |
+
{
|
| 947 |
+
"login": "jyash97",
|
| 948 |
+
"name": "Yash Joshi",
|
| 949 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/22376783?v=4",
|
| 950 |
+
"profile": "https://github.com/jyash97",
|
| 951 |
+
"contributions": ["code"]
|
| 952 |
+
},
|
| 953 |
+
{
|
| 954 |
+
"login": "batiskafff",
|
| 955 |
+
"name": "Yehor",
|
| 956 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/1769092?v=4",
|
| 957 |
+
"profile": "https://github.com/batiskafff",
|
| 958 |
+
"contributions": ["code"]
|
| 959 |
+
},
|
| 960 |
+
{
|
| 961 |
+
"login": "Jensderond",
|
| 962 |
+
"name": "Jens de Rond",
|
| 963 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/6972822?v=4",
|
| 964 |
+
"profile": "https://github.com/Jensderond",
|
| 965 |
+
"contributions": ["bug", "code"]
|
| 966 |
+
},
|
| 967 |
+
{
|
| 968 |
+
"login": "benschac",
|
| 969 |
+
"name": "Benjamin Schachter",
|
| 970 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/2502947?v=4",
|
| 971 |
+
"profile": "http://benjaminschachter.com",
|
| 972 |
+
"contributions": ["doc"]
|
| 973 |
+
},
|
| 974 |
+
{
|
| 975 |
+
"login": "RafaelKr",
|
| 976 |
+
"name": "Rafael",
|
| 977 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/14234815?v=4",
|
| 978 |
+
"profile": "https://github.com/RafaelKr",
|
| 979 |
+
"contributions": ["bug", "code"]
|
| 980 |
+
},
|
| 981 |
+
{
|
| 982 |
+
"login": "baremetalfreak",
|
| 983 |
+
"name": "baremetalfreak",
|
| 984 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/19686979?v=4",
|
| 985 |
+
"profile": "https://github.com/baremetalfreak",
|
| 986 |
+
"contributions": ["question", "bug", "code"]
|
| 987 |
+
},
|
| 988 |
+
{
|
| 989 |
+
"login": "JayBee007",
|
| 990 |
+
"name": "Javed",
|
| 991 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/13278577?v=4",
|
| 992 |
+
"profile": "https://github.com/JayBee007",
|
| 993 |
+
"contributions": ["code"]
|
| 994 |
+
},
|
| 995 |
+
{
|
| 996 |
+
"login": "R4M80MrX",
|
| 997 |
+
"name": "R4M80MRX",
|
| 998 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/29365693?v=4",
|
| 999 |
+
"profile": "https://github.com/R4M80MrX",
|
| 1000 |
+
"contributions": ["code"]
|
| 1001 |
+
},
|
| 1002 |
+
{
|
| 1003 |
+
"login": "djD-REK",
|
| 1004 |
+
"name": "Dr. Derek Austin [aka dj D-REK from Richmond, VA]",
|
| 1005 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/53202242?v=4",
|
| 1006 |
+
"profile": "https://medium.com/@derek_develops",
|
| 1007 |
+
"contributions": ["bug"]
|
| 1008 |
+
},
|
| 1009 |
+
{
|
| 1010 |
+
"login": "siddharthkp",
|
| 1011 |
+
"name": "Sid",
|
| 1012 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/1863771?v=4",
|
| 1013 |
+
"profile": "https://sid.st",
|
| 1014 |
+
"contributions": ["code"]
|
| 1015 |
+
},
|
| 1016 |
+
{
|
| 1017 |
+
"login": "yeion7",
|
| 1018 |
+
"name": "Yeison Daza",
|
| 1019 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/9127504?v=4",
|
| 1020 |
+
"profile": "http://yeisondaza.com",
|
| 1021 |
+
"contributions": ["code"]
|
| 1022 |
+
},
|
| 1023 |
+
{
|
| 1024 |
+
"login": "Shriram-Balaji",
|
| 1025 |
+
"name": "Shriram Balaji",
|
| 1026 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/11358903?v=4",
|
| 1027 |
+
"profile": "https://shriram-balaji.github.io",
|
| 1028 |
+
"contributions": ["code"]
|
| 1029 |
+
},
|
| 1030 |
+
{
|
| 1031 |
+
"login": "HTMLGhozt",
|
| 1032 |
+
"name": "Thomas Dillard",
|
| 1033 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/12449668?v=4",
|
| 1034 |
+
"profile": "http://ThomasDillard.com",
|
| 1035 |
+
"contributions": ["code"]
|
| 1036 |
+
},
|
| 1037 |
+
{
|
| 1038 |
+
"login": "chinmay17",
|
| 1039 |
+
"name": "Chinmay Chaudhary",
|
| 1040 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/7131231?v=4",
|
| 1041 |
+
"profile": "https://github.com/chinmay17",
|
| 1042 |
+
"contributions": ["code"]
|
| 1043 |
+
},
|
| 1044 |
+
{
|
| 1045 |
+
"login": "sakthivel",
|
| 1046 |
+
"name": "Sakthivel Sengodan Sapient",
|
| 1047 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/205201?v=4",
|
| 1048 |
+
"profile": "https://github.com/Sakthivel",
|
| 1049 |
+
"contributions": ["code"]
|
| 1050 |
+
},
|
| 1051 |
+
{
|
| 1052 |
+
"login": "NabeelahY",
|
| 1053 |
+
"name": "Nabeelah",
|
| 1054 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/35764602?v=4",
|
| 1055 |
+
"profile": "https://github.com/NabeelahY",
|
| 1056 |
+
"contributions": ["code"]
|
| 1057 |
+
},
|
| 1058 |
+
{
|
| 1059 |
+
"login": "vanya829",
|
| 1060 |
+
"name": "vanya829",
|
| 1061 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/1397979?v=4",
|
| 1062 |
+
"profile": "https://github.com/vanya829",
|
| 1063 |
+
"contributions": ["code"]
|
| 1064 |
+
},
|
| 1065 |
+
{
|
| 1066 |
+
"login": "tanem",
|
| 1067 |
+
"name": "Tane Morgan",
|
| 1068 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/464864?v=4",
|
| 1069 |
+
"profile": "https://github.com/tanem",
|
| 1070 |
+
"contributions": ["code"]
|
| 1071 |
+
},
|
| 1072 |
+
{
|
| 1073 |
+
"login": "hetpatel33",
|
| 1074 |
+
"name": "Het Patel",
|
| 1075 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/13877514?v=4",
|
| 1076 |
+
"profile": "http://hetpatel33.github.io",
|
| 1077 |
+
"contributions": ["code"]
|
| 1078 |
+
},
|
| 1079 |
+
{
|
| 1080 |
+
"login": "ivandevp",
|
| 1081 |
+
"name": "Ivan Medina",
|
| 1082 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/9284690?v=4",
|
| 1083 |
+
"profile": "https://twitter.com/ivandevp",
|
| 1084 |
+
"contributions": ["code"]
|
| 1085 |
+
},
|
| 1086 |
+
{
|
| 1087 |
+
"login": "Gobinath-Manokaran",
|
| 1088 |
+
"name": "Gobinath-Manokaran",
|
| 1089 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/6711914?v=4",
|
| 1090 |
+
"profile": "https://github.com/Gobinath-Manokaran",
|
| 1091 |
+
"contributions": ["code"]
|
| 1092 |
+
},
|
| 1093 |
+
{
|
| 1094 |
+
"login": "armujahid",
|
| 1095 |
+
"name": "Abdul Rauf",
|
| 1096 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/3725386?v=4",
|
| 1097 |
+
"profile": "https://armujahid.me",
|
| 1098 |
+
"contributions": ["code", "doc"]
|
| 1099 |
+
},
|
| 1100 |
+
{
|
| 1101 |
+
"login": "milap1296",
|
| 1102 |
+
"name": "milap1296",
|
| 1103 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/19545730?v=4",
|
| 1104 |
+
"profile": "https://github.com/milap1296",
|
| 1105 |
+
"contributions": ["code"]
|
| 1106 |
+
},
|
| 1107 |
+
{
|
| 1108 |
+
"login": "yevhenorlov",
|
| 1109 |
+
"name": "yevhen orlov",
|
| 1110 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/17388747?v=4",
|
| 1111 |
+
"profile": "http://yevhenorlov.com",
|
| 1112 |
+
"contributions": ["code"]
|
| 1113 |
+
},
|
| 1114 |
+
{
|
| 1115 |
+
"login": "NileshPatel17",
|
| 1116 |
+
"name": "Nilesh Patel",
|
| 1117 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/27020381?v=4",
|
| 1118 |
+
"profile": "https://github.com/NileshPatel17",
|
| 1119 |
+
"contributions": ["code"]
|
| 1120 |
+
},
|
| 1121 |
+
{
|
| 1122 |
+
"login": "22PoojaGaur",
|
| 1123 |
+
"name": "Pooja Gaur",
|
| 1124 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/43316760?v=4",
|
| 1125 |
+
"profile": "https://github.com/22PoojaGaur",
|
| 1126 |
+
"contributions": ["code"]
|
| 1127 |
+
},
|
| 1128 |
+
{
|
| 1129 |
+
"login": "sajadhsm",
|
| 1130 |
+
"name": "Sajad Hashemian",
|
| 1131 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/20022818?v=4",
|
| 1132 |
+
"profile": "https://github.com/sajadhsm",
|
| 1133 |
+
"contributions": ["code"]
|
| 1134 |
+
},
|
| 1135 |
+
{
|
| 1136 |
+
"login": "carloslfu",
|
| 1137 |
+
"name": "Carlos Galarza",
|
| 1138 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/5993168?v=4",
|
| 1139 |
+
"profile": "https://carloslfu.github.io",
|
| 1140 |
+
"contributions": ["doc"]
|
| 1141 |
+
},
|
| 1142 |
+
{
|
| 1143 |
+
"login": "soorajshankar",
|
| 1144 |
+
"name": "soorajshankar",
|
| 1145 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/8408875?v=4",
|
| 1146 |
+
"profile": "https://github.com/soorajshankar",
|
| 1147 |
+
"contributions": ["code"]
|
| 1148 |
+
},
|
| 1149 |
+
{
|
| 1150 |
+
"login": "mcmunder",
|
| 1151 |
+
"name": "Matthias Christoph Munder",
|
| 1152 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/5681686?v=4",
|
| 1153 |
+
"profile": "http://mcmunder.de",
|
| 1154 |
+
"contributions": ["bug", "code"]
|
| 1155 |
+
},
|
| 1156 |
+
{
|
| 1157 |
+
"login": "anuraghazra",
|
| 1158 |
+
"name": "Anurag Hazra",
|
| 1159 |
+
"avatar_url": "https://avatars3.githubusercontent.com/u/35374649?v=4",
|
| 1160 |
+
"profile": "http://anuraghazra.github.io",
|
| 1161 |
+
"contributions": ["code"]
|
| 1162 |
+
},
|
| 1163 |
+
{
|
| 1164 |
+
"login": "johansenja",
|
| 1165 |
+
"name": "johansenja",
|
| 1166 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/43235608?v=4",
|
| 1167 |
+
"profile": "https://github.com/johansenja",
|
| 1168 |
+
"contributions": ["doc"]
|
| 1169 |
+
},
|
| 1170 |
+
{
|
| 1171 |
+
"login": "Developerayo",
|
| 1172 |
+
"name": "Shodipo Ayomide",
|
| 1173 |
+
"avatar_url": "https://avatars2.githubusercontent.com/u/20538832?v=4",
|
| 1174 |
+
"profile": "https://shodipoayomide.com",
|
| 1175 |
+
"contributions": ["doc"]
|
| 1176 |
+
},
|
| 1177 |
+
{
|
| 1178 |
+
"login": "akash-joshi",
|
| 1179 |
+
"name": "Akash Joshi",
|
| 1180 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/22196279?v=4",
|
| 1181 |
+
"profile": "http://akashj.com",
|
| 1182 |
+
"contributions": ["code"]
|
| 1183 |
+
},
|
| 1184 |
+
{
|
| 1185 |
+
"login": "layershifter",
|
| 1186 |
+
"name": "Oleksandr Fediashov",
|
| 1187 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/14183168?v=4",
|
| 1188 |
+
"profile": "https://twitter.com/layershifter",
|
| 1189 |
+
"contributions": ["bug", "code"]
|
| 1190 |
+
},
|
| 1191 |
+
{
|
| 1192 |
+
"login": "tehnuge",
|
| 1193 |
+
"name": "John D.",
|
| 1194 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/1928236?v=4",
|
| 1195 |
+
"profile": "https://github.com/tehnuge",
|
| 1196 |
+
"contributions": ["code"]
|
| 1197 |
+
},
|
| 1198 |
+
{
|
| 1199 |
+
"login": "NinoMaj",
|
| 1200 |
+
"name": "Nino",
|
| 1201 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/20380632?v=4",
|
| 1202 |
+
"profile": "https://github.com/NinoMaj",
|
| 1203 |
+
"contributions": ["doc"]
|
| 1204 |
+
},
|
| 1205 |
+
{
|
| 1206 |
+
"login": "saurabhdaware",
|
| 1207 |
+
"name": "Saurabh Daware",
|
| 1208 |
+
"avatar_url": "https://avatars1.githubusercontent.com/u/30949385?v=4",
|
| 1209 |
+
"profile": "https://saurabhdaware.in/",
|
| 1210 |
+
"contributions": ["code", "plugin"]
|
| 1211 |
+
},
|
| 1212 |
+
{
|
| 1213 |
+
"login": "pablopunk",
|
| 1214 |
+
"name": "Pablo Varela",
|
| 1215 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/4324982?v=4",
|
| 1216 |
+
"profile": "https://pablo.pink",
|
| 1217 |
+
"contributions": ["code"]
|
| 1218 |
+
},
|
| 1219 |
+
{
|
| 1220 |
+
"login": "ryanpwaldon",
|
| 1221 |
+
"name": "Ryan Waldon",
|
| 1222 |
+
"avatar_url": "https://avatars0.githubusercontent.com/u/12480362?v=4",
|
| 1223 |
+
"profile": "https://github.com/ryanpwaldon",
|
| 1224 |
+
"contributions": ["code"]
|
| 1225 |
+
},
|
| 1226 |
+
{
|
| 1227 |
+
"login": "cherniavskii",
|
| 1228 |
+
"name": "Andrew Cherniavskii",
|
| 1229 |
+
"avatar_url": "https://avatars.githubusercontent.com/u/13808724?v=4",
|
| 1230 |
+
"profile": "http://cherniavskii.com",
|
| 1231 |
+
"contributions": ["code"]
|
| 1232 |
+
},
|
| 1233 |
+
{
|
| 1234 |
+
"login": "NullVoxPopuli",
|
| 1235 |
+
"name": "NullVoxPopuli",
|
| 1236 |
+
"avatar_url": "https://avatars.githubusercontent.com/u/199018?v=4",
|
| 1237 |
+
"profile": "http://nullvoxpopuli.com",
|
| 1238 |
+
"contributions": ["code", "content", "maintenance"]
|
| 1239 |
+
},
|
| 1240 |
+
{
|
| 1241 |
+
"login": "joshuaellis",
|
| 1242 |
+
"name": "Josh",
|
| 1243 |
+
"avatar_url": "https://avatars.githubusercontent.com/u/37798644?v=4",
|
| 1244 |
+
"profile": "http://joshellis.co.uk",
|
| 1245 |
+
"contributions": ["doc"]
|
| 1246 |
+
},
|
| 1247 |
+
{
|
| 1248 |
+
"login": "StefanRetief",
|
| 1249 |
+
"name": "Stefan Retief",
|
| 1250 |
+
"avatar_url": "https://avatars.githubusercontent.com/u/3196604?v=4",
|
| 1251 |
+
"profile": "https://stefanretief.com",
|
| 1252 |
+
"contributions": ["bug", "code"]
|
| 1253 |
+
},
|
| 1254 |
+
{
|
| 1255 |
+
"login": "aditya211935",
|
| 1256 |
+
"name": "Aditya",
|
| 1257 |
+
"avatar_url": "https://avatars.githubusercontent.com/u/23213686?v=4",
|
| 1258 |
+
"profile": "https://github.com/aditya211935",
|
| 1259 |
+
"contributions": ["bug", "code"]
|
| 1260 |
+
},
|
| 1261 |
+
{
|
| 1262 |
+
"login": "B2D1",
|
| 1263 |
+
"name": "B2D1",
|
| 1264 |
+
"avatar_url": "https://avatars.githubusercontent.com/u/36991862?v=4",
|
| 1265 |
+
"profile": "http://baobangdong.cn",
|
| 1266 |
+
"contributions": ["doc"]
|
| 1267 |
+
},
|
| 1268 |
+
{
|
| 1269 |
+
"login": "kettanaito",
|
| 1270 |
+
"name": "Artem",
|
| 1271 |
+
"avatar_url": "https://github.com/kettanaito.png",
|
| 1272 |
+
"profile": "https://github.com/kettanaito",
|
| 1273 |
+
"contributions": ["code"]
|
| 1274 |
+
},
|
| 1275 |
+
{
|
| 1276 |
+
"login": "wiledal",
|
| 1277 |
+
"name": "Hugo Wiledal",
|
| 1278 |
+
"avatar_url": "https://avatars.githubusercontent.com/u/1035169?v=4",
|
| 1279 |
+
"profile": "http://hugos.computer",
|
| 1280 |
+
"contributions": ["bug", "code"]
|
| 1281 |
+
},
|
| 1282 |
+
{
|
| 1283 |
+
"login": "SSHari",
|
| 1284 |
+
"name": "Sai Hari",
|
| 1285 |
+
"avatar_url": "https://avatars.githubusercontent.com/u/11434879?v=4",
|
| 1286 |
+
"profile": "https://thesshguy.com/",
|
| 1287 |
+
"contributions": ["code"]
|
| 1288 |
+
},
|
| 1289 |
+
{
|
| 1290 |
+
"login": "Ku3mi41",
|
| 1291 |
+
"name": "Ku3mi41",
|
| 1292 |
+
"avatar_url": "https://avatars.githubusercontent.com/u/1100530?v=4",
|
| 1293 |
+
"profile": "https://github.com/Ku3mi41",
|
| 1294 |
+
"contributions": ["code", "test"]
|
| 1295 |
+
}
|
| 1296 |
+
],
|
| 1297 |
+
"contributorsPerLine": 7,
|
| 1298 |
+
"commitConvention": "none",
|
| 1299 |
+
"skipCi": true
|
| 1300 |
+
}
|
| 1301 |
+
|
.circleci/config.yml
ADDED
|
@@ -0,0 +1,424 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version: 2.1
|
| 2 |
+
|
| 3 |
+
################################
|
| 4 |
+
# Aliases
|
| 5 |
+
################################
|
| 6 |
+
|
| 7 |
+
aliases:
|
| 8 |
+
- &attach_deps_workspace
|
| 9 |
+
at: ~/codesandbox-client
|
| 10 |
+
|
| 11 |
+
- &build_deps_paths
|
| 12 |
+
root: ~/codesandbox-client
|
| 13 |
+
paths:
|
| 14 |
+
- packages/codesandbox-api/dist
|
| 15 |
+
- packages/common/lib
|
| 16 |
+
- packages/components/lib
|
| 17 |
+
- packages/deps/dist
|
| 18 |
+
- packages/executors/dist
|
| 19 |
+
- packages/node-services/lib
|
| 20 |
+
- packages/notifications/lib
|
| 21 |
+
- packages/template-icons/lib
|
| 22 |
+
- packages/sse-hooks/dist
|
| 23 |
+
- packages/sandpack-core/lib
|
| 24 |
+
- packages/browser-eslint-rules/lib
|
| 25 |
+
- packages/browser-dart-sass/lib
|
| 26 |
+
- packages/vue3-browser-compiler/lib
|
| 27 |
+
- packages/vue3-transpiler/lib
|
| 28 |
+
- standalone-packages/codesandbox-browserfs/dist
|
| 29 |
+
- standalone-packages/codesandbox-browserfs/build
|
| 30 |
+
- standalone-packages/vscode-textmate/out
|
| 31 |
+
- standalone-packages/vscode-textmate/node_modules
|
| 32 |
+
- standalone-packages/vscode-extensions/out/extensions
|
| 33 |
+
|
| 34 |
+
- &restore_deps_cache
|
| 35 |
+
keys:
|
| 36 |
+
- v39-dependency-cache-{{ .Branch }}-{{ checksum "yarn.lock" }}
|
| 37 |
+
- v39-dependency-cache-{{ .Branch }}
|
| 38 |
+
- v39-dependency-cache
|
| 39 |
+
|
| 40 |
+
- &save_deps_cache
|
| 41 |
+
key: v39-dependency-cache-{{ .Branch }}-{{ checksum "yarn.lock" }}
|
| 42 |
+
paths:
|
| 43 |
+
- node_modules
|
| 44 |
+
- packages/app/node_modules
|
| 45 |
+
- packages/chrome-extension/node_modules
|
| 46 |
+
- packages/codesandbox-api/node_modules
|
| 47 |
+
- packages/components/node_modules
|
| 48 |
+
- packages/template-icons/node_modules
|
| 49 |
+
- packages/common/node_modules
|
| 50 |
+
- packages/deps/node_modules
|
| 51 |
+
- packages/executors/node_modules
|
| 52 |
+
- packages/node-services/node_modules
|
| 53 |
+
- packages/notifications/node_modules
|
| 54 |
+
- packages/react-embed/node_modules
|
| 55 |
+
- packages/sandbox-hooks/node_modules
|
| 56 |
+
- packages/sse-hooks/node_modules
|
| 57 |
+
- packages/sandpack-core/node_modules
|
| 58 |
+
- packages/browser-eslint-rules/node_modules
|
| 59 |
+
- packages/browser-dart-sass/node_modules
|
| 60 |
+
- packages/vue3-browser-compiler/node_modules
|
| 61 |
+
- packages/vue3-transpiler/node_modules
|
| 62 |
+
- packages/app/src/app/overmind/effects/vscode/LinterWorker/node_modules
|
| 63 |
+
|
| 64 |
+
- &restore_standalone_deps_cache
|
| 65 |
+
keys:
|
| 66 |
+
- v39-standalone-dependency-cache-{{ .Branch }}-{{ checksum
|
| 67 |
+
"standalone-packages/codesandbox-browserfs/yarn.lock" }}
|
| 68 |
+
- v39-standalone-dependency-cache-{{ .Branch }}
|
| 69 |
+
- v39-standalone-dependency-cache
|
| 70 |
+
|
| 71 |
+
- &save_standalone_deps_cache
|
| 72 |
+
key:
|
| 73 |
+
v39-standalone-dependency-cache-{{ .Branch }}-{{ checksum
|
| 74 |
+
"standalone-packages/codesandbox-browserfs/yarn.lock" }}
|
| 75 |
+
paths:
|
| 76 |
+
- standalone-packages/codesandbox-browserfs/node_modules
|
| 77 |
+
|
| 78 |
+
- &restore_prod_result
|
| 79 |
+
key:
|
| 80 |
+
v39-prod-build-result-{{ .Environment.CIRCLE_BRANCH
|
| 81 |
+
}}-{{.Environment.CIRCLE_SHA1 }}
|
| 82 |
+
|
| 83 |
+
- &save_prod_build_cache
|
| 84 |
+
key:
|
| 85 |
+
v39-prod-build-cache-{{ .Environment.CIRCLE_BRANCH
|
| 86 |
+
}}-{{.Environment.CIRCLE_SHA1 }}
|
| 87 |
+
paths:
|
| 88 |
+
- packages/app/node_modules/.cache
|
| 89 |
+
|
| 90 |
+
- &restore_prod_build_cache
|
| 91 |
+
keys:
|
| 92 |
+
- v39-prod-build-cache-{{ .Environment.CIRCLE_BRANCH
|
| 93 |
+
}}-{{.Environment.CIRCLE_SHA1 }}
|
| 94 |
+
- v39-prod-build-cache-{{ .Environment.CIRCLE_BRANCH }}-
|
| 95 |
+
- v39-prod-build-cache-master-
|
| 96 |
+
|
| 97 |
+
- &save_prod_result
|
| 98 |
+
key:
|
| 99 |
+
v39-prod-build-result-{{ .Environment.CIRCLE_BRANCH }}-{{
|
| 100 |
+
.Environment.CIRCLE_SHA1 }}
|
| 101 |
+
paths:
|
| 102 |
+
- ./www
|
| 103 |
+
- ./.git
|
| 104 |
+
- ./Dockerfile
|
| 105 |
+
|
| 106 |
+
- &store_test_results
|
| 107 |
+
path: /tmp/test-results
|
| 108 |
+
|
| 109 |
+
- &store_artifacts
|
| 110 |
+
path: packages/app/integration-tests/tests/__image_snapshots__/__diff_output__
|
| 111 |
+
destination: image_snapshot_diff
|
| 112 |
+
|
| 113 |
+
################################
|
| 114 |
+
# Executors
|
| 115 |
+
################################
|
| 116 |
+
|
| 117 |
+
executors:
|
| 118 |
+
node:
|
| 119 |
+
docker:
|
| 120 |
+
- image: node:16.14.2-bullseye
|
| 121 |
+
working_directory: ~/codesandbox-client
|
| 122 |
+
node-xlarge:
|
| 123 |
+
docker:
|
| 124 |
+
- image: node:16.14.2-bullseye
|
| 125 |
+
resource_class: xlarge
|
| 126 |
+
working_directory: ~/codesandbox-client
|
| 127 |
+
docker_machine:
|
| 128 |
+
docker:
|
| 129 |
+
- image: docker:20.10.23-git
|
| 130 |
+
working_directory: ~/codesandbox-client
|
| 131 |
+
|
| 132 |
+
################################
|
| 133 |
+
# Commands
|
| 134 |
+
################################
|
| 135 |
+
|
| 136 |
+
commands:
|
| 137 |
+
checkout_with_cache:
|
| 138 |
+
description: 'Checkout git with a cache'
|
| 139 |
+
steps:
|
| 140 |
+
- restore_cache:
|
| 141 |
+
keys:
|
| 142 |
+
- v39-source-cache-{{ .Branch }}-{{ .Revision }}
|
| 143 |
+
- v39-source-cache-{{ .Branch }}-
|
| 144 |
+
- v39-source-cache-
|
| 145 |
+
|
| 146 |
+
- checkout
|
| 147 |
+
|
| 148 |
+
- save_cache:
|
| 149 |
+
key: v39-source-cache-{{ .Branch }}-{{ .Revision }}
|
| 150 |
+
paths:
|
| 151 |
+
- '.git'
|
| 152 |
+
build_deps:
|
| 153 |
+
description: 'Install Dependencies with `yarn install`'
|
| 154 |
+
steps:
|
| 155 |
+
- restore_cache: *restore_deps_cache
|
| 156 |
+
- restore_cache: *restore_standalone_deps_cache
|
| 157 |
+
- run:
|
| 158 |
+
name: Install sudo
|
| 159 |
+
command: apt update -y && apt install -y sudo
|
| 160 |
+
- run:
|
| 161 |
+
name: Install ZSTD
|
| 162 |
+
command: sudo apt update -y && sudo apt install -y zstd
|
| 163 |
+
# Add extra items to yarnclean so the cache doesn't grow too big
|
| 164 |
+
- run:
|
| 165 |
+
name: Configure .yarnclean
|
| 166 |
+
command: cat .yarnclean.ci >> .yarnclean
|
| 167 |
+
- run:
|
| 168 |
+
name: Install Dependencies
|
| 169 |
+
command: yarn install
|
| 170 |
+
- save_cache: *save_deps_cache
|
| 171 |
+
- save_cache: *save_standalone_deps_cache
|
| 172 |
+
- run:
|
| 173 |
+
name: Build
|
| 174 |
+
command: yarn build:deps
|
| 175 |
+
- persist_to_workspace: *build_deps_paths
|
| 176 |
+
build_prod:
|
| 177 |
+
description: 'Build the Application with `yarn build:prod`'
|
| 178 |
+
steps:
|
| 179 |
+
- restore_cache: *restore_deps_cache
|
| 180 |
+
- attach_workspace: *attach_deps_workspace
|
| 181 |
+
- restore_cache: *restore_prod_build_cache
|
| 182 |
+
- run:
|
| 183 |
+
name: Build Application
|
| 184 |
+
command: yarn build:prod
|
| 185 |
+
- save_cache: *save_prod_build_cache
|
| 186 |
+
- save_cache: *save_prod_result
|
| 187 |
+
test_integrations:
|
| 188 |
+
description:
|
| 189 |
+
"Test Integrations with `yarn start:test` & 'yarn test:integrations'"
|
| 190 |
+
steps:
|
| 191 |
+
- restore_cache: *restore_deps_cache
|
| 192 |
+
- attach_workspace: *attach_deps_workspace
|
| 193 |
+
- run:
|
| 194 |
+
name: Install sudo
|
| 195 |
+
command: apt update -y && apt install -y sudo
|
| 196 |
+
- run:
|
| 197 |
+
name: Install binaries
|
| 198 |
+
command:
|
| 199 |
+
sudo apt-get update &&
|
| 200 |
+
sudo apt-get install -yq gconf-service libasound2 libatk1.0-0 libc6
|
| 201 |
+
libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0
|
| 202 |
+
libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6
|
| 203 |
+
libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2
|
| 204 |
+
libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release
|
| 205 |
+
xdg-utils wget libgbm-dev
|
| 206 |
+
- run:
|
| 207 |
+
name: Install puppeteer
|
| 208 |
+
command: cd ~/ && yarn add puppeteer@18.1.0 -DW
|
| 209 |
+
- run:
|
| 210 |
+
name: Start Test Server
|
| 211 |
+
command: yarn start:test
|
| 212 |
+
background: true
|
| 213 |
+
- run:
|
| 214 |
+
name: Setup BrowserStack local environment
|
| 215 |
+
command:
|
| 216 |
+
'[ -n "$BROWSER_STACK_KEY" ] &&
|
| 217 |
+
./packages/app/integration-tests/BrowserStackLocal --key
|
| 218 |
+
$BROWSER_STACK_KEY || true'
|
| 219 |
+
background: true
|
| 220 |
+
- run:
|
| 221 |
+
name: Test Integrations
|
| 222 |
+
command: |
|
| 223 |
+
sleep 15
|
| 224 |
+
yarn test:integrations --ci --testResultsProcessor="jest-junit"
|
| 225 |
+
environment:
|
| 226 |
+
JEST_JUNIT_OUTPUT: '/tmp/test-results/js-test-results.xml'
|
| 227 |
+
- store_test_results: *store_test_results
|
| 228 |
+
- store_artifacts: *store_artifacts
|
| 229 |
+
test_visual_regressions:
|
| 230 |
+
description: "Test Chromatic with 'yarn chromatic'"
|
| 231 |
+
steps:
|
| 232 |
+
- restore_cache: *restore_deps_cache
|
| 233 |
+
- attach_workspace: *attach_deps_workspace
|
| 234 |
+
- run:
|
| 235 |
+
command: yarn chromatic
|
| 236 |
+
test_jest:
|
| 237 |
+
description: 'Test with `yarn test`'
|
| 238 |
+
steps:
|
| 239 |
+
- restore_cache: *restore_deps_cache
|
| 240 |
+
- attach_workspace: *attach_deps_workspace
|
| 241 |
+
- run:
|
| 242 |
+
name: Test
|
| 243 |
+
command: yarn test:ci
|
| 244 |
+
environment:
|
| 245 |
+
JEST_JUNIT_OUTPUT: 'reports/junit/js-tests-results.xml'
|
| 246 |
+
yarn_lint:
|
| 247 |
+
description: 'Lint with `yarn lint`'
|
| 248 |
+
steps:
|
| 249 |
+
- restore_cache: *restore_deps_cache
|
| 250 |
+
- attach_workspace: *attach_deps_workspace
|
| 251 |
+
- run:
|
| 252 |
+
name: Lint
|
| 253 |
+
command: yarn lint
|
| 254 |
+
yarn_typecheck:
|
| 255 |
+
description: 'Lint with `yarn typecheck`'
|
| 256 |
+
steps:
|
| 257 |
+
- restore_cache: *restore_deps_cache
|
| 258 |
+
- attach_workspace: *attach_deps_workspace
|
| 259 |
+
- run:
|
| 260 |
+
name: Typecheck
|
| 261 |
+
command: yarn typecheck
|
| 262 |
+
docker_cache:
|
| 263 |
+
description: 'Cache, Sign In, Create, and Push Docker Image'
|
| 264 |
+
parameters:
|
| 265 |
+
user:
|
| 266 |
+
type: string
|
| 267 |
+
default: '$DOCKER_USER'
|
| 268 |
+
password:
|
| 269 |
+
type: string
|
| 270 |
+
default: '$DOCKER_PWD'
|
| 271 |
+
steps:
|
| 272 |
+
- setup_remote_docker:
|
| 273 |
+
version: default
|
| 274 |
+
docker_layer_caching: true
|
| 275 |
+
- restore_cache: *restore_prod_result
|
| 276 |
+
- run:
|
| 277 |
+
name: Docker Sign In
|
| 278 |
+
command:
|
| 279 |
+
'[ -n "<< parameters.user >>" ] && echo << parameters.password >> |
|
| 280 |
+
docker login -u << parameters.user >> --password-stdin || true'
|
| 281 |
+
- run:
|
| 282 |
+
name: Create DockerIgnore
|
| 283 |
+
command: echo '**\n!www' > .dockerignore
|
| 284 |
+
- run:
|
| 285 |
+
name: Create Image
|
| 286 |
+
command:
|
| 287 |
+
'[ -n "<< parameters.user >>" ] && docker build -t
|
| 288 |
+
codesandbox/client:${CIRCLE_SHA1:0:7} . || true'
|
| 289 |
+
- run:
|
| 290 |
+
name: Push Image
|
| 291 |
+
command:
|
| 292 |
+
'[ -n "<< parameters.user >>" ] && docker push
|
| 293 |
+
codesandbox/client:${CIRCLE_SHA1:0:7} || true'
|
| 294 |
+
|
| 295 |
+
################################
|
| 296 |
+
# Jobs
|
| 297 |
+
################################
|
| 298 |
+
|
| 299 |
+
jobs:
|
| 300 |
+
build-deps:
|
| 301 |
+
executor: node-xlarge
|
| 302 |
+
steps:
|
| 303 |
+
- checkout_with_cache
|
| 304 |
+
- build_deps
|
| 305 |
+
build-prod:
|
| 306 |
+
executor: node-xlarge
|
| 307 |
+
steps:
|
| 308 |
+
- checkout_with_cache
|
| 309 |
+
- build_prod
|
| 310 |
+
test-integrations:
|
| 311 |
+
executor: node-xlarge
|
| 312 |
+
parallelism: 3
|
| 313 |
+
steps:
|
| 314 |
+
- checkout_with_cache
|
| 315 |
+
- test_integrations
|
| 316 |
+
test-visual-regressions:
|
| 317 |
+
executor: node
|
| 318 |
+
steps:
|
| 319 |
+
- checkout_with_cache
|
| 320 |
+
- test_visual_regressions
|
| 321 |
+
test-jest:
|
| 322 |
+
executor: node-xlarge
|
| 323 |
+
steps:
|
| 324 |
+
- checkout_with_cache
|
| 325 |
+
- test_jest
|
| 326 |
+
lint:
|
| 327 |
+
executor: node
|
| 328 |
+
steps:
|
| 329 |
+
- checkout_with_cache
|
| 330 |
+
- yarn_lint
|
| 331 |
+
typecheck:
|
| 332 |
+
executor: node
|
| 333 |
+
steps:
|
| 334 |
+
- checkout_with_cache
|
| 335 |
+
- yarn_typecheck
|
| 336 |
+
create-docker-image:
|
| 337 |
+
executor: docker_machine
|
| 338 |
+
steps:
|
| 339 |
+
- docker_cache
|
| 340 |
+
deploy-to-production:
|
| 341 |
+
executor: node
|
| 342 |
+
environment:
|
| 343 |
+
ENVIRONMENT: production
|
| 344 |
+
steps:
|
| 345 |
+
- checkout_with_cache
|
| 346 |
+
- restore_cache: *restore_deps_cache
|
| 347 |
+
- attach_workspace: *attach_deps_workspace
|
| 348 |
+
- run:
|
| 349 |
+
name: Mark Sentry release
|
| 350 |
+
command: node packages/app/scripts/sentry-create-release.js
|
| 351 |
+
- run:
|
| 352 |
+
name: Deploy Image
|
| 353 |
+
command: node packages/app/scripts/deploy.js
|
| 354 |
+
- run:
|
| 355 |
+
name: Deploy Sentry release
|
| 356 |
+
command: node packages/app/scripts/sentry-deploy-release.js
|
| 357 |
+
deploy-to-staging:
|
| 358 |
+
executor: node
|
| 359 |
+
environment:
|
| 360 |
+
ENVIRONMENT: staging
|
| 361 |
+
steps:
|
| 362 |
+
- checkout_with_cache
|
| 363 |
+
- restore_cache: *restore_deps_cache
|
| 364 |
+
- attach_workspace: *attach_deps_workspace
|
| 365 |
+
- run:
|
| 366 |
+
name: Deploy Image
|
| 367 |
+
command: node packages/app/scripts/deploy.js
|
| 368 |
+
|
| 369 |
+
################################
|
| 370 |
+
# Workflows
|
| 371 |
+
################################
|
| 372 |
+
|
| 373 |
+
workflows:
|
| 374 |
+
version: 2
|
| 375 |
+
build-and-test:
|
| 376 |
+
jobs:
|
| 377 |
+
- build-deps
|
| 378 |
+
- test-integrations:
|
| 379 |
+
requires:
|
| 380 |
+
- build-deps
|
| 381 |
+
- test-visual-regressions:
|
| 382 |
+
requires:
|
| 383 |
+
- build-deps
|
| 384 |
+
- typecheck:
|
| 385 |
+
requires:
|
| 386 |
+
- build-deps
|
| 387 |
+
- test-jest:
|
| 388 |
+
requires:
|
| 389 |
+
- build-deps
|
| 390 |
+
- lint:
|
| 391 |
+
requires:
|
| 392 |
+
- build-deps
|
| 393 |
+
- build-prod:
|
| 394 |
+
requires:
|
| 395 |
+
- build-deps
|
| 396 |
+
- create-docker-image:
|
| 397 |
+
requires:
|
| 398 |
+
- build-prod
|
| 399 |
+
- deploy-to-production:
|
| 400 |
+
requires:
|
| 401 |
+
- create-docker-image
|
| 402 |
+
- lint
|
| 403 |
+
- typecheck
|
| 404 |
+
# - test-integrations
|
| 405 |
+
- test-jest
|
| 406 |
+
- test-visual-regressions
|
| 407 |
+
filters:
|
| 408 |
+
branches:
|
| 409 |
+
only:
|
| 410 |
+
- main
|
| 411 |
+
- deploy-staging-approval:
|
| 412 |
+
type: approval
|
| 413 |
+
filters:
|
| 414 |
+
branches:
|
| 415 |
+
ignore:
|
| 416 |
+
- main
|
| 417 |
+
- deploy-to-staging:
|
| 418 |
+
requires:
|
| 419 |
+
- deploy-staging-approval
|
| 420 |
+
- create-docker-image
|
| 421 |
+
filters:
|
| 422 |
+
branches:
|
| 423 |
+
ignore:
|
| 424 |
+
- main
|
.codesandbox/environment.json
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"nodeVersion": "16"
|
| 3 |
+
}
|
.codesandbox/features.json
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"vue": {
|
| 3 |
+
"takeOverMode": false,
|
| 4 |
+
"inspector": false
|
| 5 |
+
},
|
| 6 |
+
"deno": false
|
| 7 |
+
}
|
.codesandbox/tasks.json
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
// These tasks will run in order when initializing your CodeSandbox project.
|
| 3 |
+
"setupTasks": [
|
| 4 |
+
{
|
| 5 |
+
"name": "Installing Dependencies",
|
| 6 |
+
"command": "yarn install"
|
| 7 |
+
},
|
| 8 |
+
{
|
| 9 |
+
"name": "Building Workspace",
|
| 10 |
+
"command": "yarn build:deps"
|
| 11 |
+
}
|
| 12 |
+
],
|
| 13 |
+
|
| 14 |
+
// These tasks can be run from CodeSandbox. Running one will open a log in the app.
|
| 15 |
+
"tasks": {
|
| 16 |
+
"setup": {
|
| 17 |
+
"name": "Install Dependencies",
|
| 18 |
+
"command": "yarn"
|
| 19 |
+
},
|
| 20 |
+
"build-workspace": {
|
| 21 |
+
"name": "Build deps",
|
| 22 |
+
"command": "yarn build:deps"
|
| 23 |
+
},
|
| 24 |
+
"app:fast": {
|
| 25 |
+
"name": "Application (fast + production)",
|
| 26 |
+
"command": "yarn start:fast",
|
| 27 |
+
"runAtStart": false,
|
| 28 |
+
"preview": {
|
| 29 |
+
"port": 3000
|
| 30 |
+
},
|
| 31 |
+
"restartOn": {
|
| 32 |
+
"files": ["yarn.lock", "packages/app/scripts/*"]
|
| 33 |
+
}
|
| 34 |
+
},
|
| 35 |
+
"app:fast:stream": {
|
| 36 |
+
"name": "Application (fast + stream)",
|
| 37 |
+
"command": "yarn start:fast:stream",
|
| 38 |
+
"runAtStart": false,
|
| 39 |
+
"preview": {
|
| 40 |
+
"port": 3000
|
| 41 |
+
},
|
| 42 |
+
"restartOn": {
|
| 43 |
+
"files": ["yarn.lock", "packages/app/scripts/*"]
|
| 44 |
+
}
|
| 45 |
+
},
|
| 46 |
+
"storybook": {
|
| 47 |
+
"name": "Run storybook",
|
| 48 |
+
"command": "cd packages/components && yarn start:storybook"
|
| 49 |
+
},
|
| 50 |
+
"typecheck": {
|
| 51 |
+
"name": "typecheck",
|
| 52 |
+
"command": "yarn typecheck"
|
| 53 |
+
},
|
| 54 |
+
"lint": {
|
| 55 |
+
"name": "lint",
|
| 56 |
+
"command": "yarn lint"
|
| 57 |
+
},
|
| 58 |
+
"start:sandpack-sandbox": {
|
| 59 |
+
"name": "start:sandpack-sandbox",
|
| 60 |
+
"command": "cd packages/app && yarn start:sandpack-sandbox"
|
| 61 |
+
},
|
| 62 |
+
"start:sandpack-core": {
|
| 63 |
+
"name": "start:sandpack-core",
|
| 64 |
+
"command": "cd packages/sandpack-core && yarn start"
|
| 65 |
+
}
|
| 66 |
+
}
|
| 67 |
+
}
|
.devcontainer/Dockerfile
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
FROM node:16-bullseye
|
| 2 |
+
|
| 3 |
+
RUN apt update -y && apt install -y zstd
|
.devcontainer/devcontainer.json
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "CodeSandbox",
|
| 3 |
+
"build": {
|
| 4 |
+
"dockerfile": "./Dockerfile"
|
| 5 |
+
}
|
| 6 |
+
}
|
.dockerignore
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# See http://help.github.com/ignore-files/ for more about ignoring files.
|
| 2 |
+
|
| 3 |
+
# dependencies
|
| 4 |
+
node_modules
|
| 5 |
+
# we use yarn
|
| 6 |
+
package-lock.json
|
| 7 |
+
|
| 8 |
+
/integration-tests/**/__diff_output__
|
| 9 |
+
|
| 10 |
+
# testing
|
| 11 |
+
coverage
|
| 12 |
+
|
| 13 |
+
# production
|
| 14 |
+
build
|
| 15 |
+
www
|
| 16 |
+
.deliver
|
| 17 |
+
|
| 18 |
+
# misc
|
| 19 |
+
.DS_Store
|
| 20 |
+
npm-debug.log
|
| 21 |
+
yarn-error.log
|
| 22 |
+
.idea
|
| 23 |
+
jest
|
| 24 |
+
|
| 25 |
+
lerna-debug.log
|
| 26 |
+
|
| 27 |
+
standalone-packages/monaco-editor-core
|
| 28 |
+
|
| 29 |
+
.next
|
| 30 |
+
.cache-loader
|
.editorconfig
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[*.js]
|
| 2 |
+
indent_style = space
|
| 3 |
+
indent_size = 2
|
| 4 |
+
end_of_line = lf
|
.env
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
AMPLITUDE_API_KEY=a205ed9b06a7baf5a594bdd30293aa80
|
| 2 |
+
SENTRY_DSN=https://f595bc90ce3646c4a9d76a8d3b84b403@sentry.io/2071895
|
| 3 |
+
IS_ONPREM=false
|
| 4 |
+
USE_STATIC_PREVIEW=false
|
| 5 |
+
PREVIEW_DOMAIN=csb.app
|
| 6 |
+
ROWS_API_KEY=""
|
.eslintignore
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
**/cra-files/*.*
|
| 2 |
+
**/eslint-lint.js
|
| 3 |
+
**/stories/*.*
|
| 4 |
+
**/lib/*.*
|
| 5 |
+
**/*.d.ts
|
| 6 |
+
packages/app/integration-tests/*
|
| 7 |
+
static/*
|
| 8 |
+
packages/browser-dart-sass
|
.eslintrc
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"extends": ["airbnb", "prettier", "prettier/react"],
|
| 3 |
+
"plugins": ["react-hooks"],
|
| 4 |
+
"parser": "babel-eslint",
|
| 5 |
+
"env": {
|
| 6 |
+
"browser": true,
|
| 7 |
+
"node": true,
|
| 8 |
+
"jest": true,
|
| 9 |
+
"es6": true
|
| 10 |
+
},
|
| 11 |
+
"globals": {
|
| 12 |
+
"VERSION": true,
|
| 13 |
+
"$PropertyType": true,
|
| 14 |
+
"TimeoutID": true,
|
| 15 |
+
"object": true,
|
| 16 |
+
"__DEV__": true,
|
| 17 |
+
"Stripe": true
|
| 18 |
+
},
|
| 19 |
+
"rules": {
|
| 20 |
+
"react/jsx-filename-extension": 0,
|
| 21 |
+
"react/sort-comp": 0,
|
| 22 |
+
"react/destructuring-assignment": 0,
|
| 23 |
+
"react/state-in-constructor": 0,
|
| 24 |
+
"react/jsx-props-no-spreading": 0,
|
| 25 |
+
"react/static-property-placement": 0,
|
| 26 |
+
"react/jsx-no-useless-fragment": "error",
|
| 27 |
+
"react/jsx-curly-brace-presence": 0,
|
| 28 |
+
"import/no-extraneous-dependencies": 0,
|
| 29 |
+
"import/no-cycle": "warn",
|
| 30 |
+
"react/prop-types": 0,
|
| 31 |
+
"arrow-parens": 0,
|
| 32 |
+
"prefer-destructuring": 0,
|
| 33 |
+
"no-async-promise-executor": "warn",
|
| 34 |
+
"import/prefer-default-export": 0,
|
| 35 |
+
"class-methods-use-this": 0,
|
| 36 |
+
"jsx-a11y/click-events-have-key-events": "warn",
|
| 37 |
+
"no-console": ["error", { "allow": ["error", "warn"] }],
|
| 38 |
+
"prefer-template": "off",
|
| 39 |
+
"no-plusplus": 0,
|
| 40 |
+
"no-underscore-dangle": "off",
|
| 41 |
+
"no-nested-ternary": "warn",
|
| 42 |
+
"react/require-default-props": "off",
|
| 43 |
+
"import/no-named-default": 0,
|
| 44 |
+
"import/no-webpack-loader-syntax": 0,
|
| 45 |
+
"import/extensions": [
|
| 46 |
+
"error",
|
| 47 |
+
"always",
|
| 48 |
+
{
|
| 49 |
+
"ts": "never",
|
| 50 |
+
"tsx": "never",
|
| 51 |
+
"js": "never"
|
| 52 |
+
}
|
| 53 |
+
],
|
| 54 |
+
"import/default": "error",
|
| 55 |
+
"no-param-reassign": ["error", { "props": false }],
|
| 56 |
+
"camelcase": 0,
|
| 57 |
+
"react-hooks/rules-of-hooks": "error",
|
| 58 |
+
"react-hooks/exhaustive-deps": "warn",
|
| 59 |
+
"jsx-a11y/href-no-hash": "off",
|
| 60 |
+
"jsx-a11y/anchor-is-valid": [
|
| 61 |
+
"warn",
|
| 62 |
+
{ "aspects": ["noHref", "invalidHref"] }
|
| 63 |
+
],
|
| 64 |
+
"jsx-a11y/label-has-for": "off",
|
| 65 |
+
"no-bitwise": "off",
|
| 66 |
+
"arrow-body-style": "off",
|
| 67 |
+
"no-restricted-globals": "off",
|
| 68 |
+
"no-restricted-syntax": "off",
|
| 69 |
+
"lines-between-class-members": [
|
| 70 |
+
"error",
|
| 71 |
+
"always",
|
| 72 |
+
{
|
| 73 |
+
"exceptAfterSingleLine": true
|
| 74 |
+
}
|
| 75 |
+
],
|
| 76 |
+
"max-classes-per-file": "off"
|
| 77 |
+
},
|
| 78 |
+
"overrides": [
|
| 79 |
+
{
|
| 80 |
+
"files": ["**/*.ts", "**/*.tsx"],
|
| 81 |
+
"parser": "@typescript-eslint/parser",
|
| 82 |
+
"parserOptions": {
|
| 83 |
+
"ecmaVersion": 2018,
|
| 84 |
+
"sourceType": "module",
|
| 85 |
+
"ecmaFeatures": { "jsx": true },
|
| 86 |
+
"warnOnUnsupportedTypeScriptVersion": true
|
| 87 |
+
},
|
| 88 |
+
"plugins": ["@typescript-eslint"],
|
| 89 |
+
"rules": {
|
| 90 |
+
"default-case": "off",
|
| 91 |
+
"no-dupe-class-members": "off",
|
| 92 |
+
"no-array-constructor": "off",
|
| 93 |
+
"@typescript-eslint/no-array-constructor": "warn",
|
| 94 |
+
"@typescript-eslint/no-namespace": "error",
|
| 95 |
+
"no-use-before-define": "off",
|
| 96 |
+
"@typescript-eslint/no-use-before-define": [
|
| 97 |
+
"warn",
|
| 98 |
+
{
|
| 99 |
+
"functions": false,
|
| 100 |
+
"classes": false,
|
| 101 |
+
"variables": false,
|
| 102 |
+
"typedefs": false
|
| 103 |
+
}
|
| 104 |
+
],
|
| 105 |
+
"no-unused-vars": "off",
|
| 106 |
+
"no-undef": "off",
|
| 107 |
+
"@typescript-eslint/no-unused-vars": [
|
| 108 |
+
"error",
|
| 109 |
+
{ "args": "none", "ignoreRestSiblings": true }
|
| 110 |
+
],
|
| 111 |
+
"no-useless-constructor": "off",
|
| 112 |
+
"@typescript-eslint/no-useless-constructor": "warn",
|
| 113 |
+
"import/extensions": 0,
|
| 114 |
+
"import/no-unresolved": 0,
|
| 115 |
+
"no-shadow": "off",
|
| 116 |
+
"@typescript-eslint/no-shadow": ["error"],
|
| 117 |
+
"spaced-comment": "warn"
|
| 118 |
+
}
|
| 119 |
+
}
|
| 120 |
+
]
|
| 121 |
+
}
|
.flowconfig
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[ignore]
|
| 2 |
+
# We vendor our src directory, which is not needed for type-checking
|
| 3 |
+
.*/styled-components/src/.*
|
| 4 |
+
.*/node_modules/*
|
| 5 |
+
|
| 6 |
+
[include]
|
| 7 |
+
.*/node_modules/common*
|
| 8 |
+
|
| 9 |
+
[libs]
|
| 10 |
+
# This is were your own flow-typed libdefs go
|
| 11 |
+
flow-typed
|
| 12 |
+
|
| 13 |
+
# These declarations are super explicit...
|
| 14 |
+
# We want to show what libdef files we need to make
|
| 15 |
+
# flow understand all external dependencies
|
| 16 |
+
#
|
| 17 |
+
# If you have similar dependencies, you will need to
|
| 18 |
+
# check which libdef files are covered by your flow-typed
|
| 19 |
+
# directory!
|
| 20 |
+
#
|
| 21 |
+
# A more generic approach (please use with caution!):
|
| 22 |
+
# node_modules/styled-components/flow-typed/*.js
|
| 23 |
+
|
| 24 |
+
node_modules/styled-components/flow-typed/react-native.js
|
| 25 |
+
node_modules/styled-components/flow-typed/glamor_vx.x.x.js
|
| 26 |
+
node_modules/styled-components/flow-typed/lodash_v4.x.x.js
|
| 27 |
+
node_modules/styled-components/flow-typed/react-native.js
|
| 28 |
+
node_modules/styled-components/flow-typed/inline-style-prefixer_vx.x.x.js
|
| 29 |
+
|
| 30 |
+
[options]
|
| 31 |
+
module.system.node.resolve_dirname=node_modules
|
| 32 |
+
module.system.node.resolve_dirname=src
|
| 33 |
+
module.system.node.resolve_dirname=packages
|
| 34 |
+
|
| 35 |
+
# Yeah, we use this to ignore errors...
|
| 36 |
+
# Just add it, if you have a different suppress_comment notation
|
| 37 |
+
suppress_comment=.*\\$FlowIssue
|
.gitattributes
CHANGED
|
@@ -1,35 +1,69 @@
|
|
| 1 |
-
*
|
| 2 |
-
*
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
* text=auto eol=lf
|
| 2 |
+
standalone-packages/* linguist-vendored
|
| 3 |
+
packages/app/integration-tests/BrowserStackLocal filter=lfs diff=lfs merge=lfs -text
|
| 4 |
+
packages/app/integration-tests/tests/__image_snapshots__/31kn7voz4q-snap.png filter=lfs diff=lfs merge=lfs -text
|
| 5 |
+
packages/app/integration-tests/tests/__image_snapshots__/CompuIves-codesandbox-presentation-snap.png filter=lfs diff=lfs merge=lfs -text
|
| 6 |
+
packages/app/integration-tests/tests/__image_snapshots__/faceyspacey-redux-first-router-codesandbox-snap.png filter=lfs diff=lfs merge=lfs -text
|
| 7 |
+
packages/app/integration-tests/tests/__image_snapshots__/gpgpu-curl-noise-yq6y8-snap.png filter=lfs diff=lfs merge=lfs -text
|
| 8 |
+
packages/app/src/app/overmind/effects/zip/create-zip/create-react-app/files.zip filter=lfs diff=lfs merge=lfs -text
|
| 9 |
+
packages/app/src/app/overmind/effects/zip/create-zip/create-react-app-typescript/files.zip filter=lfs diff=lfs merge=lfs -text
|
| 10 |
+
packages/app/src/app/overmind/effects/zip/create-zip/preact-cli/files.zip filter=lfs diff=lfs merge=lfs -text
|
| 11 |
+
packages/app/src/app/overmind/effects/zip/create-zip/vue-cli/files.zip filter=lfs diff=lfs merge=lfs -text
|
| 12 |
+
packages/app/static/fonts/TWKEverett-Medium-web.ttf filter=lfs diff=lfs merge=lfs -text
|
| 13 |
+
packages/app/static/fonts/everett/TWKEverett-Light-web.ttf filter=lfs diff=lfs merge=lfs -text
|
| 14 |
+
packages/app/static/fonts/everett/TWKEverett-Medium-web.ttf filter=lfs diff=lfs merge=lfs -text
|
| 15 |
+
packages/app/static/fonts/everett/TWKEverett-Regular-web.ttf filter=lfs diff=lfs merge=lfs -text
|
| 16 |
+
packages/app/static/fonts/inter/Inter-Black.woff filter=lfs diff=lfs merge=lfs -text
|
| 17 |
+
packages/app/static/fonts/inter/Inter-BlackItalic.woff filter=lfs diff=lfs merge=lfs -text
|
| 18 |
+
packages/app/static/fonts/inter/Inter-BlackItalic.woff2 filter=lfs diff=lfs merge=lfs -text
|
| 19 |
+
packages/app/static/fonts/inter/Inter-Bold.woff filter=lfs diff=lfs merge=lfs -text
|
| 20 |
+
packages/app/static/fonts/inter/Inter-Bold.woff2 filter=lfs diff=lfs merge=lfs -text
|
| 21 |
+
packages/app/static/fonts/inter/Inter-BoldItalic.woff filter=lfs diff=lfs merge=lfs -text
|
| 22 |
+
packages/app/static/fonts/inter/Inter-BoldItalic.woff2 filter=lfs diff=lfs merge=lfs -text
|
| 23 |
+
packages/app/static/fonts/inter/Inter-ExtraBold.woff filter=lfs diff=lfs merge=lfs -text
|
| 24 |
+
packages/app/static/fonts/inter/Inter-ExtraBold.woff2 filter=lfs diff=lfs merge=lfs -text
|
| 25 |
+
packages/app/static/fonts/inter/Inter-ExtraBoldItalic.woff filter=lfs diff=lfs merge=lfs -text
|
| 26 |
+
packages/app/static/fonts/inter/Inter-ExtraBoldItalic.woff2 filter=lfs diff=lfs merge=lfs -text
|
| 27 |
+
packages/app/static/fonts/inter/Inter-ExtraLight-BETA.woff filter=lfs diff=lfs merge=lfs -text
|
| 28 |
+
packages/app/static/fonts/inter/Inter-ExtraLight-BETA.woff2 filter=lfs diff=lfs merge=lfs -text
|
| 29 |
+
packages/app/static/fonts/inter/Inter-ExtraLightItalic-BETA.woff filter=lfs diff=lfs merge=lfs -text
|
| 30 |
+
packages/app/static/fonts/inter/Inter-ExtraLightItalic-BETA.woff2 filter=lfs diff=lfs merge=lfs -text
|
| 31 |
+
packages/app/static/fonts/inter/Inter-Italic.woff filter=lfs diff=lfs merge=lfs -text
|
| 32 |
+
packages/app/static/fonts/inter/Inter-Light-BETA.woff filter=lfs diff=lfs merge=lfs -text
|
| 33 |
+
packages/app/static/fonts/inter/Inter-Light-BETA.woff2 filter=lfs diff=lfs merge=lfs -text
|
| 34 |
+
packages/app/static/fonts/inter/Inter-LightItalic-BETA.woff filter=lfs diff=lfs merge=lfs -text
|
| 35 |
+
packages/app/static/fonts/inter/Inter-LightItalic-BETA.woff2 filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
packages/app/static/fonts/inter/Inter-Medium.woff filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
packages/app/static/fonts/inter/Inter-MediumItalic.woff filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
packages/app/static/fonts/inter/Inter-MediumItalic.woff2 filter=lfs diff=lfs merge=lfs -text
|
| 39 |
+
packages/app/static/fonts/inter/Inter-Regular.woff filter=lfs diff=lfs merge=lfs -text
|
| 40 |
+
packages/app/static/fonts/inter/Inter-SemiBold.woff filter=lfs diff=lfs merge=lfs -text
|
| 41 |
+
packages/app/static/fonts/inter/Inter-SemiBoldItalic.woff filter=lfs diff=lfs merge=lfs -text
|
| 42 |
+
packages/app/static/fonts/inter/Inter-SemiBoldItalic.woff2 filter=lfs diff=lfs merge=lfs -text
|
| 43 |
+
packages/app/static/fonts/inter/Inter-Thin-BETA.woff filter=lfs diff=lfs merge=lfs -text
|
| 44 |
+
packages/app/static/fonts/inter/Inter-Thin-BETA.woff2 filter=lfs diff=lfs merge=lfs -text
|
| 45 |
+
packages/app/static/fonts/inter/Inter-ThinItalic-BETA.woff filter=lfs diff=lfs merge=lfs -text
|
| 46 |
+
packages/app/static/fonts/inter/Inter-ThinItalic-BETA.woff2 filter=lfs diff=lfs merge=lfs -text
|
| 47 |
+
packages/app/static/fonts/inter/Inter-italic.var.woff2 filter=lfs diff=lfs merge=lfs -text
|
| 48 |
+
packages/app/static/fonts/inter/Inter-upright.var.woff2 filter=lfs diff=lfs merge=lfs -text
|
| 49 |
+
packages/app/static/fonts/inter/Inter.var.woff2 filter=lfs diff=lfs merge=lfs -text
|
| 50 |
+
packages/app/static/img/banner.png filter=lfs diff=lfs merge=lfs -text
|
| 51 |
+
packages/app/static/img/collaboration-sticker.png filter=lfs diff=lfs merge=lfs -text
|
| 52 |
+
packages/app/static/img/discover-banner-playjs.png filter=lfs diff=lfs merge=lfs -text
|
| 53 |
+
packages/app/static/img/explore.png filter=lfs diff=lfs merge=lfs -text
|
| 54 |
+
packages/app/static/img/onboarding/deploy.jpg filter=lfs diff=lfs merge=lfs -text
|
| 55 |
+
packages/app/static/img/onboarding/ending.jpg filter=lfs diff=lfs merge=lfs -text
|
| 56 |
+
packages/app/static/img/onboarding/import.jpg filter=lfs diff=lfs merge=lfs -text
|
| 57 |
+
packages/app/static/img/onboarding/invite.jpg filter=lfs diff=lfs merge=lfs -text
|
| 58 |
+
packages/app/static/img/onboarding/multiplayer.jpg filter=lfs diff=lfs merge=lfs -text
|
| 59 |
+
packages/app/static/img/projects-banner.png filter=lfs diff=lfs merge=lfs -text
|
| 60 |
+
packages/app/static/img/terminal_upgrade_screenshot.png filter=lfs diff=lfs merge=lfs -text
|
| 61 |
+
packages/chrome-extension/assets/Chrome1.jpg filter=lfs diff=lfs merge=lfs -text
|
| 62 |
+
packages/chrome-extension/assets/Chrome2.jpg filter=lfs diff=lfs merge=lfs -text
|
| 63 |
+
packages/chrome-extension/assets/still2.png filter=lfs diff=lfs merge=lfs -text
|
| 64 |
+
standalone-packages/codesandbox-browserfs/test/fixtures/isofs/test_joliet.iso filter=lfs diff=lfs merge=lfs -text
|
| 65 |
+
standalone-packages/codesandbox-browserfs/test/fixtures/isofs/test_rock_ridge.iso filter=lfs diff=lfs merge=lfs -text
|
| 66 |
+
standalone-packages/codesandbox-browserfs/test/fixtures/zipfs/zipfs_fixtures_l0.zip filter=lfs diff=lfs merge=lfs -text
|
| 67 |
+
standalone-packages/codesandbox-browserfs/test/fixtures/zipfs/zipfs_fixtures_l4.zip filter=lfs diff=lfs merge=lfs -text
|
| 68 |
+
standalone-packages/codesandbox-browserfs/test/fixtures/zipfs/zipfs_fixtures_l9.zip filter=lfs diff=lfs merge=lfs -text
|
| 69 |
+
standalone-packages/vscode-extensions/vscode-extensions.tar.zst filter=lfs diff=lfs merge=lfs -text
|
.github/FUNDING.yml
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
open_collective: codesandbox
|
| 2 |
+
custom: https://codesandbox.io/pricing
|
.github/ISSUE_TEMPLATE/BUG.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
name: 🐛 Bug Report
|
| 3 |
+
about: Did something not work?
|
| 4 |
+
---
|
| 5 |
+
|
| 6 |
+
# 🐛 bug report
|
| 7 |
+
|
| 8 |
+
## Preflight Checklist
|
| 9 |
+
|
| 10 |
+
<!-- Please ensure you've completed the following steps by replacing [ ] with [x]-->
|
| 11 |
+
|
| 12 |
+
- [ ] I have read the [Contributing Guidelines][contributing] for this project.
|
| 13 |
+
- [ ] I agree to follow the [Code of Conduct][code_of_conduct] that this project
|
| 14 |
+
adheres to.
|
| 15 |
+
- [ ] I have searched the issue tracker for an issue that matches the one I want
|
| 16 |
+
to file, without success.
|
| 17 |
+
|
| 18 |
+
## Description of the problem
|
| 19 |
+
|
| 20 |
+
## How has this issue affected you? What are you trying to accomplish?
|
| 21 |
+
|
| 22 |
+
### To Reproduce
|
| 23 |
+
|
| 24 |
+
<!--
|
| 25 |
+
Your best chance of getting this bug looked at quickly is to provide an example.
|
| 26 |
+
-->
|
| 27 |
+
|
| 28 |
+
### Link to sandbox: [link]() (optional)
|
| 29 |
+
|
| 30 |
+
### Your Environment
|
| 31 |
+
|
| 32 |
+
| Software | Name/Version |
|
| 33 |
+
| ---------------- | ------------ |
|
| 34 |
+
| Сodesandbox | |
|
| 35 |
+
| Browser | |
|
| 36 |
+
| Operating System | |
|
| 37 |
+
|
| 38 |
+
<!-- prettier-ignore-start -->
|
| 39 |
+
[code_of_conduct]: https://github.com/codesandbox/codesandbox-client/blob/main/CODE_OF_CONDUCT.md
|
| 40 |
+
[contributing]: https://github.com/codesandbox/codesandbox-client/blob/main/CONTRIBUTING.md
|
| 41 |
+
<!-- prettier-ignore-end -->
|
.github/ISSUE_TEMPLATE/FEATURE.md
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
name: 🌈 Feature
|
| 3 |
+
about: What cool thing would you like to add?
|
| 4 |
+
---
|
| 5 |
+
|
| 6 |
+
# 🌈 Feature
|
| 7 |
+
|
| 8 |
+
<!-- What is this feature? -->
|
| 9 |
+
<!-- How the feature should work? -->
|
| 10 |
+
<!-- You have examples or an idea how it can be implemented? -->
|
.github/ISSUE_TEMPLATE/config.yml
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
blank_issues_enabled: false
|
| 2 |
+
contact_links:
|
| 3 |
+
- name: Question
|
| 4 |
+
url: https://github.com/codesandbox/codesandbox-client/discussions
|
| 5 |
+
about: Have any questions?
|
.github/PULL_REQUEST_TEMPLATE.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!--
|
| 2 |
+
Please make sure you are familiar with and follow the instructions in the
|
| 3 |
+
contributing guidelines (found in the CONTRIBUTING.md file).
|
| 4 |
+
|
| 5 |
+
Please fill out the information below to expedite the review and (hopefully)
|
| 6 |
+
merge of your pull request!
|
| 7 |
+
-->
|
| 8 |
+
|
| 9 |
+
## What kind of change does this PR introduce?
|
| 10 |
+
|
| 11 |
+
<!-- Is it a Bug fix, feature, docs update, ... -->
|
| 12 |
+
|
| 13 |
+
## What is the current behavior?
|
| 14 |
+
|
| 15 |
+
<!-- You can also link to an open issue here -->
|
| 16 |
+
|
| 17 |
+
## What is the new behavior?
|
| 18 |
+
|
| 19 |
+
<!-- if this is a feature change -->
|
| 20 |
+
|
| 21 |
+
## What steps did you take to test this? This is required before we can merge, make sure to test the flow you've updated.
|
| 22 |
+
|
| 23 |
+
1. Step A
|
| 24 |
+
2. Step B
|
| 25 |
+
3. Step C
|
| 26 |
+
|
| 27 |
+
## Checklist
|
| 28 |
+
|
| 29 |
+
<!-- Have you done all of these things? -->
|
| 30 |
+
<!-- add "N/A" to the end of each line that's irrelevant to your changes -->
|
| 31 |
+
<!-- to check an item, place an "x" in the box like so: "- [x] Documentation" -->
|
| 32 |
+
|
| 33 |
+
- [ ] Documentation
|
| 34 |
+
- [ ] Testing <!-- We can only merge the PR if this is checked -->
|
| 35 |
+
- [ ] Ready to be merged
|
| 36 |
+
<!-- In your opinion, is this ready to be merged as soon as it's reviewed? -->
|
| 37 |
+
- [ ] Added myself to contributors table
|
| 38 |
+
<!-- this is optional, see the contributing guidelines for instructions -->
|
| 39 |
+
|
| 40 |
+
<!-- feel free to add additional comments -->
|
| 41 |
+
<!-- Thank you for contributing! -->
|
.github/codeql/codeql-config.yml
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
name: "CodeQL Config"
|
| 2 |
+
|
| 3 |
+
# Exclude paths to reduce disk space usage during CodeQL analysis
|
| 4 |
+
# This prevents analyzing unnecessary files that consume disk space
|
| 5 |
+
paths-ignore:
|
| 6 |
+
# Dependencies - don't analyze third-party code
|
| 7 |
+
- "**/node_modules"
|
| 8 |
+
- "**/yarn.lock"
|
| 9 |
+
- "**/package-lock.json"
|
| 10 |
+
|
| 11 |
+
# Build artifacts - generated code doesn't need analysis
|
| 12 |
+
- "**/dist"
|
| 13 |
+
- "**/lib"
|
| 14 |
+
- "**/compiled"
|
| 15 |
+
- "**/build"
|
| 16 |
+
- "**/www"
|
| 17 |
+
- "**/release"
|
| 18 |
+
|
| 19 |
+
# Test fixtures and snapshots
|
| 20 |
+
- "**/__mocks__"
|
| 21 |
+
- "**/__image_snapshots__"
|
| 22 |
+
- "**/_fixtures"
|
| 23 |
+
- "**/fixture"
|
| 24 |
+
- "**/test/**/*.png"
|
| 25 |
+
- "**/test/**/*.jpg"
|
| 26 |
+
- "**/test/**/*.svg"
|
| 27 |
+
- "**/integration-tests/**/*.png"
|
| 28 |
+
|
| 29 |
+
# Example and playground files - not production code
|
| 30 |
+
- "**/example"
|
| 31 |
+
- "**/examples"
|
| 32 |
+
- "**/playground"
|
| 33 |
+
- "**/website"
|
| 34 |
+
- "**/docs"
|
| 35 |
+
|
| 36 |
+
# Generated files
|
| 37 |
+
- "**/*.map"
|
| 38 |
+
- "**/*.min.js"
|
| 39 |
+
- "**/*.min.css"
|
| 40 |
+
|
| 41 |
+
# Large standalone packages - exclude website and release directories
|
| 42 |
+
- "standalone-packages/monaco-editor/website"
|
| 43 |
+
- "standalone-packages/monaco-editor/release"
|
| 44 |
+
- "standalone-packages/vscode-editor/release"
|
| 45 |
+
- "standalone-packages/vscode-textmate/**/*.result"
|
| 46 |
+
- "standalone-packages/vscode-textmate/**/*.patch"
|
| 47 |
+
|
| 48 |
+
# Static assets
|
| 49 |
+
- "**/static/fonts"
|
| 50 |
+
- "**/static/img"
|
| 51 |
+
- "**/public"
|
| 52 |
+
|
| 53 |
+
# CI/CD files
|
| 54 |
+
- "**/Dockerfile*"
|
| 55 |
+
- "**/.circleci"
|
.github/workflows/codeql.yml
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
name: "CodeQL"
|
| 2 |
+
|
| 3 |
+
on:
|
| 4 |
+
push:
|
| 5 |
+
branches: [ "main" ]
|
| 6 |
+
pull_request:
|
| 7 |
+
branches: [ "main" ]
|
| 8 |
+
schedule:
|
| 9 |
+
- cron: '0 0 * * 0'
|
| 10 |
+
|
| 11 |
+
jobs:
|
| 12 |
+
analyze:
|
| 13 |
+
name: Analyze (${{ matrix.language }})
|
| 14 |
+
runs-on: ubuntu-latest
|
| 15 |
+
permissions:
|
| 16 |
+
# required for all workflows
|
| 17 |
+
security-events: write
|
| 18 |
+
# required to fetch internal or private CodeQL packs
|
| 19 |
+
packages: read
|
| 20 |
+
# only required for workflows in private repositories
|
| 21 |
+
actions: read
|
| 22 |
+
contents: read
|
| 23 |
+
|
| 24 |
+
strategy:
|
| 25 |
+
fail-fast: false
|
| 26 |
+
matrix:
|
| 27 |
+
include:
|
| 28 |
+
- language: javascript-typescript
|
| 29 |
+
build-mode: none
|
| 30 |
+
|
| 31 |
+
steps:
|
| 32 |
+
- name: Clean up disk space
|
| 33 |
+
run: |
|
| 34 |
+
echo "Disk space before cleanup:"
|
| 35 |
+
df -h
|
| 36 |
+
echo ""
|
| 37 |
+
echo "Cleaning up unnecessary files to free disk space..."
|
| 38 |
+
|
| 39 |
+
# Remove large tool directories that aren't needed for JavaScript/TypeScript CodeQL analysis
|
| 40 |
+
# These tools will be re-downloaded by GitHub Actions if needed for other jobs
|
| 41 |
+
sudo rm -rf /usr/share/dotnet
|
| 42 |
+
sudo rm -rf /opt/ghc
|
| 43 |
+
sudo rm -rf /usr/local/share/boost
|
| 44 |
+
sudo rm -rf /usr/local/lib/android
|
| 45 |
+
sudo rm -rf /opt/az
|
| 46 |
+
|
| 47 |
+
# Remove large tool caches (CodeQL will re-download only what it needs)
|
| 48 |
+
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
|
| 49 |
+
|
| 50 |
+
# Clean up system caches
|
| 51 |
+
sudo apt-get clean
|
| 52 |
+
sudo rm -rf /var/lib/apt/lists/*
|
| 53 |
+
|
| 54 |
+
# Remove Docker images if Docker is installed (not needed for CodeQL)
|
| 55 |
+
docker system prune -af || true
|
| 56 |
+
|
| 57 |
+
# Remove pip cache
|
| 58 |
+
rm -rf ~/.cache/pip || true
|
| 59 |
+
|
| 60 |
+
# Remove npm cache (will be recreated during checkout if needed)
|
| 61 |
+
npm cache clean --force || true
|
| 62 |
+
|
| 63 |
+
echo ""
|
| 64 |
+
echo "Disk space after cleanup:"
|
| 65 |
+
df -h
|
| 66 |
+
|
| 67 |
+
- name: Checkout repository
|
| 68 |
+
uses: actions/checkout@v4
|
| 69 |
+
|
| 70 |
+
# Initializes the CodeQL tools for scanning.
|
| 71 |
+
- name: Initialize CodeQL
|
| 72 |
+
uses: github/codeql-action/init@v4
|
| 73 |
+
with:
|
| 74 |
+
languages: ${{ matrix.language }}
|
| 75 |
+
build-mode: ${{ matrix.build-mode }}
|
| 76 |
+
# Use our custom config file to exclude unnecessary files
|
| 77 |
+
config-file: ./.github/codeql/codeql-config.yml
|
| 78 |
+
|
| 79 |
+
- name: Perform CodeQL Analysis
|
| 80 |
+
uses: github/codeql-action/analyze@v4
|
| 81 |
+
with:
|
| 82 |
+
category: "/language:${{matrix.language}}"
|
| 83 |
+
|
.gitignore
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# See http://help.github.com/ignore-files/ for more about ignoring files.
|
| 2 |
+
|
| 3 |
+
# dependencies
|
| 4 |
+
node_modules
|
| 5 |
+
# we use yarn
|
| 6 |
+
package-lock.json
|
| 7 |
+
|
| 8 |
+
/integration-tests/**/__diff_output__
|
| 9 |
+
|
| 10 |
+
# testing
|
| 11 |
+
coverage
|
| 12 |
+
|
| 13 |
+
# production
|
| 14 |
+
build
|
| 15 |
+
www
|
| 16 |
+
.deliver
|
| 17 |
+
lib/
|
| 18 |
+
dist/
|
| 19 |
+
|
| 20 |
+
# misc
|
| 21 |
+
.DS_Store
|
| 22 |
+
npm-debug.log
|
| 23 |
+
yarn-error.log
|
| 24 |
+
.idea
|
| 25 |
+
jest
|
| 26 |
+
stats.json
|
| 27 |
+
|
| 28 |
+
lerna-debug.log
|
| 29 |
+
|
| 30 |
+
standalone-packages/monaco-editor-core
|
| 31 |
+
|
| 32 |
+
.next
|
| 33 |
+
.cache-loader
|
| 34 |
+
|
| 35 |
+
packages/app/static/js/env-config.js
|
.graphqlconfig.yml
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
projects:
|
| 2 |
+
app:
|
| 3 |
+
schemaPath: packages/app/src/app/graphql/schema.graphql
|
| 4 |
+
extensions:
|
| 5 |
+
endpoints:
|
| 6 |
+
prod: 'https://codesandbox.io/api/graphql'
|
| 7 |
+
staging: 'https://codesandbox.stream/api/graphql'
|
| 8 |
+
dev: 'http://server:4000/api/graphql'
|
.imgbotconfig
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"ignoredFiles": [
|
| 3 |
+
"*.svg",
|
| 4 |
+
"**/__image_snapshots__/**"
|
| 5 |
+
]
|
| 6 |
+
}
|
.nvmrc
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
v16
|
.prettierignore
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
!/standalone-packages/vscode/src/vs/codesandbox/
|
| 2 |
+
!/standalone-packages/vscode/src/vs/codesandbox/*
|
| 3 |
+
!/standalone-packages/vscode/src/vs/codesandbox/**/*.ts
|
| 4 |
+
!/standalone-packages/vscode/src/vs/codesandbox/**/*.*
|
| 5 |
+
|
| 6 |
+
dist/
|
| 7 |
+
lib/
|
| 8 |
+
packages/executors/.rts2_cache_cjs
|
| 9 |
+
packages/executors/.rts2_cache_es
|
| 10 |
+
packages/executors/.rts2_cache_umd
|
| 11 |
+
packages/homepage/.cache
|
| 12 |
+
packages/homepage/public
|
| 13 |
+
static/
|
| 14 |
+
/standalone-packages/*
|
| 15 |
+
www/
|
| 16 |
+
|
| 17 |
+
# Our server side code changes html, we don't want to unintentionally break this by formatting
|
| 18 |
+
*.html
|
| 19 |
+
|
| 20 |
+
.drone.yml
|
.prettierrc.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
module.exports = {
|
| 2 |
+
arrowParens: 'avoid',
|
| 3 |
+
proseWrap: 'always',
|
| 4 |
+
singleQuote: true,
|
| 5 |
+
trailingComma: 'es5',
|
| 6 |
+
};
|
.sentryclirc
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[defaults]
|
| 2 |
+
org = codesandbox
|
| 3 |
+
project = client
|
.vscode/settings.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"eslint.enable": true,
|
| 3 |
+
"typescript.tsdk": "node_modules/typescript/lib",
|
| 4 |
+
"eslint.validate": [
|
| 5 |
+
"javascript",
|
| 6 |
+
"javascriptreact",
|
| 7 |
+
{ "language": "typescript", "autoFix": true },
|
| 8 |
+
{ "language": "typescriptreact", "autoFix": true }
|
| 9 |
+
],
|
| 10 |
+
"files.watcherExclude": {
|
| 11 |
+
"**/node_modules": true,
|
| 12 |
+
"**/node_modules/**": false
|
| 13 |
+
}
|
| 14 |
+
}
|
.yarnclean
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
@types/react-native
|
| 2 |
+
packages/app/node_modules/styled-components
|
| 3 |
+
|
| 4 |
+
# Prevent duplicate graphql. This doesn't seem to break anything
|
| 5 |
+
@divyenduz/ts-graphql-plugin/node_modules/**
|
| 6 |
+
graphql-config/node_modules/**
|
| 7 |
+
|
| 8 |
+
# Issue with jest conflicting with jest-styled-components
|
| 9 |
+
jest-styled-components/typings/**
|
.yarnclean.ci
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# test directories
|
| 2 |
+
__tests__
|
| 3 |
+
test
|
| 4 |
+
tests
|
| 5 |
+
powered-test
|
| 6 |
+
|
| 7 |
+
# asset directories
|
| 8 |
+
docs
|
| 9 |
+
doc
|
| 10 |
+
website
|
| 11 |
+
images
|
| 12 |
+
|
| 13 |
+
# examples
|
| 14 |
+
example
|
| 15 |
+
examples
|
| 16 |
+
|
| 17 |
+
# code coverage directories
|
| 18 |
+
coverage
|
| 19 |
+
.nyc_output
|
| 20 |
+
|
| 21 |
+
# build scripts
|
| 22 |
+
Makefile
|
| 23 |
+
Gulpfile.js
|
| 24 |
+
Gruntfile.js
|
| 25 |
+
|
| 26 |
+
# configs
|
| 27 |
+
appveyor.yml
|
| 28 |
+
circle.yml
|
| 29 |
+
codeship-services.yml
|
| 30 |
+
codeship-steps.yml
|
| 31 |
+
wercker.yml
|
| 32 |
+
.tern-project
|
| 33 |
+
.gitattributes
|
| 34 |
+
.editorconfig
|
| 35 |
+
.*ignore
|
| 36 |
+
.eslintrc
|
| 37 |
+
.jshintrc
|
| 38 |
+
.flowconfig
|
| 39 |
+
.documentup.json
|
| 40 |
+
.yarn-metadata.json
|
| 41 |
+
.travis.yml
|
| 42 |
+
|
| 43 |
+
# misc
|
| 44 |
+
*.md
|
.yarnrc
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
|
CODE_OF_CONDUCT.md
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# CodeSandbox Code of Conduct
|
| 2 |
+
|
| 3 |
+
## Our Pledge
|
| 4 |
+
|
| 5 |
+
We as members, contributors, and leaders pledge to make participation in our
|
| 6 |
+
community a harassment-free experience for everyone, regardless of age, body
|
| 7 |
+
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
| 8 |
+
identity and expression, level of experience, education, socio-economic status,
|
| 9 |
+
nationality, personal appearance, race, religion, or sexual identity and
|
| 10 |
+
orientation.
|
| 11 |
+
|
| 12 |
+
We pledge to act and interact in ways that contribute to an open, welcoming,
|
| 13 |
+
diverse, inclusive, and healthy community.
|
| 14 |
+
|
| 15 |
+
## Our Standards
|
| 16 |
+
|
| 17 |
+
Examples of behavior that contributes to a positive environment for our
|
| 18 |
+
community include:
|
| 19 |
+
|
| 20 |
+
- Demonstrating empathy and kindness toward other people
|
| 21 |
+
- Being respectful of differing opinions, viewpoints, and experiences
|
| 22 |
+
- Giving and gracefully accepting constructive feedback
|
| 23 |
+
- Accepting responsibility and apologizing to those affected by our mistakes,
|
| 24 |
+
and learning from the experience
|
| 25 |
+
- Focusing on what is best not just for us as individuals, but for the overall
|
| 26 |
+
community
|
| 27 |
+
|
| 28 |
+
Examples of unacceptable behavior include:
|
| 29 |
+
|
| 30 |
+
- The use of sexualized language or imagery, and sexual attention or advances of
|
| 31 |
+
any kind
|
| 32 |
+
- Trolling, insulting or derogatory comments, and personal or political attacks
|
| 33 |
+
- Public or private harassment
|
| 34 |
+
- Publishing others' private information, such as a physical or email address,
|
| 35 |
+
without their explicit permission
|
| 36 |
+
- Other conduct which could reasonably be considered inappropriate in a
|
| 37 |
+
professional setting
|
| 38 |
+
|
| 39 |
+
## Enforcement Responsibilities
|
| 40 |
+
|
| 41 |
+
Community leaders are responsible for clarifying and enforcing our standards of
|
| 42 |
+
acceptable behavior and will take appropriate and fair corrective action in
|
| 43 |
+
response to any behavior that they deem inappropriate, threatening, offensive,
|
| 44 |
+
or harmful.
|
| 45 |
+
|
| 46 |
+
Community leaders have the right and responsibility to remove, edit, or reject
|
| 47 |
+
comments, commits, code, wiki edits, issues, and other contributions that are
|
| 48 |
+
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
| 49 |
+
decisions when appropriate.
|
| 50 |
+
|
| 51 |
+
## Scope
|
| 52 |
+
|
| 53 |
+
This Code of Conduct applies within all community spaces, and also applies when
|
| 54 |
+
an individual is officially representing the community in public spaces.
|
| 55 |
+
Examples of representing our community include using an official e-mail address,
|
| 56 |
+
posting via an official social media account, or acting as an appointed
|
| 57 |
+
representative at an online or offline event.
|
| 58 |
+
|
| 59 |
+
## Enforcement
|
| 60 |
+
|
| 61 |
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
| 62 |
+
reported to the community leaders responsible for enforcement at
|
| 63 |
+
support@codesandbox.io. All complaints will be reviewed and investigated
|
| 64 |
+
promptly and fairly.
|
| 65 |
+
|
| 66 |
+
All community leaders are obligated to respect the privacy and security of the
|
| 67 |
+
reporter of any incident.
|
| 68 |
+
|
| 69 |
+
## Enforcement Guidelines
|
| 70 |
+
|
| 71 |
+
Community leaders will follow these Community Impact Guidelines in determining
|
| 72 |
+
the consequences for any action they deem in violation of this Code of Conduct:
|
| 73 |
+
|
| 74 |
+
### 1. Correction
|
| 75 |
+
|
| 76 |
+
**Community Impact**: Use of inappropriate language or other behavior deemed
|
| 77 |
+
unprofessional or unwelcome in the community.
|
| 78 |
+
|
| 79 |
+
**Consequence**: A private, written warning from community leaders, providing
|
| 80 |
+
clarity around the nature of the violation and an explanation of why the
|
| 81 |
+
behavior was inappropriate. A public apology may be requested.
|
| 82 |
+
|
| 83 |
+
### 2. Warning
|
| 84 |
+
|
| 85 |
+
**Community Impact**: A violation through a single incident or series of
|
| 86 |
+
actions.
|
| 87 |
+
|
| 88 |
+
**Consequence**: A warning with consequences for continued behavior. No
|
| 89 |
+
interaction with the people involved, including unsolicited interaction with
|
| 90 |
+
those enforcing the Code of Conduct, for a specified period of time. This
|
| 91 |
+
includes avoiding interactions in community spaces as well as external channels
|
| 92 |
+
like social media. Violating these terms may lead to a temporary or permanent
|
| 93 |
+
ban.
|
| 94 |
+
|
| 95 |
+
### 3. Temporary Ban
|
| 96 |
+
|
| 97 |
+
**Community Impact**: A serious violation of community standards, including
|
| 98 |
+
sustained inappropriate behavior.
|
| 99 |
+
|
| 100 |
+
**Consequence**: A temporary ban from any sort of interaction or public
|
| 101 |
+
communication with the community for a specified period of time. No public or
|
| 102 |
+
private interaction with the people involved, including unsolicited interaction
|
| 103 |
+
with those enforcing the Code of Conduct, is allowed during this period.
|
| 104 |
+
Violating these terms may lead to a permanent ban.
|
| 105 |
+
|
| 106 |
+
### 4. Permanent Ban
|
| 107 |
+
|
| 108 |
+
**Community Impact**: Demonstrating a pattern of violation of community
|
| 109 |
+
standards, including sustained inappropriate behavior, harassment of an
|
| 110 |
+
individual, or aggression toward or disparagement of classes of individuals.
|
| 111 |
+
|
| 112 |
+
**Consequence**: A permanent ban from any sort of public interaction within the
|
| 113 |
+
community.
|
| 114 |
+
|
| 115 |
+
## Attribution
|
| 116 |
+
|
| 117 |
+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
| 118 |
+
version 2.0, available at
|
| 119 |
+
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
| 120 |
+
|
| 121 |
+
Community Impact Guidelines were inspired by
|
| 122 |
+
[Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity).
|
| 123 |
+
|
| 124 |
+
[homepage]: https://www.contributor-covenant.org
|
| 125 |
+
|
| 126 |
+
For answers to common questions about this code of conduct, see the FAQ at
|
| 127 |
+
https://www.contributor-covenant.org/faq. Translations are available at
|
| 128 |
+
https://www.contributor-covenant.org/translations.
|
CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Contributing to CodeSandbox Client
|
| 2 |
+
|
| 3 |
+
## Table of Contents
|
| 4 |
+
|
| 5 |
+
- [Code of Conduct](#code-of-conduct)
|
| 6 |
+
- [Code Organization](#code-organization)
|
| 7 |
+
- [Setting Up the project locally](#setting-up-the-project-locally)
|
| 8 |
+
- [Submitting a Pull Request](#submitting-a-pull-request)
|
| 9 |
+
- [Add yourself as a contributor](#add-yourself-as-a-contributor)
|
| 10 |
+
|
| 11 |
+
## Code of Conduct
|
| 12 |
+
|
| 13 |
+
We have a code of conduct you can find [here](./CODE_OF_CONDUCT.md) and every
|
| 14 |
+
contributor is expected to obey the rules therein. Any issues or PRs that don't
|
| 15 |
+
abide by the code of conduct may be closed.
|
| 16 |
+
|
| 17 |
+
## Code Organization
|
| 18 |
+
|
| 19 |
+
The CodeSandbox client is currently divided in to 5 parts. We use `lerna` to
|
| 20 |
+
share dependencies between these parts.
|
| 21 |
+
|
| 22 |
+
- `app`: The editor, the search, profile page, the embed and the sandbox.
|
| 23 |
+
- `common`: All common parts between these packages, reusable JS.
|
| 24 |
+
- `codesandbox-api`: The npm package that's responsible for communication
|
| 25 |
+
between the sandbox and the editor.
|
| 26 |
+
- `codesandbox-browserfs`: An in-browser file system that emulates the Node JS
|
| 27 |
+
file system API and supports storing and retrieving files from various
|
| 28 |
+
backends. Forked from
|
| 29 |
+
[https://github.com/jvilk/BrowserFS](https://github.com/jvilk/BrowserFS), with
|
| 30 |
+
an additional
|
| 31 |
+
[CodeSandbox backend](https://github.com/codesandbox/codesandbox-client/blob/main/standalone-packages/codesandbox-browserfs/src/backend/CodeSandboxFS.ts).
|
| 32 |
+
|
| 33 |
+
This version of CodeSandbox is using the production server as source of truth,
|
| 34 |
+
this is specified by the environment variable `LOCAL_SERVER`. If you're working
|
| 35 |
+
on a feature that needs you to be logged in, you can login on
|
| 36 |
+
[https://codesandbox.io/](https://codesandbox.io/) and copy the contents of the
|
| 37 |
+
`jwt` local storage key over to your development environment on
|
| 38 |
+
[http://localhost:3000/](http://localhost:3000/). **Be very careful with how you
|
| 39 |
+
handle the token**, as anyone who knows it can login as you and have read/write
|
| 40 |
+
access to all your CodeSandbox content!
|
| 41 |
+
|
| 42 |
+
**Working on your first Pull Request?** You can learn how from this _free_
|
| 43 |
+
series
|
| 44 |
+
[How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github)
|
| 45 |
+
|
| 46 |
+
## Setting Up the project locally
|
| 47 |
+
|
| 48 |
+
To install the project you need to have `yarn` and `node`
|
| 49 |
+
|
| 50 |
+
1. [Fork](https://help.github.com/articles/fork-a-repo/) the project, clone
|
| 51 |
+
your fork:
|
| 52 |
+
|
| 53 |
+
```sh
|
| 54 |
+
# Clone your fork
|
| 55 |
+
git clone https://github.com/<your-username>/codesandbox-client.git
|
| 56 |
+
|
| 57 |
+
# Navigate to the newly cloned directory
|
| 58 |
+
cd codesandbox-client
|
| 59 |
+
```
|
| 60 |
+
|
| 61 |
+
2. Your environment needs to be running Node v. 10
|
| 62 |
+
- `.nvmrc` config exists in the repo root, specifying a v.10.x.x version
|
| 63 |
+
- you can use [fnm](https://github.com/Schniz/fnm) (`fnm use`) to change
|
| 64 |
+
your current node version to the one specified in `.nvmrc`
|
| 65 |
+
3. from the root of the project: `yarn` to install all dependencies
|
| 66 |
+
- make sure you have latest `yarn` version
|
| 67 |
+
4. from the root of the project: `yarn start`
|
| 68 |
+
- this builds the dependencies (`codesandbox-api` and
|
| 69 |
+
`codesandbox-browserfs`) and runs the `app` development environment,
|
| 70 |
+
available on [http://localhost:3000/s/new](http://localhost:3000/s/new)
|
| 71 |
+
- on subsequent runs you can also bypass dependencies building and use
|
| 72 |
+
`yarn start:fast`
|
| 73 |
+
|
| 74 |
+
> Tip: Keep your `main` branch pointing at the original repository and make pull
|
| 75 |
+
> requests from branches on your fork. To do this, run:
|
| 76 |
+
>
|
| 77 |
+
> ```sh
|
| 78 |
+
> git remote add upstream https://github.com/codesandbox/codesandbox-client.git
|
| 79 |
+
> git fetch upstream
|
| 80 |
+
> git branch --set-upstream-to=upstream/main main
|
| 81 |
+
> ```
|
| 82 |
+
>
|
| 83 |
+
> This will add the original repository as a "remote" called "upstream," then
|
| 84 |
+
> fetch the git information from that remote, then set your local `main` branch
|
| 85 |
+
> to use the upstream main branch whenever you run `git pull`. Then you can make
|
| 86 |
+
> all of your pull request branches based on this `main` branch. Whenever you
|
| 87 |
+
> want to update your version of `main`, do a regular `git pull`.
|
| 88 |
+
|
| 89 |
+
5. If you want to debug the state of the app, use `npx overmind-devtools` and
|
| 90 |
+
make sure that the app is running. Learn more
|
| 91 |
+
[here](https://overmindjs.org/core/devtools).
|
| 92 |
+
|
| 93 |
+
## Submitting a Pull Request
|
| 94 |
+
|
| 95 |
+
Please go through existing issues and pull requests to check if somebody else is
|
| 96 |
+
already working on it, we use `someone working on it` label to mark such issues.
|
| 97 |
+
|
| 98 |
+
Also, make sure to run the tests and lint the code before you commit your
|
| 99 |
+
changes.
|
| 100 |
+
|
| 101 |
+
```sh
|
| 102 |
+
yarn test
|
| 103 |
+
yarn lint
|
| 104 |
+
```
|
| 105 |
+
|
| 106 |
+
Before running `yarn lint`, you must have build our `common` and `notifications`
|
| 107 |
+
packages.
|
| 108 |
+
|
| 109 |
+
```sh
|
| 110 |
+
yarn build:deps
|
| 111 |
+
```
|
| 112 |
+
|
| 113 |
+
## Add yourself as a contributor
|
| 114 |
+
|
| 115 |
+
This project follows the
|
| 116 |
+
[all-contributors](https://github.com/all-contributors/all-contributors)
|
| 117 |
+
specification. Contributions of any kind welcome!
|
| 118 |
+
|
| 119 |
+
To add yourself to the table of contributors on the `README.md`, please use the
|
| 120 |
+
automated script as part of your PR:
|
| 121 |
+
|
| 122 |
+
```sh
|
| 123 |
+
yarn contributors:add
|
| 124 |
+
```
|
| 125 |
+
|
| 126 |
+
Follow the prompt and commit `.all-contributorsrc` and `README.md` in the PR.
|
| 127 |
+
|
| 128 |
+
Thank you for taking the time to contribute! 👍
|
Dockerfile
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
FROM nginx:1.25.3-alpine
|
| 2 |
+
|
| 3 |
+
WORKDIR /var/www/codesandbox
|
| 4 |
+
COPY www ./
|
Gulpfile.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
const gulp = require('gulp');
|
| 2 |
+
const _rimraf = require('rimraf');
|
| 3 |
+
|
| 4 |
+
function rimraf(dir) {
|
| 5 |
+
let retries = 0;
|
| 6 |
+
|
| 7 |
+
const retry = cb => {
|
| 8 |
+
_rimraf(dir, { maxBusyTries: 1 }, err => {
|
| 9 |
+
if (!err) {
|
| 10 |
+
return cb();
|
| 11 |
+
}
|
| 12 |
+
|
| 13 |
+
if (err.code === 'ENOTEMPTY' && ++retries < 5) {
|
| 14 |
+
return setTimeout(() => retry(cb), 10);
|
| 15 |
+
}
|
| 16 |
+
|
| 17 |
+
return cb(err);
|
| 18 |
+
});
|
| 19 |
+
};
|
| 20 |
+
|
| 21 |
+
return cb => retry(cb);
|
| 22 |
+
}
|
| 23 |
+
|
| 24 |
+
gulp.task('clean-vscode', rimraf('standalone-packages/monaco-editor-core'));
|
| 25 |
+
|
| 26 |
+
gulp.task('prepare-vscode', ['clean-vscode'], () =>
|
| 27 |
+
gulp
|
| 28 |
+
.src('standalone-packages/vscode/out-monaco-editor-core/**/*')
|
| 29 |
+
.pipe(gulp.dest('standalone-packages/monaco-editor-core'))
|
| 30 |
+
);
|
LICENSE
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
CodeSandbox is licensed under GPLv3, except for `packages/common` and `packages/sandpack-core` and `packages/app/src/sandbox`,
|
| 2 |
+
which are licensed under the Apache License, Version 2.0.
|
| 3 |
+
|
| 4 |
+
CodeSandbox. An online code editor tailored for web application development.
|
| 5 |
+
Copyright (C) 2022 CodeSandbox
|
| 6 |
+
|
| 7 |
+
This program is free software: you can redistribute it and/or modify
|
| 8 |
+
it under the terms of the GNU General Public License as published by
|
| 9 |
+
the Free Software Foundation, either version 3 of the License, or
|
| 10 |
+
(at your option) any later version.
|
| 11 |
+
|
| 12 |
+
This program is distributed in the hope that it will be useful,
|
| 13 |
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
| 14 |
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
| 15 |
+
GNU General Public License for more details.
|
| 16 |
+
|
| 17 |
+
You should have received a copy of the GNU General Public License
|
| 18 |
+
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
README.md
ADDED
|
@@ -0,0 +1,296 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<p align="center">
|
| 2 |
+
<a href="https://codesandbox.io">
|
| 3 |
+
<img src="https://codesandbox.io/static/img/banner.png?v=2" height="300px">
|
| 4 |
+
</a>
|
| 5 |
+
</p>
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
|
| 9 |
+
[](#contributors-)
|
| 10 |
+
[](https://circleci.com/gh/codesandbox/codesandbox-client)
|
| 11 |
+
[](https://www.browserstack.com/automate/public-build/cVJuczlJWUtqWXhIbFN1ZjVQekF4NzNsd3phNEZRaGlWU0pHYVVkdGRFWT0tLXFtTVhaOWRySmN0ZG5QVDNDQ0g5Z0E9PQ==--79fe3eae4f149a400d396c9b12d3988f685785cf)
|
| 12 |
+
[](http://makeapullrequest.com)
|
| 13 |
+
[](http://www.firsttimersonly.com/)
|
| 14 |
+
[](https://lerna.js.org/)
|
| 15 |
+
|
| 16 |
+
An instantly ready, full-featured online IDE for web development on any device
|
| 17 |
+
with a browser. Enabling you to start new projects quickly and prototype
|
| 18 |
+
rapidly. With CodeSandbox, you can create web apps, experiment with code, test
|
| 19 |
+
ideas, and share creations easily.
|
| 20 |
+
|
| 21 |
+
## Other CodeSandbox repositories
|
| 22 |
+
|
| 23 |
+
CodeSandbox consists of several separate servers, some of which are open
|
| 24 |
+
sourced.
|
| 25 |
+
|
| 26 |
+
- Client: the web application
|
| 27 |
+
- Server: the [Phoenix](https://github.com/phoenixframework/phoenix) API server
|
| 28 |
+
- Nginx: Nginx config files
|
| 29 |
+
- [Git Extractor](https://github.com/codesandbox/codesandbox-importers):
|
| 30 |
+
responsible for extracting the source from a GitHub repository
|
| 31 |
+
- [CLI](https://github.com/codesandbox/codesandbox-importers/tree/master/packages/cli):
|
| 32 |
+
the CLI to upload a CodeSandbox project from your command line
|
| 33 |
+
|
| 34 |
+
## Documentation
|
| 35 |
+
|
| 36 |
+
You can find our documentation on our
|
| 37 |
+
[website](https://codesandbox.io/docs/learn/introduction/overview)
|
| 38 |
+
|
| 39 |
+
## Contributors ✨
|
| 40 |
+
|
| 41 |
+
Thanks goes to these wonderful people
|
| 42 |
+
([emoji key](https://github.com/all-contributors/all-contributors#emoji-key)):
|
| 43 |
+
|
| 44 |
+
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
|
| 45 |
+
<!-- prettier-ignore-start -->
|
| 46 |
+
<!-- markdownlint-disable -->
|
| 47 |
+
<table>
|
| 48 |
+
<tbody>
|
| 49 |
+
<tr>
|
| 50 |
+
<td align="center" valign="top" width="14.28%"><a href="http://ivesvh.com"><img src="https://avatars0.githubusercontent.com/u/587016?v=3?s=100" width="100px;" alt="Ives van Hoorne"/><br /><sub><b>Ives van Hoorne</b></sub></a><br /><a href="#question-CompuIves" title="Answering Questions">💬</a> <a href="#blog-CompuIves" title="Blogposts">📝</a> <a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3ACompuIves" title="Bug reports">🐛</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=CompuIves" title="Code">💻</a> <a href="#design-CompuIves" title="Design">🎨</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=CompuIves" title="Documentation">📖</a> <a href="#example-CompuIves" title="Examples">💡</a> <a href="#infra-CompuIves" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/codesandbox/codesandbox-client/pulls?q=is%3Apr+reviewed-by%3ACompuIves" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=CompuIves" title="Tests">⚠️</a> <a href="#tool-CompuIves" title="Tools">🔧</a></td>
|
| 51 |
+
<td align="center" valign="top" width="14.28%"><a href="http://donavon.com"><img src="https://avatars0.githubusercontent.com/u/887639?v=3?s=100" width="100px;" alt="Donavon West"/><br /><sub><b>Donavon West</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=donavon" title="Code">💻</a></td>
|
| 52 |
+
<td align="center" valign="top" width="14.28%"><a href="http://www.jeffallen.io/"><img src="https://avatars0.githubusercontent.com/u/5266810?v=3?s=100" width="100px;" alt="Jeff Allen"/><br /><sub><b>Jeff Allen</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=vueu" title="Code">💻</a></td>
|
| 53 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/bengummer"><img src="https://avatars0.githubusercontent.com/u/1089897?v=3?s=100" width="100px;" alt="Ben Gummer"/><br /><sub><b>Ben Gummer</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=bengummer" title="Code">💻</a></td>
|
| 54 |
+
<td align="center" valign="top" width="14.28%"><a href="http://twitter.com/faceyspacey"><img src="https://avatars3.githubusercontent.com/u/154732?v=3?s=100" width="100px;" alt="James Gillmore"/><br /><sub><b>James Gillmore</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=faceyspacey" title="Code">💻</a> <a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3Afaceyspacey" title="Bug reports">🐛</a></td>
|
| 55 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/viankakrisna"><img src="https://avatars1.githubusercontent.com/u/9636410?v=4?s=100" width="100px;" alt="Ade Viankakrisna Fadlil"/><br /><sub><b>Ade Viankakrisna Fadlil</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=viankakrisna" title="Code">💻</a></td>
|
| 56 |
+
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/tushkiz"><img src="https://avatars1.githubusercontent.com/u/1854763?v=4?s=100" width="100px;" alt="Tushar Sonawane"/><br /><sub><b>Tushar Sonawane</b></sub></a><br /><a href="#question-Tushkiz" title="Answering Questions">💬</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=Tushkiz" title="Code">💻</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=Tushkiz" title="Documentation">📖</a> <a href="#ideas-Tushkiz" title="Ideas, Planning, & Feedback">🤔</a></td>
|
| 57 |
+
</tr>
|
| 58 |
+
<tr>
|
| 59 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/johann-sonntagbauer"><img src="https://avatars3.githubusercontent.com/u/1239401?v=4?s=100" width="100px;" alt="Johann Hubert Sonntagbauer"/><br /><sub><b>Johann Hubert Sonntagbauer</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3Ajohann-sonntagbauer" title="Bug reports">🐛</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=johann-sonntagbauer" title="Code">💻</a></td>
|
| 60 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jseminck"><img src="https://avatars2.githubusercontent.com/u/9586897?v=4?s=100" width="100px;" alt="Joachim Seminck"/><br /><sub><b>Joachim Seminck</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=jseminck" title="Code">💻</a></td>
|
| 61 |
+
<td align="center" valign="top" width="14.28%"><a href="http://chakrihacker.github.io"><img src="https://avatars3.githubusercontent.com/u/5210019?v=4?s=100" width="100px;" alt="Subramanya Chakravarthy"/><br /><sub><b>Subramanya Chakravarthy</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=chakrihacker" title="Code">💻</a></td>
|
| 62 |
+
<td align="center" valign="top" width="14.28%"><a href="http://robby.oconnor.ninja"><img src="https://avatars3.githubusercontent.com/u/23088?v=4?s=100" width="100px;" alt="Robert (Robby) O'Connor"/><br /><sub><b>Robert (Robby) O'Connor</b></sub></a><br /><a href="#infra-robbyoconnor" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
|
| 63 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lbogdan"><img src="https://avatars0.githubusercontent.com/u/2083930?v=4?s=100" width="100px;" alt="Bogdan Luca"/><br /><sub><b>Bogdan Luca</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3Albogdan" title="Bug reports">🐛</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=lbogdan" title="Code">💻</a></td>
|
| 64 |
+
<td align="center" valign="top" width="14.28%"><a href="http://bogas04.github.io"><img src="https://avatars3.githubusercontent.com/u/6177621?v=4?s=100" width="100px;" alt="Divjot Singh"/><br /><sub><b>Divjot Singh</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=bogas04" title="Code">💻</a></td>
|
| 65 |
+
<td align="center" valign="top" width="14.28%"><a href="http://www.jsonnull.com"><img src="https://avatars3.githubusercontent.com/u/5249539?v=4?s=100" width="100px;" alt="Jason Nall"/><br /><sub><b>Jason Nall</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=jsonnull" title="Code">💻</a></td>
|
| 66 |
+
</tr>
|
| 67 |
+
<tr>
|
| 68 |
+
<td align="center" valign="top" width="14.28%"><a href="https://elrumordelaluz.com"><img src="https://avatars3.githubusercontent.com/u/784056?v=4?s=100" width="100px;" alt="Lionel"/><br /><sub><b>Lionel</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=elrumordelaluz" title="Code">💻</a> <a href="#design-elrumordelaluz" title="Design">🎨</a></td>
|
| 69 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/brumm"><img src="https://avatars3.githubusercontent.com/u/170500?v=4?s=100" width="100px;" alt="Philipp Brumm"/><br /><sub><b>Philipp Brumm</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=brumm" title="Code">💻</a></td>
|
| 70 |
+
<td align="center" valign="top" width="14.28%"><a href="http://valentin-hervieu.fr"><img src="https://avatars2.githubusercontent.com/u/2678610?v=4?s=100" width="100px;" alt="Valentin Hervieu"/><br /><sub><b>Valentin Hervieu</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=ValentinH" title="Code">💻</a> <a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3AValentinH" title="Bug reports">🐛</a></td>
|
| 71 |
+
<td align="center" valign="top" width="14.28%"><a href="http://anenth.js.org"><img src="https://avatars0.githubusercontent.com/u/1499218?v=4?s=100" width="100px;" alt="Anenth"/><br /><sub><b>Anenth</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=Anenth" title="Code">💻</a> <a href="#design-Anenth" title="Design">🎨</a> <a href="#ideas-Anenth" title="Ideas, Planning, & Feedback">🤔</a></td>
|
| 72 |
+
<td align="center" valign="top" width="14.28%"><a href="http://dsds.io"><img src="https://avatars0.githubusercontent.com/u/410792?v=4?s=100" width="100px;" alt="Dony Sukardi"/><br /><sub><b>Dony Sukardi</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3Adonysukardi" title="Bug reports">🐛</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=donysukardi" title="Code">💻</a></td>
|
| 73 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/duivvv"><img src="https://avatars3.githubusercontent.com/u/89046?v=4?s=100" width="100px;" alt="Geoffrey Dhuyvetters"/><br /><sub><b>Geoffrey Dhuyvetters</b></sub></a><br /><a href="#design-duivvv" title="Design">🎨</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=duivvv" title="Code">💻</a></td>
|
| 74 |
+
<td align="center" valign="top" width="14.28%"><a href="http://nyaganti.com"><img src="https://avatars3.githubusercontent.com/u/3381746?v=4?s=100" width="100px;" alt="Eswar Yaganti"/><br /><sub><b>Eswar Yaganti</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=nagamalli9999" title="Code">💻</a> <a href="#infra-nagamalli9999" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
|
| 75 |
+
</tr>
|
| 76 |
+
<tr>
|
| 77 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tansongyang"><img src="https://avatars3.githubusercontent.com/u/9488719?v=4?s=100" width="100px;" alt="Frank Tan"/><br /><sub><b>Frank Tan</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=tansongyang" title="Code">💻</a></td>
|
| 78 |
+
<td align="center" valign="top" width="14.28%"><a href="https://bilalbudhani.com"><img src="https://avatars0.githubusercontent.com/u/1650995?v=4?s=100" width="100px;" alt="Bilal Budhani"/><br /><sub><b>Bilal Budhani</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=BilalBudhani" title="Code">💻</a></td>
|
| 79 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/JulianMayorga"><img src="https://avatars3.githubusercontent.com/u/843342?v=4?s=100" width="100px;" alt="El Juli"/><br /><sub><b>El Juli</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=JulianMayorga" title="Code">💻</a></td>
|
| 80 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/arthurdenner"><img src="https://avatars0.githubusercontent.com/u/13774309?v=4?s=100" width="100px;" alt="Arthur Denner"/><br /><sub><b>Arthur Denner</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=arthurdenner" title="Code">💻</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=arthurdenner" title="Documentation">📖</a></td>
|
| 81 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/RSG-Group"><img src="https://avatars3.githubusercontent.com/u/12954909?v=4?s=100" width="100px;" alt="Radi Cho"/><br /><sub><b>Radi Cho</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3Aradi-cho" title="Bug reports">🐛</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=radi-cho" title="Code">💻</a> <a href="#ideas-radi-cho" title="Ideas, Planning, & Feedback">🤔</a></td>
|
| 82 |
+
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/chxy"><img src="https://avatars3.githubusercontent.com/u/679275?v=4?s=100" width="100px;" alt="Xiaoyi Chen"/><br /><sub><b>Xiaoyi Chen</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=xyc" title="Code">💻</a></td>
|
| 83 |
+
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/gautam"><img src="https://avatars3.githubusercontent.com/u/1215971?v=4?s=100" width="100px;" alt="Gautam Arora"/><br /><sub><b>Gautam Arora</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=gautamarora" title="Code">💻</a> <a href="#ideas-gautamarora" title="Ideas, Planning, & Feedback">🤔</a></td>
|
| 84 |
+
</tr>
|
| 85 |
+
<tr>
|
| 86 |
+
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/haroenv"><img src="https://avatars3.githubusercontent.com/u/6270048?v=4?s=100" width="100px;" alt="Haroen Viaene"/><br /><sub><b>Haroen Viaene</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=Haroenv" title="Code">💻</a> <a href="#design-Haroenv" title="Design">🎨</a></td>
|
| 87 |
+
<td align="center" valign="top" width="14.28%"><a href="https://nicknisi.com"><img src="https://avatars1.githubusercontent.com/u/293805?v=4?s=100" width="100px;" alt="Nick Nisi"/><br /><sub><b>Nick Nisi</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=nicknisi" title="Code">💻</a></td>
|
| 88 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Jakhotiya"><img src="https://avatars2.githubusercontent.com/u/9327315?v=4?s=100" width="100px;" alt="Abhishek Jakhotiya"/><br /><sub><b>Abhishek Jakhotiya</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=Jakhotiya" title="Code">💻</a> <a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3AJakhotiya" title="Bug reports">🐛</a></td>
|
| 89 |
+
<td align="center" valign="top" width="14.28%"><a href="http://twitter.com/tomkuehl_"><img src="https://avatars2.githubusercontent.com/u/14299145?v=4?s=100" width="100px;" alt="Tom Kühl"/><br /><sub><b>Tom Kühl</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=tomkuehl" title="Code">💻</a></td>
|
| 90 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/br1anchen"><img src="https://avatars2.githubusercontent.com/u/1086461?v=4?s=100" width="100px;" alt="br1anchen"/><br /><sub><b>br1anchen</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=br1anchen" title="Code">💻</a></td>
|
| 91 |
+
<td align="center" valign="top" width="14.28%"><a href="https://arthelon.github.io"><img src="https://avatars3.githubusercontent.com/u/11952174?v=4?s=100" width="100px;" alt="Daniel Hsing"/><br /><sub><b>Daniel Hsing</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=Arthelon" title="Code">💻</a></td>
|
| 92 |
+
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/_maciejka"><img src="https://avatars2.githubusercontent.com/u/5403694?v=4?s=100" width="100px;" alt="Maciej Kasprzyk"/><br /><sub><b>Maciej Kasprzyk</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=maciej-ka" title="Code">💻</a></td>
|
| 93 |
+
</tr>
|
| 94 |
+
<tr>
|
| 95 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/robertheessels"><img src="https://avatars2.githubusercontent.com/u/596727?v=4?s=100" width="100px;" alt="Robert Heessels"/><br /><sub><b>Robert Heessels</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=robertheessels" title="Documentation">📖</a></td>
|
| 96 |
+
<td align="center" valign="top" width="14.28%"><a href="https://ryanpcmcquen.org"><img src="https://avatars3.githubusercontent.com/u/772937?v=4?s=100" width="100px;" alt="Ryan P. C. McQuen"/><br /><sub><b>Ryan P. C. McQuen</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=ryanpcmcquen" title="Code">💻</a></td>
|
| 97 |
+
<td align="center" valign="top" width="14.28%"><a href="http://chrisrjones.com"><img src="https://avatars3.githubusercontent.com/u/613805?v=4?s=100" width="100px;" alt="Chris"/><br /><sub><b>Chris</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=ipatch" title="Code">💻</a></td>
|
| 98 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/drewsmith"><img src="https://avatars3.githubusercontent.com/u/595469?v=4?s=100" width="100px;" alt="Drew Smith"/><br /><sub><b>Drew Smith</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=drewsmith" title="Code">💻</a></td>
|
| 99 |
+
<td align="center" valign="top" width="14.28%"><a href="https://codefund.app"><img src="https://avatars2.githubusercontent.com/u/12481?v=4?s=100" width="100px;" alt="Eric Berry"/><br /><sub><b>Eric Berry</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=coderberry" title="Code">💻</a></td>
|
| 100 |
+
<td align="center" valign="top" width="14.28%"><a href="https://www.hum4n01d.me"><img src="https://avatars1.githubusercontent.com/u/17228477?v=4?s=100" width="100px;" alt="Hum4n01d"/><br /><sub><b>Hum4n01d</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=Hum4n01d" title="Code">💻</a></td>
|
| 101 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/malwilley"><img src="https://avatars3.githubusercontent.com/u/10888943?v=4?s=100" width="100px;" alt="Malachi Willey"/><br /><sub><b>Malachi Willey</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=malwilley" title="Code">💻</a></td>
|
| 102 |
+
</tr>
|
| 103 |
+
<tr>
|
| 104 |
+
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/mweststrate"><img src="https://avatars0.githubusercontent.com/u/1820292?v=4?s=100" width="100px;" alt="Michel Weststrate"/><br /><sub><b>Michel Weststrate</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=mweststrate" title="Code">💻</a></td>
|
| 105 |
+
<td align="center" valign="top" width="14.28%"><a href="https://kof.github.io"><img src="https://avatars0.githubusercontent.com/u/52824?v=4?s=100" width="100px;" alt="Oleg"/><br /><sub><b>Oleg</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=kof" title="Code">💻</a></td>
|
| 106 |
+
<td align="center" valign="top" width="14.28%"><a href="https://www.pshrmn.com"><img src="https://avatars0.githubusercontent.com/u/1127037?v=4?s=100" width="100px;" alt="Paul Sherman"/><br /><sub><b>Paul Sherman</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3Apshrmn" title="Bug reports">🐛</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=pshrmn" title="Code">💻</a></td>
|
| 107 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ro-savage"><img src="https://avatars2.githubusercontent.com/u/9244507?v=4?s=100" width="100px;" alt="Ro Savage"/><br /><sub><b>Ro Savage</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=ro-savage" title="Code">💻</a></td>
|
| 108 |
+
<td align="center" valign="top" width="14.28%"><a href="https://samdd.me"><img src="https://avatars3.githubusercontent.com/u/13242392?v=4?s=100" width="100px;" alt="Sam Denty"/><br /><sub><b>Sam Denty</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=samdenty" title="Code">💻</a></td>
|
| 109 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/zephraph"><img src="https://avatars1.githubusercontent.com/u/3087225?v=4?s=100" width="100px;" alt="Zephraph"/><br /><sub><b>Zephraph</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=zephraph" title="Code">💻</a></td>
|
| 110 |
+
<td align="center" valign="top" width="14.28%"><a href="https://joshwaller.dev"><img src="https://avatars1.githubusercontent.com/u/1900735?v=4?s=100" width="100px;" alt="Josh Waller"/><br /><sub><b>Josh Waller</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3Amdxprograms" title="Bug reports">🐛</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=mdxprograms" title="Code">💻</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=mdxprograms" title="Documentation">📖</a></td>
|
| 111 |
+
</tr>
|
| 112 |
+
<tr>
|
| 113 |
+
<td align="center" valign="top" width="14.28%"><a href="http://joey.co.ke"><img src="https://avatars0.githubusercontent.com/u/1195863?v=4?s=100" width="100px;" alt="Joe Ng'ethe"/><br /><sub><b>Joe Ng'ethe</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=joeynimu" title="Code">💻</a></td>
|
| 114 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/bitblitter"><img src="https://avatars0.githubusercontent.com/u/576935?v=4?s=100" width="100px;" alt="Carles Codony"/><br /><sub><b>Carles Codony</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=bitblitter" title="Code">💻</a></td>
|
| 115 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FDiskas"><img src="https://avatars2.githubusercontent.com/u/468006?v=4?s=100" width="100px;" alt="Vytenis"/><br /><sub><b>Vytenis</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=FDiskas" title="Code">💻</a></td>
|
| 116 |
+
<td align="center" valign="top" width="14.28%"><a href="http://manueldugue.de"><img src="https://avatars1.githubusercontent.com/u/894149?v=4?s=100" width="100px;" alt="Manuel Dugué"/><br /><sub><b>Manuel Dugué</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3Amdugue" title="Bug reports">🐛</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=mdugue" title="Code">💻</a></td>
|
| 117 |
+
<td align="center" valign="top" width="14.28%"><a href="https://dem.be"><img src="https://avatars2.githubusercontent.com/u/5346497?v=4?s=100" width="100px;" alt="Demian Dekoninck"/><br /><sub><b>Demian Dekoninck</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=DemianD" title="Code">💻</a></td>
|
| 118 |
+
<td align="center" valign="top" width="14.28%"><a href="http://www.saeris.io"><img src="https://avatars2.githubusercontent.com/u/3144549?v=4?s=100" width="100px;" alt="Drake Costa"/><br /><sub><b>Drake Costa</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=Saeris" title="Code">💻</a></td>
|
| 119 |
+
<td align="center" valign="top" width="14.28%"><a href="https://cxjs.io/"><img src="https://avatars2.githubusercontent.com/u/433394?v=4?s=100" width="100px;" alt="Marko Stijak"/><br /><sub><b>Marko Stijak</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=mstijak" title="Code">💻</a></td>
|
| 120 |
+
</tr>
|
| 121 |
+
<tr>
|
| 122 |
+
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/ilya_komar0ff"><img src="https://avatars2.githubusercontent.com/u/10588170?v=4?s=100" width="100px;" alt="Ilya"/><br /><sub><b>Ilya</b></sub></a><br /><a href="#question-Komar0ff" title="Answering Questions">💬</a> <a href="#ideas-Komar0ff" title="Ideas, Planning, & Feedback">🤔</a></td>
|
| 123 |
+
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/elaurent_"><img src="https://avatars2.githubusercontent.com/u/10627086?v=4?s=100" width="100px;" alt="Emerson Laurentino"/><br /><sub><b>Emerson Laurentino</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=emersonlaurentino" title="Code">💻</a> <a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3Aemersonlaurentino" title="Bug reports">🐛</a></td>
|
| 124 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lifeiscontent"><img src="https://avatars3.githubusercontent.com/u/180963?v=4?s=100" width="100px;" alt="Aaron Reisman"/><br /><sub><b>Aaron Reisman</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3Alifeiscontent" title="Bug reports">🐛</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=lifeiscontent" title="Code">💻</a> <a href="#platform-lifeiscontent" title="Packaging/porting to new platform">📦</a></td>
|
| 125 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/colshacol"><img src="https://avatars2.githubusercontent.com/u/19484365?v=4?s=100" width="100px;" alt="Colton Colcleasure"/><br /><sub><b>Colton Colcleasure</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=colshacol" title="Code">💻</a> <a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3Acolshacol" title="Bug reports">🐛</a></td>
|
| 126 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/PJWalker"><img src="https://avatars0.githubusercontent.com/u/497242?v=4?s=100" width="100px;" alt="PJ Walker"/><br /><sub><b>PJ Walker</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3APJWalker" title="Bug reports">🐛</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=PJWalker" title="Code">💻</a></td>
|
| 127 |
+
<td align="center" valign="top" width="14.28%"><a href="https://satya.tech"><img src="https://avatars2.githubusercontent.com/u/29819102?v=4?s=100" width="100px;" alt="Satya Rohith"/><br /><sub><b>Satya Rohith</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=satyarohith" title="Code">💻</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=satyarohith" title="Documentation">📖</a></td>
|
| 128 |
+
<td align="center" valign="top" width="14.28%"><a href="https://www.melanieseltzer.io/"><img src="https://avatars1.githubusercontent.com/u/17421347?v=4?s=100" width="100px;" alt="Melanie Seltzer"/><br /><sub><b>Melanie Seltzer</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=melanieseltzer" title="Code">💻</a></td>
|
| 129 |
+
</tr>
|
| 130 |
+
<tr>
|
| 131 |
+
<td align="center" valign="top" width="14.28%"><a href="http://zyszys.top"><img src="https://avatars1.githubusercontent.com/u/23313266?v=4?s=100" width="100px;" alt="ZYSzys"/><br /><sub><b>ZYSzys</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=ZYSzys" title="Documentation">📖</a></td>
|
| 132 |
+
<td align="center" valign="top" width="14.28%"><a href="http://iamsaravieira.com"><img src="https://avatars0.githubusercontent.com/u/1051509?v=4?s=100" width="100px;" alt="Sara Vieira"/><br /><sub><b>Sara Vieira</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=SaraVieira" title="Code">💻</a> <a href="#design-SaraVieira" title="Design">🎨</a> <a href="#ideas-SaraVieira" title="Ideas, Planning, & Feedback">🤔</a></td>
|
| 133 |
+
<td align="center" valign="top" width="14.28%"><a href="https://francoischalifour.com"><img src="https://avatars3.githubusercontent.com/u/6137112?v=4?s=100" width="100px;" alt="François Chalifour"/><br /><sub><b>François Chalifour</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3Afrancoischalifour" title="Bug reports">🐛</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=francoischalifour" title="Code">💻</a></td>
|
| 134 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/abdullahtariq1171"><img src="https://avatars0.githubusercontent.com/u/5623766?v=4?s=100" width="100px;" alt="Abdullah"/><br /><sub><b>Abdullah</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=abdullahtariq1171" title="Code">💻</a> <a href="#design-abdullahtariq1171" title="Design">🎨</a></td>
|
| 135 |
+
<td align="center" valign="top" width="14.28%"><a href="https://jonshort.me/"><img src="https://avatars2.githubusercontent.com/u/21317379?v=4?s=100" width="100px;" alt="Jon Short"/><br /><sub><b>Jon Short</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=JonShort" title="Code">💻</a></td>
|
| 136 |
+
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/dvv297"><img src="https://avatars2.githubusercontent.com/u/5365325?v=4?s=100" width="100px;" alt="Daniel Vu"/><br /><sub><b>Daniel Vu</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=dv297" title="Code">💻</a></td>
|
| 137 |
+
<td align="center" valign="top" width="14.28%"><a href="https://www.viveknayyar.in/"><img src="https://avatars3.githubusercontent.com/u/4931048?v=4?s=100" width="100px;" alt="Vivek Nayyar"/><br /><sub><b>Vivek Nayyar</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=vivek12345" title="Code">💻</a></td>
|
| 138 |
+
</tr>
|
| 139 |
+
<tr>
|
| 140 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/bobziroll"><img src="https://avatars3.githubusercontent.com/u/6244647?v=4?s=100" width="100px;" alt="Bob Ziroll"/><br /><sub><b>Bob Ziroll</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=bobziroll" title="Documentation">📖</a></td>
|
| 141 |
+
<td align="center" valign="top" width="14.28%"><a href="https://blog.lichter.io"><img src="https://avatars0.githubusercontent.com/u/640208?v=4?s=100" width="100px;" alt="Alexander Lichter"/><br /><sub><b>Alexander Lichter</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=manniL" title="Code">💻</a></td>
|
| 142 |
+
<td align="center" valign="top" width="14.28%"><a href="https://www.chiamaka.xyz/"><img src="https://avatars3.githubusercontent.com/u/2737103?v=4?s=100" width="100px;" alt="Chiamaka Nwolisa"/><br /><sub><b>Chiamaka Nwolisa</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=chiamaka" title="Code">💻</a></td>
|
| 143 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/shreeve"><img src="https://avatars2.githubusercontent.com/u/142875?s=460&v=4?s=100" width="100px;" alt="Steve Shreeve"/><br /><sub><b>Steve Shreeve</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=shreeve" title="Code">💻</a></td>
|
| 144 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/rowild"><img src="https://avatars1.githubusercontent.com/u/213803?v=4?s=100" width="100px;" alt="Robert Wildling"/><br /><sub><b>Robert Wildling</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=rowild" title="Code">💻</a></td>
|
| 145 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Noviny"><img src="https://avatars1.githubusercontent.com/u/15622106?v=4?s=100" width="100px;" alt="Ben Conolly"/><br /><sub><b>Ben Conolly</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=Noviny" title="Code">💻</a></td>
|
| 146 |
+
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/wuweiweiwu"><img src="https://avatars3.githubusercontent.com/u/35270620?v=4?s=100" width="100px;" alt="Wei-Wei Wu"/><br /><sub><b>Wei-Wei Wu</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=wuweiweiwu" title="Code">💻</a></td>
|
| 147 |
+
</tr>
|
| 148 |
+
<tr>
|
| 149 |
+
<td align="center" valign="top" width="14.28%"><a href="https://www.alexvcasillas.com"><img src="https://avatars2.githubusercontent.com/u/9496960?v=4?s=100" width="100px;" alt="Alex Casillas"/><br /><sub><b>Alex Casillas</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=alexvcasillas" title="Code">💻</a></td>
|
| 150 |
+
<td align="center" valign="top" width="14.28%"><a href="https://brian.ng"><img src="https://avatars3.githubusercontent.com/u/56288?v=4?s=100" width="100px;" alt="Brian Ng"/><br /><sub><b>Brian Ng</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=existentialism" title="Code">💻</a></td>
|
| 151 |
+
<td align="center" valign="top" width="14.28%"><a href="https://mike.works"><img src="https://avatars1.githubusercontent.com/u/558005?v=4?s=100" width="100px;" alt="Mike North"/><br /><sub><b>Mike North</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=mike-north" title="Code">💻</a></td>
|
| 152 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/oroce"><img src="https://avatars2.githubusercontent.com/u/462848?v=4?s=100" width="100px;" alt="Róbert Oroszi"/><br /><sub><b>Róbert Oroszi</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=oroce" title="Code">💻</a></td>
|
| 153 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/afontcu"><img src="https://avatars0.githubusercontent.com/u/9197791?v=4?s=100" width="100px;" alt="Adrià Fontcuberta"/><br /><sub><b>Adrià Fontcuberta</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=afontcu" title="Code">💻</a></td>
|
| 154 |
+
<td align="center" valign="top" width="14.28%"><a href="http://www.aadsm.net"><img src="https://avatars1.githubusercontent.com/u/78122?v=4?s=100" width="100px;" alt="António Afonso"/><br /><sub><b>António Afonso</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=aadsm" title="Code">💻</a></td>
|
| 155 |
+
<td align="center" valign="top" width="14.28%"><a href="http://sapegin.me"><img src="https://avatars2.githubusercontent.com/u/70067?v=4?s=100" width="100px;" alt="Artem Sapegin"/><br /><sub><b>Artem Sapegin</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=sapegin" title="Code">💻</a></td>
|
| 156 |
+
</tr>
|
| 157 |
+
<tr>
|
| 158 |
+
<td align="center" valign="top" width="14.28%"><a href="http://bcbrian.com"><img src="https://avatars0.githubusercontent.com/u/6721622?v=4?s=100" width="100px;" alt="Brian Bartholomew"/><br /><sub><b>Brian Bartholomew</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=bcbrian" title="Code">💻</a></td>
|
| 159 |
+
<td align="center" valign="top" width="14.28%"><a href="http://www.christianalfoni.com"><img src="https://avatars1.githubusercontent.com/u/3956929?v=4?s=100" width="100px;" alt="Christian Alfoni"/><br /><sub><b>Christian Alfoni</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=christianalfoni" title="Code">💻</a></td>
|
| 160 |
+
<td align="center" valign="top" width="14.28%"><a href="http://davidbaumgold.com"><img src="https://avatars3.githubusercontent.com/u/132355?v=4?s=100" width="100px;" alt="David Baumgold"/><br /><sub><b>David Baumgold</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=singingwolfboy" title="Code">💻</a></td>
|
| 161 |
+
<td align="center" valign="top" width="14.28%"><a href="https://erodionov.ru"><img src="https://avatars1.githubusercontent.com/u/775692?v=4?s=100" width="100px;" alt="Evgeny Rodionov"/><br /><sub><b>Evgeny Rodionov</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=evgenyrodionov" title="Code">💻</a></td>
|
| 162 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/fathyb"><img src="https://avatars1.githubusercontent.com/u/5746414?v=4?s=100" width="100px;" alt="Fathy Boundjadj"/><br /><sub><b>Fathy Boundjadj</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=fathyb" title="Code">💻</a></td>
|
| 163 |
+
<td align="center" valign="top" width="14.28%"><a href="https://6nok.org"><img src="https://avatars0.githubusercontent.com/u/868283?v=4?s=100" width="100px;" alt="Fatih Altinok"/><br /><sub><b>Fatih Altinok</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=frontsideair" title="Code">💻</a></td>
|
| 164 |
+
<td align="center" valign="top" width="14.28%"><a href="http://grant.cm"><img src="https://avatars3.githubusercontent.com/u/744973?v=4?s=100" width="100px;" alt="Grant Timmerman"/><br /><sub><b>Grant Timmerman</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=grant" title="Code">💻</a></td>
|
| 165 |
+
</tr>
|
| 166 |
+
<tr>
|
| 167 |
+
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/jmeaspls"><img src="https://avatars3.githubusercontent.com/u/2322305?v=4?s=100" width="100px;" alt="James"/><br /><sub><b>James</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=jamesplease" title="Code">💻</a></td>
|
| 168 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Kelson448"><img src="https://avatars3.githubusercontent.com/u/18242829?v=4?s=100" width="100px;" alt="Kelson448"/><br /><sub><b>Kelson448</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=Kelson448" title="Code">💻</a></td>
|
| 169 |
+
<td align="center" valign="top" width="14.28%"><a href="http://ken.net"><img src="https://avatars0.githubusercontent.com/u/980757?v=4?s=100" width="100px;" alt="Ken Snyder"/><br /><sub><b>Ken Snyder</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=ksnyde" title="Code">💻</a></td>
|
| 170 |
+
<td align="center" valign="top" width="14.28%"><a href="https://kentcdodds.com"><img src="https://avatars0.githubusercontent.com/u/1500684?v=4?s=100" width="100px;" alt="Kent C. Dodds"/><br /><sub><b>Kent C. Dodds</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=kentcdodds" title="Code">💻</a></td>
|
| 171 |
+
<td align="center" valign="top" width="14.28%"><a href="https://khaledgarbaya.net"><img src="https://avatars1.githubusercontent.com/u/1156093?v=4?s=100" width="100px;" alt="Khaled Garbaya"/><br /><sub><b>Khaled Garbaya</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=Khaledgarbaya" title="Code">💻</a></td>
|
| 172 |
+
<td align="center" valign="top" width="14.28%"><a href="https://jeezliu.github.io/"><img src="https://avatars3.githubusercontent.com/u/1921130?v=4?s=100" width="100px;" alt="Liu"/><br /><sub><b>Liu</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=jeezliu" title="Code">💻</a></td>
|
| 173 |
+
<td align="center" valign="top" width="14.28%"><a href="http://www.maciejmyslinski.com"><img src="https://avatars0.githubusercontent.com/u/11421186?v=4?s=100" width="100px;" alt="Maciej"/><br /><sub><b>Maciej</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=maciejmyslinski" title="Code">💻</a></td>
|
| 174 |
+
</tr>
|
| 175 |
+
<tr>
|
| 176 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/matt-gadd"><img src="https://avatars0.githubusercontent.com/u/2183490?v=4?s=100" width="100px;" alt="Matthew Gadd"/><br /><sub><b>Matthew Gadd</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=matt-gadd" title="Code">💻</a></td>
|
| 177 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/krvajal"><img src="https://avatars1.githubusercontent.com/u/5899385?v=4?s=100" width="100px;" alt="Miguel Carvajal"/><br /><sub><b>Miguel Carvajal</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=krvajal" title="Code">💻</a></td>
|
| 178 |
+
<td align="center" valign="top" width="14.28%"><a href="https://olaolu.me"><img src="https://avatars2.githubusercontent.com/u/8625066?v=4?s=100" width="100px;" alt="Olaolu Olawuyi"/><br /><sub><b>Olaolu Olawuyi</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=whizkydee" title="Code">💻</a></td>
|
| 179 |
+
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/pete_tnt"><img src="https://avatars2.githubusercontent.com/u/7641760?v=4?s=100" width="100px;" alt="Pete Nykänen"/><br /><sub><b>Pete Nykänen</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=petetnt" title="Code">💻</a></td>
|
| 180 |
+
<td align="center" valign="top" width="14.28%"><a href="https://iamphill.com"><img src="https://avatars0.githubusercontent.com/u/741068?v=4?s=100" width="100px;" alt="Phil Hughes"/><br /><sub><b>Phil Hughes</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=iamphill" title="Code">💻</a></td>
|
| 181 |
+
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/pomber"><img src="https://avatars1.githubusercontent.com/u/1911623?v=4?s=100" width="100px;" alt="Rodrigo Pombo"/><br /><sub><b>Rodrigo Pombo</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=pomber" title="Code">💻</a></td>
|
| 182 |
+
<td align="center" valign="top" width="14.28%"><a href="https://sairam.xyz/"><img src="https://avatars2.githubusercontent.com/u/163584?v=4?s=100" width="100px;" alt="Sai Ram Kunala"/><br /><sub><b>Sai Ram Kunala</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=sairam" title="Code">💻</a></td>
|
| 183 |
+
</tr>
|
| 184 |
+
<tr>
|
| 185 |
+
<td align="center" valign="top" width="14.28%"><a href="https://gitter.im"><img src="https://avatars2.githubusercontent.com/u/8518239?v=4?s=100" width="100px;" alt="The Gitter Badger"/><br /><sub><b>The Gitter Badger</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=gitter-badger" title="Code">💻</a></td>
|
| 186 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/twhitbeck"><img src="https://avatars2.githubusercontent.com/u/762471?v=4?s=100" width="100px;" alt="Tim Whitbeck"/><br /><sub><b>Tim Whitbeck</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=twhitbeck" title="Code">💻</a></td>
|
| 187 |
+
<td align="center" valign="top" width="14.28%"><a href="http://twitter.com/yesmeck"><img src="https://avatars0.githubusercontent.com/u/465125?v=4?s=100" width="100px;" alt="Wei Zhu"/><br /><sub><b>Wei Zhu</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=yesmeck" title="Code">💻</a></td>
|
| 188 |
+
<td align="center" valign="top" width="14.28%"><a href="http://wilwilsman.com"><img src="https://avatars2.githubusercontent.com/u/5005153?v=4?s=100" width="100px;" alt="Wil Wilsman"/><br /><sub><b>Wil Wilsman</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=wwilsman" title="Code">💻</a></td>
|
| 189 |
+
<td align="center" valign="top" width="14.28%"><a href="https://codepen.io/findoff/"><img src="https://avatars1.githubusercontent.com/u/7959329?v=4?s=100" width="100px;" alt="abnessor aka findoff"/><br /><sub><b>abnessor aka findoff</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=findoff" title="Code">💻</a></td>
|
| 190 |
+
<td align="center" valign="top" width="14.28%"><a href="http://jerry-i.github.io"><img src="https://avatars1.githubusercontent.com/u/11937539?v=4?s=100" width="100px;" alt="cottom"/><br /><sub><b>cottom</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=jerry-i" title="Code">💻</a></td>
|
| 191 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/gitname"><img src="https://avatars3.githubusercontent.com/u/7143133?v=4?s=100" width="100px;" alt="gitname"/><br /><sub><b>gitname</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=gitname" title="Code">💻</a></td>
|
| 192 |
+
</tr>
|
| 193 |
+
<tr>
|
| 194 |
+
<td align="center" valign="top" width="14.28%"><a href="http://www.xulingming.cn"><img src="https://avatars3.githubusercontent.com/u/15030806?v=4?s=100" width="100px;" alt="Bruce Xu"/><br /><sub><b>Bruce Xu</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=jackdon" title="Code">💻</a></td>
|
| 195 |
+
<td align="center" valign="top" width="14.28%"><a href="http://jessachandler.com"><img src="https://avatars3.githubusercontent.com/u/7316730?v=4?s=100" width="100px;" alt="jess"/><br /><sub><b>jess</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=monkeywithacupcake" title="Code">💻</a></td>
|
| 196 |
+
<td align="center" valign="top" width="14.28%"><a href="https://juliette.sh"><img src="https://avatars0.githubusercontent.com/u/8875406?v=4?s=100" width="100px;" alt="Juliette Prétot"/><br /><sub><b>Juliette Prétot</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=juliettepretot" title="Code">💻</a></td>
|
| 197 |
+
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/vicbergquist"><img src="https://avatars0.githubusercontent.com/u/25737281?v=4?s=100" width="100px;" alt="Victoria Bergquist"/><br /><sub><b>Victoria Bergquist</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=vicbergquist" title="Code">💻</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=vicbergquist" title="Documentation">📖</a></td>
|
| 198 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/samrith-s"><img src="https://avatars3.githubusercontent.com/u/9032162?v=4?s=100" width="100px;" alt="Samrith Shankar"/><br /><sub><b>Samrith Shankar</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=samrith-s" title="Code">💻</a></td>
|
| 199 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tinahir"><img src="https://avatars3.githubusercontent.com/u/827497?v=4?s=100" width="100px;" alt="Mahendra Hirapra"/><br /><sub><b>Mahendra Hirapra</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=tinahir" title="Code">💻</a></td>
|
| 200 |
+
<td align="center" valign="top" width="14.28%"><a href="http://rabingaire.com.np"><img src="https://avatars3.githubusercontent.com/u/17409675?v=4?s=100" width="100px;" alt="Rabin Gaire"/><br /><sub><b>Rabin Gaire</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=rabingaire" title="Code">💻</a></td>
|
| 201 |
+
</tr>
|
| 202 |
+
<tr>
|
| 203 |
+
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/ask_neville"><img src="https://avatars2.githubusercontent.com/u/8527474?v=4?s=100" width="100px;" alt="Neville Mehta"/><br /><sub><b>Neville Mehta</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=nm123github" title="Code">💻</a></td>
|
| 204 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Yeti-or"><img src="https://avatars0.githubusercontent.com/u/1813468?v=4?s=100" width="100px;" alt="Vasiliy"/><br /><sub><b>Vasiliy</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=Yeti-or" title="Code">💻</a></td>
|
| 205 |
+
<td align="center" valign="top" width="14.28%"><a href="https://slynova.io"><img src="https://avatars3.githubusercontent.com/u/2793951?v=4?s=100" width="100px;" alt="Romain Lanz"/><br /><sub><b>Romain Lanz</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=RomainLanz" title="Code">💻</a></td>
|
| 206 |
+
<td align="center" valign="top" width="14.28%"><a href="http://libe.toile-libre.org"><img src="https://avatars2.githubusercontent.com/u/1233790?v=4?s=100" width="100px;" alt="LiBe"/><br /><sub><b>LiBe</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=libetl" title="Code">💻</a></td>
|
| 207 |
+
<td align="center" valign="top" width="14.28%"><a href="http://thecodechef.github.io"><img src="https://avatars0.githubusercontent.com/u/5333019?v=4?s=100" width="100px;" alt="Jeremy Bolding"/><br /><sub><b>Jeremy Bolding</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=thecodechef" title="Code">💻</a></td>
|
| 208 |
+
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/baconbrix"><img src="https://avatars1.githubusercontent.com/u/9664363?v=4?s=100" width="100px;" alt="Evan Bacon"/><br /><sub><b>Evan Bacon</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=EvanBacon" title="Code">💻</a></td>
|
| 209 |
+
<td align="center" valign="top" width="14.28%"><a href="https://michaeldeboey.be"><img src="https://avatars3.githubusercontent.com/u/6643991?v=4?s=100" width="100px;" alt="Michaël De Boey"/><br /><sub><b>Michaël De Boey</b></sub></a><br /><a href="#blog-MichaelDeBoey" title="Blogposts">📝</a> <a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3AMichaelDeBoey" title="Bug reports">🐛</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=MichaelDeBoey" title="Code">💻</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=MichaelDeBoey" title="Documentation">📖</a> <a href="#infra-MichaelDeBoey" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#tool-MichaelDeBoey" title="Tools">🔧</a></td>
|
| 210 |
+
</tr>
|
| 211 |
+
<tr>
|
| 212 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/gabeeden"><img src="https://avatars1.githubusercontent.com/u/14077091?v=4?s=100" width="100px;" alt="gabeeden"/><br /><sub><b>gabeeden</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=gabeeden" title="Code">💻</a></td>
|
| 213 |
+
<td align="center" valign="top" width="14.28%"><a href="https://tiffanywhite.dev"><img src="https://avatars0.githubusercontent.com/u/7698292?v=4?s=100" width="100px;" alt="Tiffany White"/><br /><sub><b>Tiffany White</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=twhite96" title="Code">💻</a></td>
|
| 214 |
+
<td align="center" valign="top" width="14.28%"><a href="http://www.dopest.tech"><img src="https://avatars3.githubusercontent.com/u/32302360?v=4?s=100" width="100px;" alt="James Bedford"/><br /><sub><b>James Bedford</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=JABedford" title="Code">💻</a></td>
|
| 215 |
+
<td align="center" valign="top" width="14.28%"><a href="https://www.patreon.com/user?u=16255660"><img src="https://avatars0.githubusercontent.com/u/3314957?v=4?s=100" width="100px;" alt="Scott"/><br /><sub><b>Scott</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=smolinari" title="Code">💻</a></td>
|
| 216 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/dutiyesh"><img src="https://avatars1.githubusercontent.com/u/12200583?v=4?s=100" width="100px;" alt="Dutiyesh Salunkhe"/><br /><sub><b>Dutiyesh Salunkhe</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=dutiyesh" title="Code">💻</a></td>
|
| 217 |
+
<td align="center" valign="top" width="14.28%"><a href="http://halit.dev"><img src="https://avatars2.githubusercontent.com/u/13641726?v=4?s=100" width="100px;" alt="Halit Ogunc"/><br /><sub><b>Halit Ogunc</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=halitogunc" title="Code">💻</a></td>
|
| 218 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jyash97"><img src="https://avatars0.githubusercontent.com/u/22376783?v=4?s=100" width="100px;" alt="Yash Joshi"/><br /><sub><b>Yash Joshi</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=jyash97" title="Code">💻</a></td>
|
| 219 |
+
</tr>
|
| 220 |
+
<tr>
|
| 221 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/batiskafff"><img src="https://avatars3.githubusercontent.com/u/1769092?v=4?s=100" width="100px;" alt="Yehor"/><br /><sub><b>Yehor</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=batiskafff" title="Code">💻</a></td>
|
| 222 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Jensderond"><img src="https://avatars2.githubusercontent.com/u/6972822?v=4?s=100" width="100px;" alt="Jens de Rond"/><br /><sub><b>Jens de Rond</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3AJensderond" title="Bug reports">🐛</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=Jensderond" title="Code">💻</a></td>
|
| 223 |
+
<td align="center" valign="top" width="14.28%"><a href="http://benjaminschachter.com"><img src="https://avatars2.githubusercontent.com/u/2502947?v=4?s=100" width="100px;" alt="Benjamin Schachter"/><br /><sub><b>Benjamin Schachter</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=benschac" title="Documentation">📖</a></td>
|
| 224 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/RafaelKr"><img src="https://avatars1.githubusercontent.com/u/14234815?v=4?s=100" width="100px;" alt="Rafael"/><br /><sub><b>Rafael</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3ARafaelKr" title="Bug reports">🐛</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=RafaelKr" title="Code">💻</a></td>
|
| 225 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/baremetalfreak"><img src="https://avatars0.githubusercontent.com/u/19686979?v=4?s=100" width="100px;" alt="baremetalfreak"/><br /><sub><b>baremetalfreak</b></sub></a><br /><a href="#question-baremetalfreak" title="Answering Questions">💬</a> <a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3Abaremetalfreak" title="Bug reports">🐛</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=baremetalfreak" title="Code">💻</a></td>
|
| 226 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/JayBee007"><img src="https://avatars0.githubusercontent.com/u/13278577?v=4?s=100" width="100px;" alt="Javed"/><br /><sub><b>Javed</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=JayBee007" title="Code">💻</a></td>
|
| 227 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/R4M80MrX"><img src="https://avatars1.githubusercontent.com/u/29365693?v=4?s=100" width="100px;" alt="R4M80MRX"/><br /><sub><b>R4M80MRX</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=R4M80MrX" title="Code">💻</a></td>
|
| 228 |
+
</tr>
|
| 229 |
+
<tr>
|
| 230 |
+
<td align="center" valign="top" width="14.28%"><a href="https://medium.com/@derek_develops"><img src="https://avatars2.githubusercontent.com/u/53202242?v=4?s=100" width="100px;" alt="Dr. Derek Austin [aka dj D-REK from Richmond, VA]"/><br /><sub><b>Dr. Derek Austin [aka dj D-REK from Richmond, VA]</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3AdjD-REK" title="Bug reports">🐛</a></td>
|
| 231 |
+
<td align="center" valign="top" width="14.28%"><a href="https://sid.st"><img src="https://avatars0.githubusercontent.com/u/1863771?v=4?s=100" width="100px;" alt="Sid"/><br /><sub><b>Sid</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=siddharthkp" title="Code">💻</a></td>
|
| 232 |
+
<td align="center" valign="top" width="14.28%"><a href="http://yeisondaza.com"><img src="https://avatars0.githubusercontent.com/u/9127504?v=4?s=100" width="100px;" alt="Yeison Daza"/><br /><sub><b>Yeison Daza</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=yeion7" title="Code">💻</a></td>
|
| 233 |
+
<td align="center" valign="top" width="14.28%"><a href="https://shriram-balaji.github.io"><img src="https://avatars1.githubusercontent.com/u/11358903?v=4?s=100" width="100px;" alt="Shriram Balaji"/><br /><sub><b>Shriram Balaji</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=Shriram-Balaji" title="Code">💻</a></td>
|
| 234 |
+
<td align="center" valign="top" width="14.28%"><a href="http://ThomasDillard.com"><img src="https://avatars1.githubusercontent.com/u/12449668?v=4?s=100" width="100px;" alt="Thomas Dillard"/><br /><sub><b>Thomas Dillard</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=HTMLGhozt" title="Code">💻</a></td>
|
| 235 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/chinmay17"><img src="https://avatars2.githubusercontent.com/u/7131231?v=4?s=100" width="100px;" alt="Chinmay Chaudhary"/><br /><sub><b>Chinmay Chaudhary</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=chinmay17" title="Code">💻</a></td>
|
| 236 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Sakthivel"><img src="https://avatars3.githubusercontent.com/u/205201?v=4?s=100" width="100px;" alt="Sakthivel Sengodan Sapient"/><br /><sub><b>Sakthivel Sengodan Sapient</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=sakthivel" title="Code">💻</a></td>
|
| 237 |
+
</tr>
|
| 238 |
+
<tr>
|
| 239 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/NabeelahY"><img src="https://avatars1.githubusercontent.com/u/35764602?v=4?s=100" width="100px;" alt="Nabeelah"/><br /><sub><b>Nabeelah</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=NabeelahY" title="Code">💻</a></td>
|
| 240 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/vanya829"><img src="https://avatars0.githubusercontent.com/u/1397979?v=4?s=100" width="100px;" alt="vanya829"/><br /><sub><b>vanya829</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=vanya829" title="Code">💻</a></td>
|
| 241 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tanem"><img src="https://avatars3.githubusercontent.com/u/464864?v=4?s=100" width="100px;" alt="Tane Morgan"/><br /><sub><b>Tane Morgan</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=tanem" title="Code">💻</a></td>
|
| 242 |
+
<td align="center" valign="top" width="14.28%"><a href="http://hetpatel33.github.io"><img src="https://avatars0.githubusercontent.com/u/13877514?v=4?s=100" width="100px;" alt="Het Patel"/><br /><sub><b>Het Patel</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=hetpatel33" title="Code">💻</a></td>
|
| 243 |
+
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/ivandevp"><img src="https://avatars3.githubusercontent.com/u/9284690?v=4?s=100" width="100px;" alt="Ivan Medina"/><br /><sub><b>Ivan Medina</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=ivandevp" title="Code">💻</a></td>
|
| 244 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Gobinath-Manokaran"><img src="https://avatars2.githubusercontent.com/u/6711914?v=4?s=100" width="100px;" alt="Gobinath-Manokaran"/><br /><sub><b>Gobinath-Manokaran</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=Gobinath-Manokaran" title="Code">💻</a></td>
|
| 245 |
+
<td align="center" valign="top" width="14.28%"><a href="https://armujahid.me"><img src="https://avatars1.githubusercontent.com/u/3725386?v=4?s=100" width="100px;" alt="Abdul Rauf"/><br /><sub><b>Abdul Rauf</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=armujahid" title="Code">💻</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=armujahid" title="Documentation">📖</a></td>
|
| 246 |
+
</tr>
|
| 247 |
+
<tr>
|
| 248 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/milap1296"><img src="https://avatars2.githubusercontent.com/u/19545730?v=4?s=100" width="100px;" alt="milap1296"/><br /><sub><b>milap1296</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=milap1296" title="Code">💻</a></td>
|
| 249 |
+
<td align="center" valign="top" width="14.28%"><a href="http://yevhenorlov.com"><img src="https://avatars2.githubusercontent.com/u/17388747?v=4?s=100" width="100px;" alt="yevhen orlov"/><br /><sub><b>yevhen orlov</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=yevhenorlov" title="Code">💻</a></td>
|
| 250 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/NileshPatel17"><img src="https://avatars2.githubusercontent.com/u/27020381?v=4?s=100" width="100px;" alt="Nilesh Patel"/><br /><sub><b>Nilesh Patel</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=NileshPatel17" title="Code">💻</a></td>
|
| 251 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/22PoojaGaur"><img src="https://avatars2.githubusercontent.com/u/43316760?v=4?s=100" width="100px;" alt="Pooja Gaur"/><br /><sub><b>Pooja Gaur</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=22PoojaGaur" title="Code">💻</a></td>
|
| 252 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/sajadhsm"><img src="https://avatars3.githubusercontent.com/u/20022818?v=4?s=100" width="100px;" alt="Sajad Hashemian"/><br /><sub><b>Sajad Hashemian</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=sajadhsm" title="Code">💻</a></td>
|
| 253 |
+
<td align="center" valign="top" width="14.28%"><a href="https://carloslfu.github.io"><img src="https://avatars3.githubusercontent.com/u/5993168?v=4?s=100" width="100px;" alt="Carlos Galarza"/><br /><sub><b>Carlos Galarza</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=carloslfu" title="Documentation">📖</a></td>
|
| 254 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/soorajshankar"><img src="https://avatars2.githubusercontent.com/u/8408875?v=4?s=100" width="100px;" alt="soorajshankar"/><br /><sub><b>soorajshankar</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=soorajshankar" title="Code">💻</a></td>
|
| 255 |
+
</tr>
|
| 256 |
+
<tr>
|
| 257 |
+
<td align="center" valign="top" width="14.28%"><a href="http://mcmunder.de"><img src="https://avatars3.githubusercontent.com/u/5681686?v=4?s=100" width="100px;" alt="Matthias Christoph Munder"/><br /><sub><b>Matthias Christoph Munder</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3Amcmunder" title="Bug reports">🐛</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=mcmunder" title="Code">💻</a></td>
|
| 258 |
+
<td align="center" valign="top" width="14.28%"><a href="http://anuraghazra.github.io"><img src="https://avatars3.githubusercontent.com/u/35374649?v=4?s=100" width="100px;" alt="Anurag Hazra"/><br /><sub><b>Anurag Hazra</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=anuraghazra" title="Code">💻</a></td>
|
| 259 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/johansenja"><img src="https://avatars1.githubusercontent.com/u/43235608?v=4?s=100" width="100px;" alt="johansenja"/><br /><sub><b>johansenja</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=johansenja" title="Documentation">📖</a></td>
|
| 260 |
+
<td align="center" valign="top" width="14.28%"><a href="https://shodipoayomide.com"><img src="https://avatars2.githubusercontent.com/u/20538832?v=4?s=100" width="100px;" alt="Shodipo Ayomide"/><br /><sub><b>Shodipo Ayomide</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=Developerayo" title="Documentation">📖</a></td>
|
| 261 |
+
<td align="center" valign="top" width="14.28%"><a href="http://akashj.com"><img src="https://avatars0.githubusercontent.com/u/22196279?v=4?s=100" width="100px;" alt="Akash Joshi"/><br /><sub><b>Akash Joshi</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=akash-joshi" title="Code">💻</a></td>
|
| 262 |
+
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/layershifter"><img src="https://avatars0.githubusercontent.com/u/14183168?v=4?s=100" width="100px;" alt="Oleksandr Fediashov"/><br /><sub><b>Oleksandr Fediashov</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3Alayershifter" title="Bug reports">🐛</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=layershifter" title="Code">💻</a></td>
|
| 263 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tehnuge"><img src="https://avatars1.githubusercontent.com/u/1928236?v=4?s=100" width="100px;" alt="John D."/><br /><sub><b>John D.</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=tehnuge" title="Code">💻</a></td>
|
| 264 |
+
</tr>
|
| 265 |
+
<tr>
|
| 266 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/NinoMaj"><img src="https://avatars0.githubusercontent.com/u/20380632?v=4?s=100" width="100px;" alt="Nino"/><br /><sub><b>Nino</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=NinoMaj" title="Documentation">📖</a></td>
|
| 267 |
+
<td align="center" valign="top" width="14.28%"><a href="https://saurabhdaware.in/"><img src="https://avatars1.githubusercontent.com/u/30949385?v=4?s=100" width="100px;" alt="Saurabh Daware"/><br /><sub><b>Saurabh Daware</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=saurabhdaware" title="Code">💻</a> <a href="#plugin-saurabhdaware" title="Plugin/utility libraries">🔌</a></td>
|
| 268 |
+
<td align="center" valign="top" width="14.28%"><a href="https://pablo.pink"><img src="https://avatars0.githubusercontent.com/u/4324982?v=4?s=100" width="100px;" alt="Pablo Varela"/><br /><sub><b>Pablo Varela</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=pablopunk" title="Code">💻</a></td>
|
| 269 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ryanpwaldon"><img src="https://avatars0.githubusercontent.com/u/12480362?v=4?s=100" width="100px;" alt="Ryan Waldon"/><br /><sub><b>Ryan Waldon</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=ryanpwaldon" title="Code">💻</a></td>
|
| 270 |
+
<td align="center" valign="top" width="14.28%"><a href="http://cherniavskii.com"><img src="https://avatars.githubusercontent.com/u/13808724?v=4?s=100" width="100px;" alt="Andrew Cherniavskii"/><br /><sub><b>Andrew Cherniavskii</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=cherniavskii" title="Code">💻</a></td>
|
| 271 |
+
<td align="center" valign="top" width="14.28%"><a href="http://nullvoxpopuli.com"><img src="https://avatars.githubusercontent.com/u/199018?v=4?s=100" width="100px;" alt="NullVoxPopuli"/><br /><sub><b>NullVoxPopuli</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=NullVoxPopuli" title="Code">💻</a> <a href="#content-NullVoxPopuli" title="Content">🖋</a> <a href="#maintenance-NullVoxPopuli" title="Maintenance">🚧</a></td>
|
| 272 |
+
<td align="center" valign="top" width="14.28%"><a href="http://joshellis.co.uk"><img src="https://avatars.githubusercontent.com/u/37798644?v=4?s=100" width="100px;" alt="Josh"/><br /><sub><b>Josh</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=joshuaellis" title="Documentation">📖</a></td>
|
| 273 |
+
</tr>
|
| 274 |
+
<tr>
|
| 275 |
+
<td align="center" valign="top" width="14.28%"><a href="https://stefanretief.com"><img src="https://avatars.githubusercontent.com/u/3196604?v=4?s=100" width="100px;" alt="Stefan Retief"/><br /><sub><b>Stefan Retief</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3AStefanRetief" title="Bug reports">🐛</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=StefanRetief" title="Code">💻</a></td>
|
| 276 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/aditya211935"><img src="https://avatars.githubusercontent.com/u/23213686?v=4?s=100" width="100px;" alt="Aditya"/><br /><sub><b>Aditya</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3Aaditya211935" title="Bug reports">🐛</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=aditya211935" title="Code">💻</a></td>
|
| 277 |
+
<td align="center" valign="top" width="14.28%"><a href="http://baobangdong.cn"><img src="https://avatars.githubusercontent.com/u/36991862?v=4?s=100" width="100px;" alt="B2D1"/><br /><sub><b>B2D1</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=B2D1" title="Documentation">📖</a></td>
|
| 278 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/kettanaito"><img src="https://github.com/kettanaito.png?s=100" width="100px;" alt="Artem"/><br /><sub><b>Artem</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=kettanaito" title="Code">💻</a></td>
|
| 279 |
+
<td align="center" valign="top" width="14.28%"><a href="http://hugos.computer"><img src="https://avatars.githubusercontent.com/u/1035169?v=4?s=100" width="100px;" alt="Hugo Wiledal"/><br /><sub><b>Hugo Wiledal</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/issues?q=author%3Awiledal" title="Bug reports">🐛</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=wiledal" title="Code">💻</a></td>
|
| 280 |
+
<td align="center" valign="top" width="14.28%"><a href="https://thesshguy.com/"><img src="https://avatars.githubusercontent.com/u/11434879?v=4?s=100" width="100px;" alt="Sai Hari"/><br /><sub><b>Sai Hari</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=SSHari" title="Code">💻</a></td>
|
| 281 |
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Ku3mi41"><img src="https://avatars.githubusercontent.com/u/1100530?v=4?s=100" width="100px;" alt="Ku3mi41"/><br /><sub><b>Ku3mi41</b></sub></a><br /><a href="https://github.com/codesandbox/codesandbox-client/commits?author=Ku3mi41" title="Code">💻</a> <a href="https://github.com/codesandbox/codesandbox-client/commits?author=Ku3mi41" title="Tests">⚠️</a></td>
|
| 282 |
+
</tr>
|
| 283 |
+
</tbody>
|
| 284 |
+
</table>
|
| 285 |
+
|
| 286 |
+
<!-- markdownlint-restore -->
|
| 287 |
+
<!-- prettier-ignore-end -->
|
| 288 |
+
|
| 289 |
+
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
| 290 |
+
|
| 291 |
+
## Thanks
|
| 292 |
+
|
| 293 |
+
<a href="https://www.chromaticqa.com/"><img src="https://cdn-images-1.medium.com/letterbox/147/36/50/50/1*oHHjTjInDOBxIuYHDY2gFA.png?source=logoAvatar-d7276495b101---37816ec27d7a" width="120"/></a>
|
| 294 |
+
|
| 295 |
+
Thanks to [Chromatic](https://www.chromaticqa.com/) for providing the visual
|
| 296 |
+
testing platform that helps us catch unexpected changes.
|
SECURITY.md
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Security Policy
|
| 2 |
+
|
| 3 |
+
Thanks for helping us keep CodeSandbox secure and safe!
|
| 4 |
+
|
| 5 |
+
## Reporting a Vulnerability
|
| 6 |
+
|
| 7 |
+
If you've discovered a vulnerability in CodeSandbox, you can send us an email at hello@codesandbox.io to report the vulnerability.
|
| 8 |
+
|
| 9 |
+
We'll make sure to respond within 24 hours, and if we accept the vulnerability, a timeline on when it will be fixed. We'll keep you posted on the progress of our fix.
|
babel.config.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
module.exports = {
|
| 2 |
+
presets: ['@babel/preset-env', '@babel/preset-flow', '@babel/preset-react'],
|
| 3 |
+
plugins: [
|
| 4 |
+
'@babel/plugin-transform-async-to-generator',
|
| 5 |
+
'@babel/plugin-proposal-object-rest-spread',
|
| 6 |
+
'@babel/plugin-proposal-class-properties',
|
| 7 |
+
'@babel/plugin-transform-runtime',
|
| 8 |
+
'@babel/plugin-syntax-dynamic-import',
|
| 9 |
+
'babel-plugin-lodash',
|
| 10 |
+
'babel-plugin-system-import-transformer',
|
| 11 |
+
'babel-plugin-macros',
|
| 12 |
+
],
|
| 13 |
+
};
|
catalog-info.yaml
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
apiVersion: backstage.io/v1alpha1
|
| 2 |
+
kind: Component
|
| 3 |
+
metadata:
|
| 4 |
+
name: codesandbox-editor-v1
|
| 5 |
+
description: Codesandbox V1 Editor Frontend
|
| 6 |
+
annotations:
|
| 7 |
+
github.com/project-slug: codesandbox/codesandbox-client
|
| 8 |
+
backstage.io/kubernetes-namespace: default
|
| 9 |
+
backstage.io/kubernetes-label-selector: app.kubernetes.io/name=codesandbox,component=client
|
| 10 |
+
codesandbox/deploy-image: codesandbox/client
|
| 11 |
+
codesandbox/deploy-gitops-repo: codesandbox/codesandbox-gitops
|
| 12 |
+
codesandbox/deploy-gitops-yaml-key: "client.image.tag"
|
| 13 |
+
codesandbox/deploy-image-tag-regex-production: ".*"
|
| 14 |
+
codesandbox/deploy-gitops-file-production: codesandbox-core/codesandbox/production/helm-chart-values/values.yaml
|
| 15 |
+
codesandbox/deploy-image-tag-regex-staging: ".*"
|
| 16 |
+
codesandbox/deploy-gitops-file-staging: codesandbox-core/codesandbox/staging/helm-chart-values/values.yaml
|
| 17 |
+
codesandbox/deploy-gitops-version-type: tag
|
| 18 |
+
spec:
|
| 19 |
+
type: website
|
| 20 |
+
lifecycle: production
|
| 21 |
+
owner: client
|
contributor-docs/adding-template.md
ADDED
|
@@ -0,0 +1,253 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Contribute with a Template
|
| 2 |
+
|
| 3 |
+
To contribute with a CodeSandbox template, you need to complete multiple steps
|
| 4 |
+
and submit two Pull Requests. We have created this guide to help you do this.
|
| 5 |
+
Here you will find descriptions and explanations for what you need to do, along
|
| 6 |
+
with some examples that we have added as references.
|
| 7 |
+
|
| 8 |
+
We realise that the process of submitting a template is not straightforward and
|
| 9 |
+
we hope that this guide will help you along the way. We are working on a system
|
| 10 |
+
that will make it easier.
|
| 11 |
+
|
| 12 |
+
If you think that we missed something in this guide or believe we could explain
|
| 13 |
+
something better, please let us know by submitting an
|
| 14 |
+
[issue](https://github.com/codesandbox/codesandbox-client/issues/new/choose)
|
| 15 |
+
with your feedback.
|
| 16 |
+
|
| 17 |
+
## What is a template?
|
| 18 |
+
|
| 19 |
+
A template is an identifier for a specific type of sandbox project that you can
|
| 20 |
+
create on [codesandbox.io](https://codesandbox.io), like projects using
|
| 21 |
+
`Gatsby`, `React` or `Vue.js`.
|
| 22 |
+
|
| 23 |
+
When you create a template you can customise how the template behaves, in order
|
| 24 |
+
to improve the User Experience of your template in the CodeSandbox editor and
|
| 25 |
+
preview. Examples of this include configuring which file should be opened in the
|
| 26 |
+
editor by default when choosing a template, or changing the default `eslint`
|
| 27 |
+
rules in a template, like with `vue-cli`.
|
| 28 |
+
|
| 29 |
+
We encourage template creators to improve the editor experience for their
|
| 30 |
+
templates in order to give everyone the best possible experience when using
|
| 31 |
+
templates.
|
| 32 |
+
|
| 33 |
+
## Template types
|
| 34 |
+
|
| 35 |
+
Templates can be of different types: **Sandboxes** or **Containers**, and have
|
| 36 |
+
major differences in functionality. It's important to know these differences
|
| 37 |
+
before you start working on a new template.
|
| 38 |
+
|
| 39 |
+
### Sandboxes
|
| 40 |
+
|
| 41 |
+
CodeSandbox executes projects in the browser, which we call sandboxes. This
|
| 42 |
+
means that the transpiling, bundling, dependency resolvement and more happens in
|
| 43 |
+
the browser itself, without a server being involved. This has some advantages
|
| 44 |
+
over conventional approaches; it works offline, is more performant and doesn't
|
| 45 |
+
give us server costs, which means we can have many sandboxes without having to
|
| 46 |
+
worry (a lot ;-)).
|
| 47 |
+
|
| 48 |
+
There are also some disadvantages to this approach. When sandboxes run in the
|
| 49 |
+
browser, we lose flexibility. It's no longer possible to run Command Line
|
| 50 |
+
Interface (CLI) commands and in some cases custom configurations are not
|
| 51 |
+
supported, for example a custom webpack configuration. This is why we have
|
| 52 |
+
developed a new kind of sandbox called **Container**, which we released in
|
| 53 |
+
September 2018.
|
| 54 |
+
|
| 55 |
+
### Containers
|
| 56 |
+
|
| 57 |
+
Unlike sandboxes, **containers** are executed on a server. This makes it
|
| 58 |
+
possible to create projects that are end-to-end based, like `Next.js` with
|
| 59 |
+
CodeSandbox, and also makes it possible to build bigger projects. **Containers**
|
| 60 |
+
let you run any command, and everything that works locally will also work in
|
| 61 |
+
container.
|
| 62 |
+
|
| 63 |
+
However, like the sandboxes, **containers** also come with some limitations. In
|
| 64 |
+
order to work on a container, you need to be signed in as a user, you can't edit
|
| 65 |
+
containers while offline, it's not possible to edit them from an embed, and you
|
| 66 |
+
can only have a limited amount of container based projects.
|
| 67 |
+
|
| 68 |
+
### Which one to choose?
|
| 69 |
+
|
| 70 |
+
As you have read above, the template type determines whether a project is
|
| 71 |
+
executed in a _sandbox in a browser_ or in a _container on a server_. This means
|
| 72 |
+
that the template type you have to choose, depends on your specific use-case and
|
| 73 |
+
where you want your project to be executed.
|
| 74 |
+
|
| 75 |
+
If you would like to demonstrate CLI functionality, we recommend that you use a
|
| 76 |
+
**container** type template, and if you want to demonstrate a JavaScript
|
| 77 |
+
framework (like `React`) we recommended using a **sandbox** type template.
|
| 78 |
+
|
| 79 |
+
We encourage everyone to first evaluate whether the template works as a sandbox,
|
| 80 |
+
before deciding on using a container.
|
| 81 |
+
|
| 82 |
+
## Adding a new template
|
| 83 |
+
|
| 84 |
+
In order to add a new template, you need to go through a set of steps. Some of
|
| 85 |
+
these steps you have to do, others depend on the type of template you want to
|
| 86 |
+
add (**sandbox** vs. **container**).
|
| 87 |
+
|
| 88 |
+
To get started, you should first follow the steps in our contribution guidelines
|
| 89 |
+
in order to
|
| 90 |
+
[set up CodeSandbox locally](https://github.com/codesandbox/codesandbox-client/blob/main/CONTRIBUTING.md#setting-up-the-project-locally).
|
| 91 |
+
|
| 92 |
+
### 1. Add template logo
|
| 93 |
+
|
| 94 |
+
Add the logo for your template in the
|
| 95 |
+
[templates repo](https://github.com/codesandbox/codesandbox-client/tree/main/packages/template-icons/src)
|
| 96 |
+
(`codesandbox-templates/packages/template-icons/src`).
|
| 97 |
+
|
| 98 |
+
#### SVG logos
|
| 99 |
+
|
| 100 |
+
Create a `.tsx` file in the `/src` directory with the appropriate name and
|
| 101 |
+
content. If your template's name is "Banana", name your logo file "BananaIcon".
|
| 102 |
+
|
| 103 |
+
Examples:
|
| 104 |
+
|
| 105 |
+
- [Vue logo](https://github.com/codesandbox/codesandbox-client/tree/main/packages/template-icons/src/VueIcon.tsx)
|
| 106 |
+
- [React logo](https://github.com/codesandbox/codesandbox-client/tree/main/packages/template-icons/src/ReactIcon.tsx)
|
| 107 |
+
|
| 108 |
+
### 2. Add template definition
|
| 109 |
+
|
| 110 |
+
In order for CodeSandbox to recognise your template, you need to add a new
|
| 111 |
+
definition of it in the `codesandbox-client/packages/common/src/templates`
|
| 112 |
+
[directory](https://github.com/codesandbox/codesandbox-client/tree/main/packages/common/src/templates).
|
| 113 |
+
You do this by creating a new `.ts` file with the name of your template.
|
| 114 |
+
|
| 115 |
+
Examples:
|
| 116 |
+
|
| 117 |
+
- [Parcel](https://github.com/codesandbox/codesandbox-client/blob/main/packages/common/src/templates/parcel.ts)
|
| 118 |
+
- [Gatsby](https://github.com/codesandbox/codesandbox-client/blob/main/packages/common/src/templates/gatsby.ts)
|
| 119 |
+
|
| 120 |
+
The template definition can have various options, which you can find more
|
| 121 |
+
information about in
|
| 122 |
+
[template.ts](https://github.com/codesandbox/codesandbox-client/blob/main/packages/common/src/templates/template.ts).
|
| 123 |
+
|
| 124 |
+
We encourage you to improve the user experience of your templates by taking
|
| 125 |
+
advantage of the options you have available while writing your template
|
| 126 |
+
definition.
|
| 127 |
+
|
| 128 |
+
Examples:
|
| 129 |
+
|
| 130 |
+
- Which file the editor should open by default
|
| 131 |
+
- Default rules the template should use
|
| 132 |
+
|
| 133 |
+
<!-- TODO: Add more examples -->
|
| 134 |
+
|
| 135 |
+
After writing your template definition, you also need to add it to the
|
| 136 |
+
[index.js](https://github.com/codesandbox/codesandbox-client/blob/main/packages/common/src/templates/index.ts)
|
| 137 |
+
file in the same directory (`codesandbox-client/packages/common/src/templates`)
|
| 138 |
+
in order for CodeSandbox to be able to retrieve your template.
|
| 139 |
+
|
| 140 |
+
### 3. Define transpilers for sandbox
|
| 141 |
+
|
| 142 |
+
_If you are adding a template for a **container** sandbox, you can skip this
|
| 143 |
+
step and proceed to step 4._
|
| 144 |
+
|
| 145 |
+
For the sandboxes that run in the browser we need to define what transpilers
|
| 146 |
+
need to be run. A template will not work in the bundler if it does not have a
|
| 147 |
+
preset.
|
| 148 |
+
|
| 149 |
+
We call a template configuration for the bundler in CodeSandbox a 'Preset'. All
|
| 150 |
+
currently installed presets are defined in the
|
| 151 |
+
[index.ts](https://github.com/codesandbox/codesandbox-client/blob/main/packages/app/src/sandbox/eval/index.ts)
|
| 152 |
+
file under `codesandbox-client/packages/app/src/sandbox/eval/presets`.
|
| 153 |
+
|
| 154 |
+
In order to understand how this configuration works, we recommend you to take a
|
| 155 |
+
look at templates that have already been implemented and their presets.
|
| 156 |
+
|
| 157 |
+
Examples:
|
| 158 |
+
|
| 159 |
+
- [create-react-app-typescript](https://github.com/codesandbox/codesandbox-client/blob/main/packages/app/src/sandbox/eval/presets/create-react-app-typescript/index.js)
|
| 160 |
+
(most basic one)
|
| 161 |
+
- [CxJS](https://github.com/codesandbox/codesandbox-client/blob/main/packages/app/src/sandbox/eval/presets/cxjs/index.js)
|
| 162 |
+
- [vue-cli](https://github.com/codesandbox/codesandbox-client/blob/main/packages/app/src/sandbox/eval/presets/vue-cli/index.js)
|
| 163 |
+
|
| 164 |
+
### 4. Add the importer
|
| 165 |
+
|
| 166 |
+
We allow people to import sandboxes from GitHub/CLI/API, and to make sure that
|
| 167 |
+
the right template is imported we have some specific logic that determines a
|
| 168 |
+
template for every template. This logic is **not** found in `codesanbox-client`.
|
| 169 |
+
|
| 170 |
+
This means you that you also have to add your template in another file in the
|
| 171 |
+
`codesandbox-importers` repository called
|
| 172 |
+
[templates.ts](https://github.com/codesandbox/codesandbox-importers/blob/main/packages/import-utils/src/create-sandbox/templates.ts).
|
| 173 |
+
|
| 174 |
+
When you create your Pull Request in `codesanbox-client`, you also need to
|
| 175 |
+
create a Pull Request in `codesandbox-importer` and reference it in your Pull
|
| 176 |
+
Request for `codesandbox-client`. Example:
|
| 177 |
+
|
| 178 |
+
- [Add VuePress](https://github.com/codesandbox/codesandbox-client/pull/1652) in
|
| 179 |
+
[codesandbox-client](https://github.com/codesandbox/codesandbox-client)
|
| 180 |
+
- [Add VuePress support](https://github.com/codesandbox/codesandbox-importers/pull/30)
|
| 181 |
+
in
|
| 182 |
+
[codesandbox-importer](https://github.com/codesandbox/codesandbox-importers)
|
| 183 |
+
|
| 184 |
+
### 5. Test the template
|
| 185 |
+
|
| 186 |
+
You can test your new sandbox template, however you cannot preview the
|
| 187 |
+
functionality of templates using containers.
|
| 188 |
+
|
| 189 |
+
#### Sandbox template
|
| 190 |
+
|
| 191 |
+
To test your new template, you need to create a mock response from the API and
|
| 192 |
+
force the new template specification. To do this, you uncomment
|
| 193 |
+
[this line](https://github.com/codesandbox/codesandbox-client/blob/main/packages/app/src/app/store/actions.js#L17)
|
| 194 |
+
and change `'custom'` to the id/name of your template:
|
| 195 |
+
|
| 196 |
+
```diff
|
| 197 |
+
.then(data => {
|
| 198 |
+
- // data.template = 'custom';
|
| 199 |
+
+ data.template = 'templatename';
|
| 200 |
+
const sandbox = data;
|
| 201 |
+
return path.success({ sandbox });
|
| 202 |
+
})
|
| 203 |
+
```
|
| 204 |
+
|
| 205 |
+
#### Container template
|
| 206 |
+
|
| 207 |
+
<!-- TODO: clearify what to do here -->
|
| 208 |
+
<!-- TODO: Improve description of step -->
|
| 209 |
+
|
| 210 |
+
It's currently not possible to test the preview functionality of container
|
| 211 |
+
sandboxes and we recommend you to test if the sandbox works in a `node`
|
| 212 |
+
template. If your template works using `node`, it will work with your new
|
| 213 |
+
template as well.
|
| 214 |
+
|
| 215 |
+
To do this, please add a `sandbox.config.json` file to the root folder of the
|
| 216 |
+
repository that you are using as the basis for your template, with the content
|
| 217 |
+
of:
|
| 218 |
+
|
| 219 |
+
```json
|
| 220 |
+
{
|
| 221 |
+
"template": "node"
|
| 222 |
+
}
|
| 223 |
+
```
|
| 224 |
+
|
| 225 |
+
To test it, you use CodeSandbox to access the repository that will be used for
|
| 226 |
+
the template like so: `https://codesanbox.io/s/github/user/repo-name`, where
|
| 227 |
+
`user` is the user/organisation who owns the repository and `repo-name` is the
|
| 228 |
+
name of the repository to use for the template.
|
| 229 |
+
|
| 230 |
+
After your Pull Request to add a new template has been merged, you can delete
|
| 231 |
+
this `sandbox.json.config` file from your repository.
|
| 232 |
+
|
| 233 |
+
### 6. Add yourself as a contributor
|
| 234 |
+
|
| 235 |
+
This project follows the all-contributors specification. Contributions of any
|
| 236 |
+
kind are welcome! To add yourself to the table of contributors in the README.md
|
| 237 |
+
file, please use the automated script as part of your PR:
|
| 238 |
+
|
| 239 |
+
```
|
| 240 |
+
yarn add-contributor
|
| 241 |
+
```
|
| 242 |
+
|
| 243 |
+
Follow the prompt and commit .all-contributorsrc and README.md in the PR.
|
| 244 |
+
|
| 245 |
+
Thank you for taking the time to contribute! 👍
|
| 246 |
+
|
| 247 |
+
### Conclusion
|
| 248 |
+
|
| 249 |
+
If your testing went well, congratulations! You have now created a new template
|
| 250 |
+
for CodeSandbox!
|
| 251 |
+
|
| 252 |
+
We will make sure to merge and deploy the two Pull Requests you made to both
|
| 253 |
+
`codesanbox-client` and `codesandbox-importers` at the same time.
|
docker/Dockerfile
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
FROM node:10.22.1-buster
|
| 2 |
+
LABEL maintainer "Ives van Hoorne"
|
| 3 |
+
|
| 4 |
+
RUN mkdir /workspace
|
| 5 |
+
ADD .git /workspace/.git
|
| 6 |
+
|
| 7 |
+
WORKDIR /workspace
|
| 8 |
+
RUN git reset --hard
|
| 9 |
+
RUN apt update
|
| 10 |
+
RUN apt install -y nano less tmux zsh vim
|
docker/Dockerfile.integrations
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
FROM 'circleci/node:16'
|
| 2 |
+
|
| 3 |
+
RUN sudo apt-get update && sudo apt-get install -yq gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \
|
| 4 |
+
libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \
|
| 5 |
+
libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 \
|
| 6 |
+
libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 \
|
| 7 |
+
ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget libgbm-dev
|
| 8 |
+
|
| 9 |
+
RUN cd ~/ && yarn add puppeteer@18.1.0
|
docker/Dockerfile.prod
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
FROM node:9
|
| 2 |
+
LABEL maintainer "Ives van Hoorne"
|
| 3 |
+
|
| 4 |
+
COPY package.json /app/package.json
|
| 5 |
+
COPY yarn.lock /app/yarn.lock
|
| 6 |
+
|
| 7 |
+
WORKDIR /app
|
| 8 |
+
RUN yarn config set workspaces-experimental true
|
| 9 |
+
RUN yarn install
|
| 10 |
+
|
| 11 |
+
# After yarn install, so dev deps are also installed (for building)
|
| 12 |
+
ENV NODE_ENV production
|
| 13 |
+
|
| 14 |
+
ADD . /app
|
| 15 |
+
RUN npm run build
|
docker/Dockerfile.test
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
FROM node:8-slim
|
| 2 |
+
LABEL maintainer "Ives van Hoorne"
|
| 3 |
+
|
| 4 |
+
RUN apt-get update && \
|
| 5 |
+
apt-get install -yq gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \
|
| 6 |
+
libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \
|
| 7 |
+
libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 \
|
| 8 |
+
libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 \
|
| 9 |
+
ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget && \
|
| 10 |
+
apt-get clean && apt-get autoremove -y && rm -rf /var/lib/apt/lists/*
|
| 11 |
+
|
| 12 |
+
RUN yarn global add puppeteer@0.12.0 && yarn cache clean
|
| 13 |
+
|
| 14 |
+
ENV NODE_PATH="/usr/local/share/.config/yarn/global/node_modules:${NODE_PATH}"
|
| 15 |
+
|
| 16 |
+
ENV PATH="/tools:${PATH}"
|
| 17 |
+
|
| 18 |
+
WORKDIR /app
|
docker/run-docker.sh
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/bin/bash
|
| 2 |
+
yarn && yarn start:dev_api
|
| 3 |
+
tail -f /dev/null
|
env.sh
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/bin/sh
|
| 2 |
+
|
| 3 |
+
# Recreate config file
|
| 4 |
+
envConfigFilePath=$1
|
| 5 |
+
|
| 6 |
+
rm -rf $envConfigFilePath
|
| 7 |
+
touch $envConfigFilePath
|
| 8 |
+
|
| 9 |
+
# Add assignment
|
| 10 |
+
echo "window._env_ = {" >> $envConfigFilePath
|
| 11 |
+
|
| 12 |
+
|
| 13 |
+
while IFS='=' read -r varname varvalue || [ -n "$varname" ]; do
|
| 14 |
+
value=""
|
| 15 |
+
if [ ! -z $(printenv | grep "$varname=") ]; then
|
| 16 |
+
eval "value=\"\${$varname}\""
|
| 17 |
+
else
|
| 18 |
+
# Otherwise use value from .env file
|
| 19 |
+
value="$varvalue"
|
| 20 |
+
fi
|
| 21 |
+
|
| 22 |
+
echo " $varname: \"$value\"," >> "$envConfigFilePath"
|
| 23 |
+
done < ".env"
|
| 24 |
+
|
| 25 |
+
echo "}" >> "$envConfigFilePath"
|
lerna.json
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"$schema": "node_modules/lerna/schemas/lerna-schema.json",
|
| 3 |
+
"packages": ["packages/*", "standalone-packages/*"],
|
| 4 |
+
"version": "independent",
|
| 5 |
+
"useNx": false
|
| 6 |
+
}
|
package.json
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "codesandbox",
|
| 3 |
+
"version": "0.1.0",
|
| 4 |
+
"private": true,
|
| 5 |
+
"repository": {
|
| 6 |
+
"type": "git",
|
| 7 |
+
"url": "https://github.com/codesandbox/codesandbox-client"
|
| 8 |
+
},
|
| 9 |
+
"license": "GPL-3.0",
|
| 10 |
+
"workspaces": {
|
| 11 |
+
"packages": [
|
| 12 |
+
"packages/@styled-system/css",
|
| 13 |
+
"packages/app",
|
| 14 |
+
"packages/browser-dart-sass",
|
| 15 |
+
"packages/browser-eslint-rules",
|
| 16 |
+
"packages/codesandbox-api",
|
| 17 |
+
"packages/common",
|
| 18 |
+
"packages/components",
|
| 19 |
+
"packages/deps",
|
| 20 |
+
"packages/executors",
|
| 21 |
+
"packages/node-services",
|
| 22 |
+
"packages/notifications",
|
| 23 |
+
"packages/react-embed",
|
| 24 |
+
"packages/sandbox-hooks",
|
| 25 |
+
"packages/sandpack-core",
|
| 26 |
+
"packages/sse-hooks",
|
| 27 |
+
"packages/template-icons",
|
| 28 |
+
"packages/vue3-browser-compiler",
|
| 29 |
+
"packages/vue3-transpiler"
|
| 30 |
+
],
|
| 31 |
+
"nohoist": [
|
| 32 |
+
"**/react-codemirror2",
|
| 33 |
+
"**/react-codemirror2/**",
|
| 34 |
+
"codesandbox-deps/tern"
|
| 35 |
+
]
|
| 36 |
+
},
|
| 37 |
+
"scripts": {
|
| 38 |
+
"build": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" yarn build:deps && yarn build:prod",
|
| 39 |
+
"build:clean": "lerna run build:clean --scope app && rimraf www",
|
| 40 |
+
"build:common": "lerna run build:dev --scope @codesandbox/common --stream",
|
| 41 |
+
"build:components": "lerna run build:dev --scope @codesandbox/components --stream",
|
| 42 |
+
"build:deps": "lerna run build:dev",
|
| 43 |
+
"build:sandpack": "lerna run build:sandpack-sandbox --scope app --stream",
|
| 44 |
+
"build:embed": "lerna run build:embed --scope app --stream && gulp",
|
| 45 |
+
"build:prod": "lerna run build --scope app --stream && lerna run copy-assets --scope app --stream",
|
| 46 |
+
"commit": "concurrently \"yarn typecheck\" \"yarn lint\" && git commit -m",
|
| 47 |
+
"postinstall": "yarn lerna run install-dependencies --stream --concurrency 1 && cd packages/app/src/app/overmind/effects/vscode/LinterWorker && yarn install",
|
| 48 |
+
"contributors:add": "all-contributors add",
|
| 49 |
+
"contributors:generate": "all-contributors generate",
|
| 50 |
+
"lint": "lerna run lint --stream",
|
| 51 |
+
"now-build": "yarn build:deps && lerna run build:storybook --scope @codesandbox/common",
|
| 52 |
+
"start": "yarn build:deps && cross-env NODE_ENV=development lerna run start --scope @codesandbox/common --scope @codesandbox/components --scope app --parallel",
|
| 53 |
+
"start:common": "lerna run start --scope @codesandbox/common --stream",
|
| 54 |
+
"start:components": "lerna run start --scope @codesandbox/components --stream",
|
| 55 |
+
"start:dev_api": "(tmux new-session -d -s csb \"NODE_OPTIONS=--max_old_space_size=8192 concurrently --raw 'cd packages/app && yarn start:dev_api' 'cd packages/common && yarn start' 'cd packages/components && yarn start'\" || tmux attach -t csb) && tmux attach -t csb",
|
| 56 |
+
"prestart:fast": "chmod +x ./env.sh && ./env.sh ./packages/app/static/js/env-config.js",
|
| 57 |
+
"start:fast": "cross-env ENDPOINT=https://codesandbox.io NODE_ENV=development concurrently --raw \"cd packages/app && yarn start\" \"cd packages/common && yarn start\" \"cd packages/components && yarn start\"",
|
| 58 |
+
"start:csb-dev": "cross-env NODE_ENV=development stmux -w always -e ERROR -m beep,system -- [ \"cd packages/app && sleep 15 && yarn start:dev_api\" : [ \"cd packages/common && yarn start\" .. \"cd packages/components && yarn start\" ] ]",
|
| 59 |
+
"start:profiling": "cross-env NODE_ENV=production PROFILING=true concurrently --raw \"cd packages/app && yarn start\" \"cd packages/common && yarn start\" \"cd packages/components && yarn start\"",
|
| 60 |
+
"start:hot": "cross-env NODE_ENV=development APP_ONLY=true concurrently --raw \"cd packages/app && yarn start\" \"cd packages/common && yarn start\" \"cd packages/components && yarn start\"",
|
| 61 |
+
"prestart:fast:stream": "chmod +x ./env.sh && ./env.sh ./packages/app/static/js/env-config.js",
|
| 62 |
+
"prestart:fast:local": "chmod +x ./env.sh && ./env.sh ./packages/app/static/js/env-config.js",
|
| 63 |
+
"start:fast:stream": "cross-env ENDPOINT=https://codesandbox.stream NODE_ENV=development concurrently --raw \"cd packages/app && yarn start\" \"cd packages/common && yarn start\" \"cd packages/components && yarn start\"",
|
| 64 |
+
"start:fast:local": "cross-env ENDPOINT=http://localhost:4000 NODE_ENV=development concurrently --raw \"cd packages/app && yarn start\" \"cd packages/common && yarn start\" \"cd packages/components && yarn start\"",
|
| 65 |
+
"start:storybook": "lerna run start:storybook --scope=@codesandbox/common --stream",
|
| 66 |
+
"start:test": "lerna run start:test --scope app --stream",
|
| 67 |
+
"start:vscode": "cross-env VSCODE=1 yarn start:fast & cd standalone-packages/monaco-editor && yarn simpleserver & cd standalone-packages/vscode && yarn watch",
|
| 68 |
+
"test": "lerna run test --ignore codesandbox-browserfs",
|
| 69 |
+
"test:pr": "node testpr-script",
|
| 70 |
+
"test:ci": "lerna run test --ignore codesandbox-browserfs -- --ci --testResultsProcessor=\"jest-junit\" ",
|
| 71 |
+
"test:integrations": "lerna exec --scope app --stream -- yarn test:integrations",
|
| 72 |
+
"test:jest-lite": "lerna exec --scope app --stream -- yarn run test jest-lite --watch --coverage",
|
| 73 |
+
"chromatic": "lerna run chromatic --scope=@codesandbox/components --stream",
|
| 74 |
+
"typecheck": "lerna run typecheck",
|
| 75 |
+
"prettify": "prettier -w .",
|
| 76 |
+
"prepare": "husky install"
|
| 77 |
+
},
|
| 78 |
+
"dependencies": {
|
| 79 |
+
"postinstall-postinstall": "^2.1.0"
|
| 80 |
+
},
|
| 81 |
+
"devDependencies": {
|
| 82 |
+
"@typescript-eslint/eslint-plugin": "^6.9.0",
|
| 83 |
+
"@typescript-eslint/parser": "^6.9.0",
|
| 84 |
+
"all-contributors-cli": "^6.26.1",
|
| 85 |
+
"babel-eslint": "10.1.0",
|
| 86 |
+
"concurrently": "^4.1.0",
|
| 87 |
+
"cross-env": "^6.0.0",
|
| 88 |
+
"eslint": "5.16.0",
|
| 89 |
+
"eslint-config-airbnb": "^18.0.1",
|
| 90 |
+
"eslint-config-prettier": "^6.3.0",
|
| 91 |
+
"eslint-import-resolver-webpack": "^0.8.1",
|
| 92 |
+
"eslint-plugin-import": "^2.18.2",
|
| 93 |
+
"eslint-plugin-jsx-a11y": "^6.6.1",
|
| 94 |
+
"eslint-plugin-react": "~7.21.2",
|
| 95 |
+
"eslint-plugin-react-hooks": "^4.1.0",
|
| 96 |
+
"eslint-plugin-react_editor": "npm:eslint-plugin-react@7.29.4",
|
| 97 |
+
"gulp": "^4.0.2",
|
| 98 |
+
"husky": "^8.0.3",
|
| 99 |
+
"jest-environment-jsdom": "^29.7.0",
|
| 100 |
+
"lerna": "^6",
|
| 101 |
+
"lint-staged": "10.5.4",
|
| 102 |
+
"prettier": "2.1.1",
|
| 103 |
+
"pretty-quick": "^3.0.0",
|
| 104 |
+
"typescript": "^5.2.2",
|
| 105 |
+
"username": "^5.1.0"
|
| 106 |
+
},
|
| 107 |
+
"husky": {
|
| 108 |
+
"hooks": {
|
| 109 |
+
"pre-commit": "lint-staged"
|
| 110 |
+
}
|
| 111 |
+
},
|
| 112 |
+
"lint-staged": {
|
| 113 |
+
"*.{js,jsx,ts,tsx}": [
|
| 114 |
+
"cross-env LINT=1 eslint --fix",
|
| 115 |
+
"pretty-quick --staged"
|
| 116 |
+
]
|
| 117 |
+
},
|
| 118 |
+
"engines": {
|
| 119 |
+
"node": "^16.0.0"
|
| 120 |
+
}
|
| 121 |
+
}
|