sourcecred/package.json
Kevin Siegler 7431a62208
implement ledger identity editor POC (#2015)
* implement ledger identity editor POC

The ledger identity editor enables users to collect grain by allowing
them to claim aliases from various plugins and unite them under a
single identity.

This editor allows for the creation and modification of identity
usernames, along with the assignment of aliases.

Note: aliases cannot yet be unassigned as there is no graceful way to
accomplish this in the backend yet.

test plan:
 - run the dev web server and browse to the ledger admin view.
 - Try to create an identity, then assign a couple aliases to it.
 - Click on the newly created identity name in the alias list to
 reset the view and create a new identity
 - Create a second identity and assign a couple more aliases to it.
 - Note that assigned aliases are no longer visible in the dropdown
 - click between users and ensure the name and alias lists repopulate
 with the correct information

* convert AliasSelector to a proper component

test-plan: ensure alias selector still adds aliases to identities and
updates on identity changes

* add a reset button

add a reset button so it's more obvious how to get back to the "create
identity" view

test plan: using the the dev web server, ensure the New identity button
only renders when the form is in "update" mode. Ensure the button resets
the form to "create identity" mode when clicked

* add identity activation checkbox

test-plan: ensure the checkbox state is accurate when switching between
identities and clearing the form to create a new user

* clean up form state and prompts

- make the submit button text more helpful
- utilize flow dom events for event handlers
- streamline identity form state changes

test plan: ensure button text makes contextual sense in the form when
creating a new identity and updating a username
2020-07-21 23:22:32 -05:00

164 lines
5.0 KiB
JSON

{
"name": "sourcecred",
"description": "a tool for communities to measure and reward value creation",
"homepage": "https://sourcecred.io",
"repository": "github:sourcecred/sourcecred",
"version": "0.7.0-beta-3",
"private": false,
"dependencies": {
"aphrodite": "^2.4.0",
"base-64": "^0.1.0",
"base64url": "^3.0.1",
"better-sqlite3": "^7.0.0",
"bottleneck": "^2.19.5",
"chalk": "^4.0.0",
"commonmark": "^0.29.1",
"d3-array": "^2.4.0",
"d3-format": "^1.4.3",
"d3-scale": "^3.2.1",
"d3-scale-chromatic": "^1.5.0",
"d3-shape": "^1.3.7",
"d3-time": "^1.1.0",
"d3-time-format": "^2.2.3",
"deep-freeze": "^0.0.1",
"downshift": "^5.4.7",
"express": "^4.17.1",
"fs-extra": "^9.0.0",
"get-random-values": "^1.2.0",
"globby": "^11.0.0",
"history": "^4.10.1",
"htmlparser2": "^4.1.0",
"isomorphic-fetch": "^2.2.1",
"json-stable-stringify": "^1.0.1",
"lodash.clonedeep": "^4.5.0",
"lodash.isequal": "^4.5.0",
"lodash.sortby": "^4.7.0",
"object-assign": "^4.1.1",
"pako": "^1.0.11",
"promise": "^8.1.0",
"ra-data-fakerest": "^3.6.2",
"react": "^16.13.0",
"react-admin": "^3.6.2",
"react-dom": "^16.13.0",
"react-icons": "^3.9.0",
"react-markdown": "^4.3.1",
"react-router": "^5.2.0",
"react-router-dom": "^5.2.0",
"recharts": "^1.8.5",
"remove-markdown": "^0.3.0",
"retry": "^0.12.0",
"rimraf": "^3.0.2",
"svg-react-loader": "^0.4.6",
"tmp": "0.0.33",
"whatwg-fetch": "^2.0.4"
},
"devDependencies": {
"@babel/core": "^7.8.7",
"@babel/node": "^7.8.7",
"@babel/plugin-proposal-class-properties": "^7.8.3",
"@babel/plugin-syntax-bigint": "^7.8.3",
"@babel/preset-env": "^7.8.7",
"@babel/preset-flow": "^7.8.3",
"@babel/preset-react": "^7.8.3",
"babel-eslint": "^10.1.0",
"babel-jest": "^26.0.1",
"babel-loader": "^8.0.6",
"copy-webpack-plugin": "^5.1.1",
"css-loader": "^3.4.2",
"dotenv": "^8.2.0",
"dotenv-expand": "^5.1.0",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.2",
"enzyme-to-json": "^3.4.4",
"eslint": "^6.8.0",
"eslint-plugin-flowtype": "^4.6.0",
"eslint-plugin-import": "^2.20.1",
"eslint-plugin-jsx-a11y": "^6.2.3",
"eslint-plugin-react": "7.16.0",
"file-loader": "^6.0.0",
"flow-bin": "^0.127.0",
"jest": "^26.0.1",
"jest-fetch-mock": "^3.0.2",
"npm-run-all": "^4.1.5",
"null-loader": "^4.0.0",
"postinstall-postinstall": "^2.1.0",
"prettier": "^2.0.1",
"raf": "^3.4.1",
"react-dev-utils": "^5.0.3",
"static-site-generator-webpack-plugin": "^3.4.2",
"url-loader": "^4.0.0",
"webpack": "^4.42.0",
"webpack-cli": "^3.3.11",
"webpack-dev-server": "^3.10.3",
"webpack-manifest-plugin": "^2.2.0",
"webpack-node-externals": "^1.7.2"
},
"greenkeeper": {
"ignore": [
"history",
"react-dev-utils",
"react-router",
"whatwg-fetch",
"tmp"
]
},
"scripts": {
"prettify": "prettier --write '**/*.js'",
"check-pretty": "prettier --list-different '**/*.js'",
"start": "NODE_ENV=development webpack-dev-server --config config/webpack.config.web.js",
"build": "run-p build:* && ln -sf ../build ./bin/site-template && chmod +x ./bin/sourcecred.js",
"build:frontend": "NODE_ENV=production webpack --config config/webpack.config.web.js",
"build:backend": "NODE_ENV=development webpack --config config/webpack.config.backend.js",
"api": "webpack --config config/webpack.config.api.js",
"test": "node ./config/test.js",
"createLedger": "babel-node ./scripts/createLedgerFromLegacyProject.js",
"unit": "BABEL_ENV=test NODE_ENV=test jest --env=jsdom",
"sharness": "make -sC ./sharness prove PROVE_OPTS=-f TEST_OPTS='--chain-lint'",
"sharness-full": "make -sC ./sharness prove PROVE_OPTS=-vf TEST_OPTS='-v --chain-lint --long'",
"coverage": "yarn run unit --coverage",
"flow": "flow",
"lint": "eslint src config --max-warnings 0"
},
"license": "(MIT OR Apache-2.0)",
"jest": {
"collectCoverageFrom": [
"src/**/*.{js,jsx,mjs}"
],
"setupFiles": [
"<rootDir>/config/polyfills.js",
"<rootDir>/config/jest/setupJest.js"
],
"testMatch": [
"<rootDir>/src/**/__tests__/**/*.{js,jsx,mjs}",
"<rootDir>/src/**/?(*.)(spec|test).{js,jsx,mjs}"
],
"testEnvironment": "node",
"testURL": "http://localhost",
"transform": {
"^.+\\.(js|jsx|mjs)$": "<rootDir>/node_modules/babel-jest",
"^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
"^(?!.*\\.(js|jsx|mjs|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
},
"transformIgnorePatterns": [
"[/\\\\]node_modules[/\\\\].+\\.(js|jsx|mjs)$"
],
"moduleNameMapper": {
"^react-native$": "react-native-web"
},
"moduleFileExtensions": [
"web.js",
"js",
"json",
"web.jsx",
"jsx",
"node",
"mjs"
]
},
"files": [
"/bin",
"/build"
],
"bin": "./bin/sourcecred.js"
}