mirror of
https://github.com/scratchfoundation/scratch-www.git
synced 2024-12-17 19:12:40 -05:00
190 lines
7.2 KiB
JSON
190 lines
7.2 KiB
JSON
{
|
|
"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:lint:ci": "eslint . --ext .js,.jsx,.json --format junit -o ./test/results/lint-results.xml",
|
|
"test:health": "jest ./test/health/*.test.js",
|
|
"test:integration": "jest ./test/integration/*.test.js --reporters=default --maxWorkers=5",
|
|
"test:unit": "npm run test:unit:jest && npm run test:unit:tap",
|
|
"test:unit:jest": "npm run test:unit:jest:unit && npm run test:unit:jest:localization",
|
|
"test:unit:jest:unit": "jest ./test/unit/ --env=jsdom --reporters=default",
|
|
"test:unit:jest:localization": "jest ./test/localization/*.test.js --reporters=default",
|
|
"test:unit:tap": "tap ./test/{unit-legacy,localization-legacy}/ --no-coverage -R classic",
|
|
"test:unit:convertReportToXunit": "tap ./test/results/unit-raw.tap --no-coverage -R xunit > ./test/results/unit-tap-results.xml",
|
|
"test:coverage": "tap ./test/{unit-legacy,localization-legacy}/ --coverage --coverage-report=lcov",
|
|
"build": "npm run clean && npm run translate && NODE_OPTIONS=--max_old_space_size=8000 webpack --bail",
|
|
"build:analyze": "ANALYZE_BUNDLE=true npm run build",
|
|
"clean": "rm -rf ./build && rm -rf ./intl && mkdir -p build && mkdir -p intl",
|
|
"deploy": "npm run deploy:s3 && npm run deploy:fastly && npm run deploy:announce",
|
|
"deploy:fastly": "node ./bin/configure-fastly.js",
|
|
"deploy:s3": "npm run deploy:s3:all && npm run deploy:s3:svg && npm run deploy:s3:js && npm run deploy:s3:css",
|
|
"deploy:s3cmd": "s3cmd sync -P --delete-removed --add-header=Cache-Control:no-cache,public,max-age=3600 --add-header=x-amz-meta-surrogate-key:static-assets",
|
|
"deploy:s3:all": "npm run deploy:s3cmd -- --exclude '.DS_Store' --exclude '*.svg' --exclude '*.js' --exclude '*.css' ./build/ s3://$S3_BUCKET_NAME/",
|
|
"deploy:s3:svg": "npm run deploy:s3cmd -- --exclude '*' --include '*.svg' --mime-type 'image/svg+xml' ./build/ s3://$S3_BUCKET_NAME/",
|
|
"deploy:s3:js": "npm run deploy:s3cmd -- --exclude '*' --include '*.js' --mime-type 'application/javascript' ./build/ s3://$S3_BUCKET_NAME/",
|
|
"deploy:s3:css": "npm run deploy:s3cmd -- --exclude '*' --include '*.css' --mime-type 'text/css' ./build/ s3://$S3_BUCKET_NAME/",
|
|
"deploy:announce": "node ./bin/announce.js",
|
|
"i18n:push": "./bin/tx-push-www --execute",
|
|
"translate:urls": "node ./bin/get-localized-urls localized-urls.json",
|
|
"translate:files": "node ./bin/build-locales node_modules/scratch-l10n/www intl",
|
|
"translate": "npm run translate:urls && npm run translate:files"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+ssh://git@github.com/scratchfoundation/scratch-www.git"
|
|
},
|
|
"author": "Massachusetts Institute of Technology",
|
|
"license": "BSD-3-Clause",
|
|
"bugs": {
|
|
"url": "https://github.com/scratchfoundation/scratch-www/issues"
|
|
},
|
|
"homepage": "https://github.com/scratchfoundation/scratch-www#readme",
|
|
"dependencies": {
|
|
"bunyan": "1.8.15",
|
|
"clipboard-copy": "2.0.1",
|
|
"express": "4.19.2",
|
|
"express-http-proxy": "1.6.3",
|
|
"lodash.defaults": "4.2.0",
|
|
"lodash.get": "4.4.2",
|
|
"react-confetti": "6.1.0",
|
|
"react-helmet": "5.2.1",
|
|
"react-onclickoutside": "6.13.0",
|
|
"react-router-dom": "5.3.4",
|
|
"react-twitter-embed": "3.0.3",
|
|
"react-use": "17.5.0",
|
|
"scratch-parser": "5.2.1",
|
|
"scratch-storage": "2.3.172"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/cli": "7.24.7",
|
|
"@babel/core": "7.24.7",
|
|
"@babel/eslint-parser": "7.24.7",
|
|
"@babel/plugin-syntax-dynamic-import": "7.8.3",
|
|
"@babel/plugin-transform-async-to-generator": "7.24.7",
|
|
"@babel/plugin-transform-object-rest-spread": "7.24.7",
|
|
"@babel/preset-env": "7.24.7",
|
|
"@babel/preset-react": "7.24.7",
|
|
"@formatjs/intl-datetimeformat": "6.12.5",
|
|
"@formatjs/intl-locale": "3.4.6",
|
|
"@formatjs/intl-numberformat": "8.10.3",
|
|
"@formatjs/intl-pluralrules": "5.2.14",
|
|
"@formatjs/intl-relativetimeformat": "11.2.14",
|
|
"@types/jest": "29.5.12",
|
|
"async": "3.2.5",
|
|
"autoprefixer": "10.4.19",
|
|
"babel-loader": "8.3.0",
|
|
"babel-plugin-transform-require-context": "0.1.1",
|
|
"bowser": "1.9.4",
|
|
"buffer": "6.0.3",
|
|
"canvas": "2.11.2",
|
|
"classnames": "2.5.1",
|
|
"cookie": "0.4.1",
|
|
"copy-webpack-plugin": "6.4.1",
|
|
"css-loader": "5.2.7",
|
|
"email-validator": "2.0.4",
|
|
"emit-file-webpack-plugin": "2.0.1",
|
|
"enzyme": "3.11.0",
|
|
"enzyme-adapter-react-16": "1.15.8",
|
|
"eslint": "8.57.0",
|
|
"eslint-config-scratch": "9.0.8",
|
|
"eslint-plugin-jest": "27.9.0",
|
|
"eslint-plugin-json": "2.1.2",
|
|
"eslint-plugin-react": "7.34.3",
|
|
"eslint-plugin-react-hooks": "4.6.2",
|
|
"fastly": "1.2.1",
|
|
"formik": "1.5.8",
|
|
"formsy-react": "1.1.6",
|
|
"formsy-react-components": "1.1.0",
|
|
"git-bundle-sha": "0.0.2",
|
|
"glob": "5.0.15",
|
|
"google-libphonenumber": "3.2.35",
|
|
"html-webpack-plugin": "5.6.0",
|
|
"iso-3166-2": "1.0.0",
|
|
"jest": "29.7.0",
|
|
"jest-canvas-mock": "2.5.2",
|
|
"jest-environment-jsdom": "29.7.0",
|
|
"jest-junit": "12.3.0",
|
|
"keymirror": "0.1.1",
|
|
"lodash.bindall": "4.4.0",
|
|
"lodash.defaultsdeep": "4.6.1",
|
|
"lodash.merge": "4.6.2",
|
|
"lodash.mergewith": "4.6.2",
|
|
"lodash.omit": "3.1.0",
|
|
"lodash.uniqby": "4.7.0",
|
|
"mini-css-extract-plugin": "1.6.2",
|
|
"minilog": "2.1.0",
|
|
"pako": "0.2.8",
|
|
"plotly.js": "1.47.4",
|
|
"postcss": "8.4.39",
|
|
"postcss-loader": "4.3.0",
|
|
"prop-types": "15.8.1",
|
|
"query-string": "5.1.1",
|
|
"react": "16.14.0",
|
|
"react-dom": "16.14.0",
|
|
"react-intl": "5.25.1",
|
|
"react-modal": "3.16.1",
|
|
"react-plotly.js": "2.6.0",
|
|
"react-redux": "5.1.2",
|
|
"react-responsive": "3.0.0",
|
|
"react-slick": "0.16.0",
|
|
"react-string-replace": "0.4.1",
|
|
"react-telephone-input": "4.75.5",
|
|
"react-test-renderer": "16.14.0",
|
|
"redux": "3.7.2",
|
|
"redux-mock-store": "1.5.4",
|
|
"redux-thunk": "2.4.2",
|
|
"regenerator-runtime": "0.13.9",
|
|
"sass": "1.77.6",
|
|
"sass-loader": "10.5.2",
|
|
"scratch-gui": "3.6.15",
|
|
"scratch-l10n": "3.18.210",
|
|
"selenium-webdriver": "4.22.0",
|
|
"slick-carousel": "1.8.1",
|
|
"stream-browserify": "3.0.0",
|
|
"style-loader": "0.12.3",
|
|
"tap": "14.11.0",
|
|
"url-loader": "3.0.0",
|
|
"use-onclickoutside": "0.4.1",
|
|
"webpack": "5.92.1",
|
|
"webpack-bundle-analyzer": "4.10.2",
|
|
"webpack-cli": "5.1.4",
|
|
"webpack-dev-middleware": "5.3.4",
|
|
"xhr": "2.6.0"
|
|
},
|
|
"jest": {
|
|
"setupFiles": [
|
|
"<rootDir>/test/helpers/enzyme-setup.js",
|
|
"jest-canvas-mock"
|
|
],
|
|
"moduleNameMapper": {
|
|
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/test/__mocks__/fileMock.js",
|
|
"\\.(css|less|scss)$": "<rootDir>/test/__mocks__/styleMock.js"
|
|
},
|
|
"reporters": [
|
|
"default",
|
|
"jest-junit"
|
|
]
|
|
},
|
|
"jest-junit": {
|
|
"outputDirectory": "./test/results"
|
|
},
|
|
"nyc": {
|
|
"include": [
|
|
"bin/**/*.js",
|
|
"src/**/*.js"
|
|
],
|
|
"all": true
|
|
},
|
|
"browserslist": [
|
|
"Chrome >= 63",
|
|
"Firefox >= 57",
|
|
"Edge >= 15",
|
|
"Safari >= 11",
|
|
"ChromeAndroid >= 63",
|
|
"ios_saf >= 11"
|
|
]
|
|
}
|