{
  "name": "www",
  "version": "1.0.0",
  "description": "Standalone WWW client for Scratch",
  "scripts": {
    "start": "node ./dev-server/index.js",
    "test": "npm run test:lint && npm run build && npm run test:unit",
    "test:lint": "eslint . --ext .js,.jsx,.json",
    "test:integration": "npm run test:integration:jest && npm run test:smoke",
    "test:integration:jest": "jest ./test/integration/*.test.js",
    "test:integration:remote": "npm run test:integration:jest && npm run test:smoke:sauce",
    "test:smoke": "tap ./test/integration-legacy/smoke-testing/*.js --timeout=3600 --no-coverage -R classic",
    "test:smoke:verbose": "tap ./test/integration-legacy/smoke-testing/*.js --timeout=3600 --no-coverage -R spec",
    "test:smoke:sauce": "SMOKE_REMOTE=true tap ./test/integration-legacy/smoke-testing/*.js --timeout=60000 --no-coverage -R classic",
    "test:unit": "npm run test:unit:jest && npm run test:unit:tap",
    "test:unit:jest": "jest ./test/unit/ && jest ./test/localization/*.test.js",
    "test:unit:tap": "tap ./test/{unit-legacy,localization-legacy}/*.js --no-coverage -R classic",
    "test:coverage": "tap ./test/{unit-legacy,localization-legacy}/*.js --coverage --coverage-report=lcov",
    "build": "npm run clean && npm run translate && webpack --bail",
    "clean": "rm -rf ./build && rm -rf ./intl && mkdir -p build && mkdir -p intl",
    "deploy": "npm run deploy:s3 && npm run deploy:fastly",
    "deploy:fastly": "node ./bin/configure-fastly.js",
    "deploy:s3": "npm run deploy:s3:all && npm run deploy:s3:svg && npm run deploy:s3:js",
    "deploy:s3cmd": "s3cmd sync -P --delete-removed --add-header=Cache-Control:no-cache,public,max-age=3600",
    "deploy:s3:all": "npm run deploy:s3cmd -- --exclude '.DS_Store' --exclude '*.svg' --exclude '*.js' ./build/ s3://$S3_BUCKET_NAME/",
    "deploy:s3:svg": "npm run deploy:s3cmd -- --exclude '*' --include '*.svg' --mime-type 'image/svg+xml' ./build/ s3://$S3_BUCKET_NAME/",
    "deploy:s3:js": "npm run deploy:s3cmd -- --exclude '*' --include '*.js' --mime-type 'application/javascript' ./build/ s3://$S3_BUCKET_NAME/",
    "translate:urls": "node ./bin/get-localized-urls localized-urls.json",
    "translate:files": "node ./bin/build-locales node_modules/scratch-l10n/www intl",
    "translate": "npm run translate:urls && npm run translate:files"
  },
  "repository": {
    "type": "git",
    "url": "git+ssh://git@github.com/llk/scratch-www.git"
  },
  "author": "Massachusetts Institute of Technology",
  "license": "BSD-3-Clause",
  "bugs": {
    "url": "https://github.com/llk/scratch-www/issues"
  },
  "homepage": "https://github.com/llk/scratch-www#readme",
  "dependencies": {
    "@sentry/browser": "4.4.2",
    "bunyan": "1.7.1",
    "clipboard-copy": "2.0.1",
    "compression": "1.6.1",
    "express": "4.16.1",
    "express-http-proxy": "1.1.0",
    "lodash.defaults": "4.0.1",
    "newrelic": "1.25.4",
    "react-helmet": "5.2.0",
    "scratch-parser": "^5.0.0",
    "scratch-storage": "^0.5.1"
  },
  "devDependencies": {
    "ajv": "6.4.0",
    "async": "3.1.0",
    "autoprefixer": "6.3.6",
    "babel-cli": "6.26.0",
    "babel-core": "6.23.1",
    "babel-eslint": "10.0.2",
    "babel-loader": "7.1.0",
    "babel-plugin-transform-object-rest-spread": "6.26.0",
    "babel-preset-es2015": "6.22.0",
    "babel-preset-react": "6.22.0",
    "bowser": "1.9.4",
    "cheerio": "1.0.0-rc.2",
    "chromedriver": "75.1.0",
    "classnames": "2.2.5",
    "cookie": "0.2.2",
    "copy-webpack-plugin": "0.2.0",
    "create-react-class": "15.6.2",
    "css-loader": "0.23.1",
    "eslint": "5.16.0",
    "eslint-config-scratch": "5.0.0",
    "eslint-plugin-cypress": "^2.0.1",
    "eslint-plugin-json": "1.4.0",
    "eslint-plugin-react": "7.14.2",
    "exenv": "1.2.0",
    "fastly": "1.2.1",
    "file-loader": "4.0.0",
    "formik": "1.5.4",
    "formsy-react": "1.1.4",
    "formsy-react-components": "1.0.0",
    "git-bundle-sha": "0.0.2",
    "glob": "5.0.15",
    "google-libphonenumber": "3.2.3",
    "html-webpack-plugin": "2.22.0",
    "iso-3166-2": "0.4.0",
    "jest": "^23.6.0",
    "json-loader": "0.5.2",
    "json2po-stream": "1.0.3",
    "keymirror": "0.1.1",
    "lodash.bindall": "4.4.0",
    "lodash.clone": "3.0.3",
    "lodash.defaultsdeep": "3.10.0",
    "lodash.isarray": "3.0.4",
    "lodash.merge": "3.3.2",
    "lodash.mergewith": "4.6.1",
    "lodash.omit": "3.1.0",
    "lodash.range": "3.2.0",
    "lodash.uniqby": "4.7.0",
    "minilog": "2.0.8",
    "node-dir": "0.1.16",
    "node-sass": "4.6.1",
    "pako": "0.2.8",
    "po2icu": "0.0.2",
    "postcss-loader": "2.0.10",
    "prop-types": "15.6.0",
    "react": "16.2.0",
    "react-dom": "16.2.0",
    "react-intl": "2.8.0",
    "react-modal": "3.8.2",
    "react-onclickoutside": "6.7.1",
    "react-redux": "5.0.7",
    "react-responsive": "3.0.0",
    "react-slick": "0.16.0",
    "react-string-replace": "0.4.1",
    "react-telephone-input": "4.3.4",
    "redux": "3.5.2",
    "redux-thunk": "2.0.1",
    "sass-loader": "6.0.6",
    "scratch-gui": "0.1.0-prerelease.20190731192641",
    "scratch-l10n": "latest",
    "selenium-webdriver": "3.6.0",
    "slick-carousel": "1.6.0",
    "source-map-support": "0.3.2",
    "style-loader": "0.12.3",
    "tap": "14.2.0",
    "url-loader": "2.0.1",
    "watch": "0.16.0",
    "webpack": "2.7.0",
    "webpack-dev-middleware": "2.0.4",
    "xhr": "2.2.0"
  },
  "nyc": {
    "include": [
      "bin/**/*.js",
      "src/**/*.js"
    ],
    "all": true
  }
}