UNPKG

@instructure/quiz-interactions

Version:

A React UI component Library for quiz interaction types.

135 lines (84 loc) 3.05 kB
--- id: quiz-interactions --- ## Instructure Quiz Interactions [WIP] A React UI component library currently under development by Instructure Inc. ### Installation Instructure Quiz Interactions prefers to use [`pnpm`] for javascript dependency management. Before going further, make sure you have `pnpm` installed and available on your `$PATH`! ```sh pnpm add quiz-interactions ``` [`pnpm`]: https://pnpm.io/installation ### Development Copy the repo: ``` git clone ssh://<username>@gerrit.instructure.com:29418/quiz_interactions ``` Run ```sh pnpm ``` Additionally, we currently have peer dependencies with quiz_interactions and you may need to manually run `pnpm add`s on those. Current peer dependencies: `pnpm add react-dnd@^2.2.4` And then run ```sh pnpm run start:watch ``` to get an http server up and running, then go to `http://localhost:8080` to pull up the demo and development site. You will need to be running the following versions of node/pnpm/npm for the library to work correctly: ``` pnpm version == 9.x.x npm version == 3.10.x node version == 6.3.x ``` If things aren't going your way and you just aren't sure why, we have a handy tool to oulet your frustration. Run the following command: ``` ./bin/table-flip ``` and watch as your node_modules gets blown and a clean slate is established. If that fails, try something else? # Publishing See docs/06-releases.md ### Testing To run tests: ```sh pnpm test ``` or to have tests running while in active development: ```sh pnpm run test:watch ``` ### Linting Run `pnpm run lint` to lint the src dir. We are using [ESLint](http://eslint.org/). As a convenience, you can install a pre-push hook for git to prevent pushing eslint failing code to gerrit. ```sh cp hooks/pre-push.example .git/hooks/pre-push ``` You might need to globally install a few eslint packages, depending on your environment. Here's a start: ```sh npm install -g eslint babel-eslint eslint-plugin-{format-message,react,mocha,standard,promise} eslint-config-standard{,-react} ``` NOTE: Lint errors will fail the build, so be sure to lint. #### Debugging To debug tests, place a `debugger` inside your test. Run `pnpm run test:debug` to bring up Karma's test runner. Debug in the browser as you normally would using the browser's developer tools. ### Usage ```js import React from 'react' import Edit from 'instructure-qi/lib/components/essay/Edit' export default MyTabList = function () { return <Edit /> } ``` For the default theme you'll also need to include the ['Lato' font](http://www.google.com/fonts#UsePlace:use/Collection:Lato:300,400,400i,700,700i) in your application. ### Customization Coming soon. For now see the [ApplyTheme](http://instructure.github.io/instructure-ui/#ApplyTheme) component docs. ### Browser Support - Internet Explorer 11 and Edge - Chrome, Safari, Firefox (last two versions) ### Contribute See the [contributing guidelines](http://instructure.github.io/instructure-ui/#contributing) for details. ### License [MIT](LICENSE)