diff --git a/build-resources/scripts/afterSignHook.js b/build-resources/scripts/afterSignHook.js index 4bbcec04a..6f1e6963d 100644 --- a/build-resources/scripts/afterSignHook.js +++ b/build-resources/scripts/afterSignHook.js @@ -2,7 +2,7 @@ const fs = require('fs'); const path = require('path'); -const electronNotarize = require('electron-notarize'); +const electronNotarize = require('@electron/notarize'); async function note(params) { // Only notarize the app on Mac OS only. @@ -20,16 +20,19 @@ async function note(params) { try { await electronNotarize.notarize({ + tool: 'notarytool', appBundleId: 'NetworkCanvasArchitect', appPath, - appleId: 'developers@coda.co', - appleIdPassword: '@keychain:AC_PASSWORD', + appleApiKey: '~/.private_keys/AuthKey_J58L47W6H9.p8', + appleApiKeyId: 'J58L47W6H9', // This is taken from the filename of the .p8 file in your icloud drive + appleApiIssuer: '69a6de92-60bf-47e3-e053-5b8c7c11a4d1', }); + + console.log('Done notarizing Architect'); } catch (error) { console.error(error); } - console.log('Done notarizing Architect'); } module.exports = note; diff --git a/network-canvas b/network-canvas index f3ebc9310..d82bca599 160000 --- a/network-canvas +++ b/network-canvas @@ -1 +1 @@ -Subproject commit f3ebc9310e024500adf5d22eccc2991e2771477c +Subproject commit d82bca599e6414b8e6ae8341d64d6221fc436abc diff --git a/package-lock.json b/package-lock.json index e1683df6a..a93ba634f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "@babel/plugin-proposal-class-properties": "^7.12.1", "@babel/preset-react": "^7.12.1", "@codaco/ui": "^5.8.0", + "@electron/notarize": "^1.2.3", "@material-ui/icons": "^4.11.2", "@tippyjs/react": "^4.2.5", "animejs": "^2.2.0", @@ -41,7 +42,6 @@ "electron-builder": "^22.7.0", "electron-devtools-installer": "^3.2.0", "electron-log": "^4.2.2", - "electron-notarize": "^1.0.0", "emoji-dictionary": "^1.0.9", "enzyme": "^3.11.0", "enzyme-adapter-react-16": "^1.15.4", @@ -1842,6 +1842,55 @@ "global-tunnel-ng": "^2.7.1" } }, + "node_modules/@electron/notarize": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-1.2.3.tgz", + "integrity": "sha512-9oRzT56rKh5bspk3KpAVF8lPKHYQrBnRwcgiOeR0hdilVEQmszDaAu0IPCPrwwzJN0ugNs0rRboTreHMt/6mBQ==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.1" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/notarize/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/notarize/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/notarize/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/@electron/universal": { "version": "1.0.4", "integrity": "sha512-ajZoumi4XwqwmZe8YVhu4XGkZBCPyWZsVCQONPTIe9TUlleSN+dic3YpXlaWcilx/HOzTdldTKtabNTeI0gDoA==", @@ -10652,6 +10701,7 @@ }, "node_modules/electron": { "version": "9.4.4", + "resolved": "https://registry.npmjs.org/electron/-/electron-9.4.4.tgz", "integrity": "sha512-dcPlTrMWQu5xuSm6sYV42KK/BRIqh3erM8v/WtZqaDmG7pkCeJpvw26Dgbqhdt78XmqqGiN96giEe6A3S9vpAQ==", "dev": true, "hasInstallScript": true, @@ -10872,51 +10922,6 @@ "integrity": "sha512-WNPZm56O6YAxdQ2ESTaYr6nEid+jqobNjHMuDCfY2l76uPwz5UBOO+8sGv0XeXG8IQvygcagcwjpVuK9/IggYg==", "dev": true }, - "node_modules/electron-notarize": { - "version": "1.0.0", - "integrity": "sha512-dsib1IAquMn0onCrNMJ6gtEIZn/azG8hZMCYOuZIMVMUeRMgBYHK1s5TK9P8xAcrAjh/2aN5WYHzgVSWX314og==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "fs-extra": "^9.0.1" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/electron-notarize/node_modules/fs-extra": { - "version": "9.1.0", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/electron-notarize/node_modules/jsonfile": { - "version": "6.1.0", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/electron-notarize/node_modules/universalify": { - "version": "2.0.0", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/electron-osx-sign": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.6.0.tgz", @@ -39612,6 +39617,46 @@ "sumchecker": "^3.0.1" } }, + "@electron/notarize": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-1.2.3.tgz", + "integrity": "sha512-9oRzT56rKh5bspk3KpAVF8lPKHYQrBnRwcgiOeR0hdilVEQmszDaAu0IPCPrwwzJN0ugNs0rRboTreHMt/6mBQ==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "fs-extra": "^9.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, "@electron/universal": { "version": "1.0.4", "integrity": "sha512-ajZoumi4XwqwmZe8YVhu4XGkZBCPyWZsVCQONPTIe9TUlleSN+dic3YpXlaWcilx/HOzTdldTKtabNTeI0gDoA==", @@ -46500,6 +46545,7 @@ }, "electron": { "version": "9.4.4", + "resolved": "https://registry.npmjs.org/electron/-/electron-9.4.4.tgz", "integrity": "sha512-dcPlTrMWQu5xuSm6sYV42KK/BRIqh3erM8v/WtZqaDmG7pkCeJpvw26Dgbqhdt78XmqqGiN96giEe6A3S9vpAQ==", "dev": true, "requires": { @@ -46674,42 +46720,6 @@ "integrity": "sha512-WNPZm56O6YAxdQ2ESTaYr6nEid+jqobNjHMuDCfY2l76uPwz5UBOO+8sGv0XeXG8IQvygcagcwjpVuK9/IggYg==", "dev": true }, - "electron-notarize": { - "version": "1.0.0", - "integrity": "sha512-dsib1IAquMn0onCrNMJ6gtEIZn/azG8hZMCYOuZIMVMUeRMgBYHK1s5TK9P8xAcrAjh/2aN5WYHzgVSWX314og==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "fs-extra": "^9.0.1" - }, - "dependencies": { - "fs-extra": { - "version": "9.1.0", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } - } - }, "electron-osx-sign": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.6.0.tgz", diff --git a/package.json b/package.json index 5dcb41e16..be1c53ed1 100644 --- a/package.json +++ b/package.json @@ -1,274 +1,274 @@ { - "name": "network-canvas-architect", - "version": "6.4.4", - "productName": "Network Canvas Architect", - "description": "A tool for building Network Canvas interviews.", - "author": "Complex Data Collective ", - "private": true, - "engines": { - "node": "14.21.3", - "npm": "8.3.2" + "name": "network-canvas-architect", + "version": "6.4.4", + "productName": "Network Canvas Architect", + "description": "A tool for building Network Canvas interviews.", + "author": "Complex Data Collective ", + "private": true, + "engines": { + "node": "14.21.3", + "npm": "8.3.2" + }, + "scripts": { + "postinstall": "cd network-canvas && npm install && cd ../", + "pack": "electron-builder --dir", + "update-submodules": "git submodule update --init --recursive", + "start": "cross-env BUILD_TARGET=web node scripts/start.js", + "start:electron": "npm run start:architect:electron", + "start:architect:electron": "node scripts/start.js", + "start:network-canvas:electron": "cd network-canvas && npm run start:electron", + "preelectron:dev": "node scripts/build-electron-dev.js", + "dev:electron": "cross-env NODE_ENV=development WEBPACK_NC_DEV_SERVER_PORT=3000 WEBPACK_DEV_SERVER_PORT=3003 electron electron-dev/", + "build": "npm run build:architect && npm run build:network-canvas", + "build:architect": "node scripts/build.js", + "build:network-canvas": "cd network-canvas && npm install && npm run build:electron && cd ../ && node scripts/move-network-canvas-build.js", + "lint": "npm run lint:js && npm run sass-lint", + "lint:js": "eslint src", + "sass-lint": "sass-lint -vc .sass-lint.yml", + "test": "cross-env TEST=true node scripts/test.js --env=jsdom", + "test:update-snapshots": "node scripts/test.js --env=jsdom --updateSnapshot", + "build-docs": "jsdoc src -r -d docs-build -c ./jsdoc.conf.json --verbose", + "electron": "env NODE_ENV=build electron ./app", + "generate-icons": "node scripts/generate-app-icons.js", + "dist": "electron-builder", + "dist:mac": "npm run build && electron-builder -m --x64", + "dist:linux": "npm run build && electron-builder -l", + "dist:win": "npm run build && electron-builder -w", + "dist:all": "npm run build && electron-builder -mlw", + "bump": "node scripts/bump.js", + "preflight": "npm run lint:js && npm run lint:sass -- --max-warnings 0 && npm test -- --coverage" + }, + "repository": { + "type": "git" + }, + "devDependencies": { + "@babel/cli": "^7.12.1", + "@babel/core": "^7.12.3", + "@babel/eslint-parser": "^7.13.10", + "@babel/eslint-plugin": "^7.13.10", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/preset-react": "^7.12.1", + "@codaco/ui": "^5.8.0", + "@electron/notarize": "^1.2.3", + "@material-ui/icons": "^4.11.2", + "@tippyjs/react": "^4.2.5", + "animejs": "^2.2.0", + "archiver": "^3.1.1", + "autoprefixer": "10.2.5", + "axios": "^0.27.2", + "babel-jest": "^26.6.3", + "babel-loader": "^8.2.2", + "babel-runtime": "6.26.0", + "case-sensitive-paths-webpack-plugin": "2.1.1", + "chalk": "1.1.3", + "change-case": "^3.0.1", + "classnames": "^2.2.6", + "compare-versions": "^3.6.0", + "cross-env": "^5.2.0", + "css-loader": "^1.0.0", + "csv-parse": "^4.10.1", + "csvtojson": "^2.0.10", + "decompress": "^4.2.1", + "dmg-builder": "~23.6.0", + "dotenv": "4.0.0", + "electron": "^9.4.4", + "electron-builder": "^22.7.0", + "electron-devtools-installer": "^3.2.0", + "electron-log": "^4.2.2", + "emoji-dictionary": "^1.0.9", + "enzyme": "^3.11.0", + "enzyme-adapter-react-16": "^1.15.4", + "enzyme-to-json": "^3.6.1", + "eslint": "^7.0.0", + "eslint-config-airbnb": "^18.2.1", + "eslint-config-react-app": "^6.0.0", + "eslint-import-resolver-alias": "^1.1.2", + "eslint-loader": "^4.0.2", + "eslint-plugin-import": "2.22.1", + "eslint-plugin-jsx-a11y": "6.4.1", + "eslint-plugin-react": "^7.11.1", + "faker": "^4.1.0", + "file-loader": "^1.1.11", + "framer-motion": "^5.5.6", + "fs-extra": "^8.1.0", + "fuse.js": "^3.6.1", + "history": "^4.7.2", + "html-webpack-plugin": "^4.3.0", + "icon-gen": "^1.0.5", + "jest": "^26.4.2", + "jest-date-mock": "^1.0.8", + "jszip": "^3.7.0", + "lodash": "^4.17.19", + "luxon": "^1.24.1", + "mini-css-extract-plugin": "^0.8.2", + "node-sass": "^4.14.1", + "object-hash": "^1.3.0", + "path-to-regexp": "^2.4.0", + "postcss": "^8.2.8", + "postcss-loader": "^4.2.0", + "postcss-url": "^8.0.0", + "prop-types": "^15.6.2", + "react": "^16.13.1", + "react-dev-utils": "^11.0.4", + "react-dom": "^16.13.1", + "react-draggable": "^2.2.3", + "react-error-overlay": "^5.0.4", + "react-flip-toolkit": "^6.5.4", + "react-grid-layout": "^0.16.6", + "react-redux": "^7.2.1", + "react-router-dom": "~5.2.0", + "react-router-hash-link": "^2.4.1", + "react-scripts": "^4.0.3", + "react-select": "^3.1.0", + "react-sortable-hoc": "^2.0.0", + "react-table": "^7.7.0", + "react-test-renderer": "^16.13.1", + "react-transform-hmr": "^1.0.4", + "react-transition-group": "^4.4.1", + "react-virtualized-auto-sizer": "^1.0.6", + "react-window": "^1.8.6", + "recompose": "^0.30.0", + "redux": "^4.0.5", + "redux-form": "^8.3.6", + "redux-logger": "^2.7.4", + "redux-mock-store": "^1.5.4", + "redux-persist": "^6.0.0", + "redux-thunk": "^2.3.0", + "reselect": "^3.0.0", + "rxjs": "^6.6.6", + "sass-lint": "^1.13.0", + "sass-loader": "^7.1.0", + "scrollparent": "^2.0.1", + "style-loader": "^0.21.0", + "svg2png": "^3.0.1", + "thread-loader": "^1.2.0", + "url-loader": "^1.1.1", + "uuid": "^3.4.0", + "webpack": "^4.43.0", + "webpack-dev-server": "^3.11.0", + "webpack-manifest-plugin": "^2.0.4" + }, + "homepage": ".", + "main": "www/electron-starter.js", + "browserslist": [ + "electron 9.4.4" + ], + "build": { + "extends": null, + "appId": "NetworkCanvasArchitect", + "afterSign": "./build-resources/scripts/afterSignHook.js", + "directories": { + "buildResources": "build-resources", + "output": "release-builds" }, - "scripts": { - "postinstall": "cd network-canvas && npm install && cd ../", - "pack": "electron-builder --dir", - "update-submodules": "git submodule update --init --recursive", - "start": "cross-env BUILD_TARGET=web node scripts/start.js", - "start:electron": "npm run start:architect:electron", - "start:architect:electron": "node scripts/start.js", - "start:network-canvas:electron": "cd network-canvas && npm run start:electron", - "preelectron:dev": "node scripts/build-electron-dev.js", - "dev:electron": "cross-env NODE_ENV=development WEBPACK_NC_DEV_SERVER_PORT=3000 WEBPACK_DEV_SERVER_PORT=3003 electron electron-dev/", - "build": "npm run build:architect && npm run build:network-canvas", - "build:architect": "node scripts/build.js", - "build:network-canvas": "cd network-canvas && npm install && npm run build:electron && cd ../ && node scripts/move-network-canvas-build.js", - "lint": "npm run lint:js && npm run sass-lint", - "lint:js": "eslint src", - "sass-lint": "sass-lint -vc .sass-lint.yml", - "test": "cross-env TEST=true node scripts/test.js --env=jsdom", - "test:update-snapshots": "node scripts/test.js --env=jsdom --updateSnapshot", - "build-docs": "jsdoc src -r -d docs-build -c ./jsdoc.conf.json --verbose", - "electron": "env NODE_ENV=build electron ./app", - "generate-icons": "node scripts/generate-app-icons.js", - "dist": "electron-builder", - "dist:mac": "npm run build && electron-builder -m", - "dist:linux": "npm run build && electron-builder -l", - "dist:win": "npm run build && electron-builder -w", - "dist:all": "npm run build && electron-builder -mlw", - "bump": "node scripts/bump.js", - "preflight": "npm run lint:js && npm run lint:sass -- --max-warnings 0 && npm test -- --coverage" + "mac": { + "category": "public.app-category.education", + "hardenedRuntime": true, + "entitlements": "./build-resources/entitlements.mac.inherit.plist" }, - "repository": { - "type": "git" + "win": { + "target": "nsis", + "certificateSha1": "8F1243989C0B23B29B50E872282AAB00A4302CCD" }, - "devDependencies": { - "@babel/cli": "^7.12.1", - "@babel/core": "^7.12.3", - "@babel/eslint-parser": "^7.13.10", - "@babel/eslint-plugin": "^7.13.10", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/preset-react": "^7.12.1", - "@codaco/ui": "^5.8.0", - "@material-ui/icons": "^4.11.2", - "@tippyjs/react": "^4.2.5", - "animejs": "^2.2.0", - "archiver": "^3.1.1", - "autoprefixer": "10.2.5", - "axios": "^0.27.2", - "babel-jest": "^26.6.3", - "babel-loader": "^8.2.2", - "babel-runtime": "6.26.0", - "case-sensitive-paths-webpack-plugin": "2.1.1", - "chalk": "1.1.3", - "change-case": "^3.0.1", - "classnames": "^2.2.6", - "compare-versions": "^3.6.0", - "cross-env": "^5.2.0", - "css-loader": "^1.0.0", - "csv-parse": "^4.10.1", - "csvtojson": "^2.0.10", - "decompress": "^4.2.1", - "dmg-builder": "~23.6.0", - "dotenv": "4.0.0", - "electron": "^9.4.4", - "electron-builder": "^22.7.0", - "electron-devtools-installer": "^3.2.0", - "electron-log": "^4.2.2", - "electron-notarize": "^1.0.0", - "emoji-dictionary": "^1.0.9", - "enzyme": "^3.11.0", - "enzyme-adapter-react-16": "^1.15.4", - "enzyme-to-json": "^3.6.1", - "eslint": "^7.0.0", - "eslint-config-airbnb": "^18.2.1", - "eslint-config-react-app": "^6.0.0", - "eslint-import-resolver-alias": "^1.1.2", - "eslint-loader": "^4.0.2", - "eslint-plugin-import": "2.22.1", - "eslint-plugin-jsx-a11y": "6.4.1", - "eslint-plugin-react": "^7.11.1", - "faker": "^4.1.0", - "file-loader": "^1.1.11", - "framer-motion": "^5.5.6", - "fs-extra": "^8.1.0", - "fuse.js": "^3.6.1", - "history": "^4.7.2", - "html-webpack-plugin": "^4.3.0", - "icon-gen": "^1.0.5", - "jest": "^26.4.2", - "jest-date-mock": "^1.0.8", - "jszip": "^3.7.0", - "lodash": "^4.17.19", - "luxon": "^1.24.1", - "mini-css-extract-plugin": "^0.8.2", - "node-sass": "^4.14.1", - "object-hash": "^1.3.0", - "path-to-regexp": "^2.4.0", - "postcss": "^8.2.8", - "postcss-loader": "^4.2.0", - "postcss-url": "^8.0.0", - "prop-types": "^15.6.2", - "react": "^16.13.1", - "react-dev-utils": "^11.0.4", - "react-dom": "^16.13.1", - "react-draggable": "^2.2.3", - "react-error-overlay": "^5.0.4", - "react-flip-toolkit": "^6.5.4", - "react-grid-layout": "^0.16.6", - "react-redux": "^7.2.1", - "react-router-dom": "~5.2.0", - "react-router-hash-link": "^2.4.1", - "react-scripts": "^4.0.3", - "react-select": "^3.1.0", - "react-sortable-hoc": "^2.0.0", - "react-table": "^7.7.0", - "react-test-renderer": "^16.13.1", - "react-transform-hmr": "^1.0.4", - "react-transition-group": "^4.4.1", - "react-virtualized-auto-sizer": "^1.0.6", - "react-window": "^1.8.6", - "recompose": "^0.30.0", - "redux": "^4.0.5", - "redux-form": "^8.3.6", - "redux-logger": "^2.7.4", - "redux-mock-store": "^1.5.4", - "redux-persist": "^6.0.0", - "redux-thunk": "^2.3.0", - "reselect": "^3.0.0", - "rxjs": "^6.6.6", - "sass-lint": "^1.13.0", - "sass-loader": "^7.1.0", - "scrollparent": "^2.0.1", - "style-loader": "^0.21.0", - "svg2png": "^3.0.1", - "thread-loader": "^1.2.0", - "url-loader": "^1.1.1", - "uuid": "^3.4.0", - "webpack": "^4.43.0", - "webpack-dev-server": "^3.11.0", - "webpack-manifest-plugin": "^2.0.4" - }, - "homepage": ".", - "main": "www/electron-starter.js", - "browserslist": [ - "electron 9.4.4" - ], - "build": { - "extends": null, - "appId": "NetworkCanvasArchitect", - "afterSign": "./build-resources/scripts/afterSignHook.js", - "directories": { - "buildResources": "build-resources", - "output": "release-builds" - }, - "mac": { - "category": "public.app-category.education", - "hardenedRuntime": true, - "entitlements": "./build-resources/entitlements.mac.inherit.plist" - }, - "win": { - "target": "nsis", - "certificateSha1": "8F1243989C0B23B29B50E872282AAB00A4302CCD" + "linux": { + "maintainer": "Joshua Melville ", + "target": [ + { + "target": "deb", + "arch": [ + "x64", + "arm64" + ] }, - "linux": { - "maintainer": "Joshua Melville ", - "target": [ - { - "target": "deb", - "arch": [ - "x64", - "arm64" - ] - }, - { - "target": "rpm", - "arch": [ - "x64", - "arm64" - ] - }, - { - "target": "AppImage", - "arch": [ - "x64", - "arm64" - ] - }, - { - "target": "tar.gz", - "arch": [ - "x64", - "arm64" - ] - } - ] + { + "target": "rpm", + "arch": [ + "x64", + "arm64" + ] }, - "fileAssociations": { - "ext": "netcanvas", - "description": "Network Canvas interview protocol", - "icon": "file", - "role": "Editor" + { + "target": "AppImage", + "arch": [ + "x64", + "arm64" + ] }, - "publish": [ - { - "provider": "github", - "owner": "complexdatacollective", - "repo": "architect" - } - ] - }, - "jest": { - "collectCoverageFrom": [ - "src/**/*.{js,jsx}", - "!src/protocol-validation/**", - "!network-canvas/**", - "!app/**", - "!electron-dev/**", - "!release-builds/**" - ], - "snapshotSerializers": [ - "enzyme-to-json/serializer" - ], - "setupFiles": [ - "jest-date-mock", - "/config/polyfills.js", - "/config/jest/polyfills.js", - "/config/jest/enzyme.js", - "/config/jest/automock.js" - ], - "testPathIgnorePatterns": [ - "[/\\\\](www|docs|node_modules|scripts)[/\\\\]", - "[/\\\\](network-canvas)[/\\\\]", - "[/\\\\](electron-dev)[/\\\\]", - "[/\\\\](app)[/\\\\]", - "[/\\\\](src/protocol-validation)[/\\\\]" - ], - "modulePathIgnorePatterns": [ - "[/\\\\](network-canvas)[/\\\\]", - "[/\\\\](electron-dev)[/\\\\]", - "[/\\\\](app)[/\\\\]", - "[/\\\\](src/protocol-validation)[/\\\\]", - "[/\\\\](release-builds)[/\\\\]" - ], - "testEnvironment": "node", - "testURL": "http://localhost", - "transform": { - "^.+\\.(js|jsx)$": "/node_modules/babel-jest", - "^.+\\.css$": "/config/jest/cssTransform.js", - "^(?!.*\\.(js|jsx|css|json)$)": "/config/jest/fileTransform.js" - }, - "transformIgnorePatterns": [ - "/node_modules/(?!@codaco/ui).+\\.(js|jsx)$" - ], - "testRegex": "(/__tests__/.*|(\\.|/))\\.test\\.[jt]sx?$", - "moduleNameMapper": { - "@app/(.*)$": "/src/$1", - "@components/(.*)$": "/src/components/$1", - "@selectors/(.*)$": "/src/selectors/$1", - "@hooks/(.*)$": "/src/hooks/$1", - "@modules/(.*)$": "/src/ducks/modules/$1", - "@utils/(.*)$": "/src/utils/$1", - "^react-native$": "react-native-web" + { + "target": "tar.gz", + "arch": [ + "x64", + "arm64" + ] } + ] + }, + "fileAssociations": { + "ext": "netcanvas", + "description": "Network Canvas interview protocol", + "icon": "file", + "role": "Editor" + }, + "publish": [ + { + "provider": "github", + "owner": "complexdatacollective", + "repo": "architect" + } + ] + }, + "jest": { + "collectCoverageFrom": [ + "src/**/*.{js,jsx}", + "!src/protocol-validation/**", + "!network-canvas/**", + "!app/**", + "!electron-dev/**", + "!release-builds/**" + ], + "snapshotSerializers": [ + "enzyme-to-json/serializer" + ], + "setupFiles": [ + "jest-date-mock", + "/config/polyfills.js", + "/config/jest/polyfills.js", + "/config/jest/enzyme.js", + "/config/jest/automock.js" + ], + "testPathIgnorePatterns": [ + "[/\\\\](www|docs|node_modules|scripts)[/\\\\]", + "[/\\\\](network-canvas)[/\\\\]", + "[/\\\\](electron-dev)[/\\\\]", + "[/\\\\](app)[/\\\\]", + "[/\\\\](src/protocol-validation)[/\\\\]" + ], + "modulePathIgnorePatterns": [ + "[/\\\\](network-canvas)[/\\\\]", + "[/\\\\](electron-dev)[/\\\\]", + "[/\\\\](app)[/\\\\]", + "[/\\\\](src/protocol-validation)[/\\\\]", + "[/\\\\](release-builds)[/\\\\]" + ], + "testEnvironment": "node", + "testURL": "http://localhost", + "transform": { + "^.+\\.(js|jsx)$": "/node_modules/babel-jest", + "^.+\\.css$": "/config/jest/cssTransform.js", + "^(?!.*\\.(js|jsx|css|json)$)": "/config/jest/fileTransform.js" + }, + "transformIgnorePatterns": [ + "/node_modules/(?!@codaco/ui).+\\.(js|jsx)$" + ], + "testRegex": "(/__tests__/.*|(\\.|/))\\.test\\.[jt]sx?$", + "moduleNameMapper": { + "@app/(.*)$": "/src/$1", + "@components/(.*)$": "/src/components/$1", + "@selectors/(.*)$": "/src/selectors/$1", + "@hooks/(.*)$": "/src/hooks/$1", + "@modules/(.*)$": "/src/ducks/modules/$1", + "@utils/(.*)$": "/src/utils/$1", + "^react-native$": "react-native-web" } + } }