# Open source software used by Microreact

* [array-join](https://www.npmjs.com/package/array-join)
* [await-to-js](https://www.npmjs.com/package/await-to-js)
* [axios](https://www.npmjs.com/package/axios)
* [babel/core](https://www.npmjs.com/package/@babel/core)
* [babel/eslint-parser](https://www.npmjs.com/package/@babel/eslint-parser)
* [babel/eslint-plugin](https://www.npmjs.com/package/@babel/eslint-plugin)
* [babel/plugin-proposal-do-expressions](https://www.npmjs.com/package/@babel/plugin-proposal-do-expressions)
* [babel/plugin-proposal-export-default-from](https://www.npmjs.com/package/@babel/plugin-proposal-export-default-from)
* [babel/plugin-transform-runtime](https://www.npmjs.com/package/@babel/plugin-transform-runtime)
* [babel/preset-env](https://www.npmjs.com/package/@babel/preset-env)
* [babel/preset-react](https://www.npmjs.com/package/@babel/preset-react)
* [babel/traverse](https://www.npmjs.com/package/@babel/traverse)
* [babel/types](https://www.npmjs.com/package/@babel/types)
* [boolean](https://www.npmjs.com/package/boolean)
* [canvas2svg](https://www.npmjs.com/package/canvas2svg)
* [classnames](https://www.npmjs.com/package/classnames)
* [clsx](https://www.npmjs.com/package/clsx)
* [colorbrewer](https://www.npmjs.com/package/colorbrewer)
* [comlink](https://www.npmjs.com/package/comlink)
* [d3-array](https://www.npmjs.com/package/d3-array)
* [d3-dsv](https://www.npmjs.com/package/d3-dsv)
* [d3-scale](https://www.npmjs.com/package/d3-scale)
* [date-fns](https://www.npmjs.com/package/date-fns)
* [dayjs](https://www.npmjs.com/package/dayjs)
* [deck.gl](https://www.npmjs.com/package/deck.gl)
* [downloadjs](https://www.npmjs.com/package/downloadjs)
* [ejs](https://www.npmjs.com/package/ejs)
* [email-templates](https://www.npmjs.com/package/email-templates)
* [emoji-regex](https://www.npmjs.com/package/emoji-regex)
* [escape-string-regexp](https://www.npmjs.com/package/escape-string-regexp)
* [feedback-screenshot-tool](https://www.npmjs.com/package/feedback-screenshot-tool)
* [filesize](https://www.npmjs.com/package/filesize)
* [flexlayout-react](https://www.npmjs.com/package/flexlayout-react)
* [fontsource/plus-jakarta-sans](https://www.npmjs.com/package/@fontsource/plus-jakarta-sans)
* [ftp-get](https://www.npmjs.com/package/ftp-get)
* [geojson-geometries-lookup](https://www.npmjs.com/package/geojson-geometries-lookup)
* [global](https://www.npmjs.com/package/global)
* [googleapis](https://www.npmjs.com/package/googleapis)
* [gravatar](https://www.npmjs.com/package/gravatar)
* [html2canvas](https://www.npmjs.com/package/html2canvas)
* [htmlsvg](https://www.npmjs.com/package/htmlsvg)
* [immutable](https://www.npmjs.com/package/immutable)
* [jsftp](https://www.npmjs.com/package/jsftp)
* [jsonschema](https://www.npmjs.com/package/jsonschema)
* [loaders.gl/core](https://www.npmjs.com/package/@loaders.gl/core)
* [loaders.gl/csv](https://www.npmjs.com/package/@loaders.gl/csv)
* [loaders.gl/json](https://www.npmjs.com/package/@loaders.gl/json)
* [local-storage](https://www.npmjs.com/package/local-storage)
* [lodash.debounce](https://www.npmjs.com/package/lodash.debounce)
* [lodash.groupby](https://www.npmjs.com/package/lodash.groupby)
* [lodash.sortby](https://www.npmjs.com/package/lodash.sortby)
* [lz-string](https://www.npmjs.com/package/lz-string)
* [material-ui/core](https://www.npmjs.com/package/@material-ui/core)
* [material-ui/icons](https://www.npmjs.com/package/@material-ui/icons)
* [material-ui/lab](https://www.npmjs.com/package/@material-ui/lab)
* [mdi/js](https://www.npmjs.com/package/@mdi/js)
* [merge-options](https://www.npmjs.com/package/merge-options)
* [migrate-mongo](https://www.npmjs.com/package/migrate-mongo)
* [mini-svg-data-uri](https://www.npmjs.com/package/mini-svg-data-uri)
* [mongoose](https://www.npmjs.com/package/mongoose)
* [next-auth](https://www.npmjs.com/package/next-auth)
* [next-auth/mongodb-adapter](https://www.npmjs.com/package/@next-auth/mongodb-adapter)
* [next](https://www.npmjs.com/package/next)
* [node-uuid](https://www.npmjs.com/package/node-uuid)
* [nodemailer](https://www.npmjs.com/package/nodemailer)
* [notistack](https://www.npmjs.com/package/notistack)
* [papaparse](https://www.npmjs.com/package/papaparse)
* [path-exists](https://www.npmjs.com/package/path-exists)
* [phylocanvas/phylocanvas.gl](https://www.npmjs.com/package/@phylocanvas/phylocanvas.gl)
* [postal](https://www.npmjs.com/package/postal)
* [query-string](https://www.npmjs.com/package/query-string)
* [randomcolor](https://www.npmjs.com/package/randomcolor)
* [re-reselect](https://www.npmjs.com/package/re-reselect)
* [react-addons-shallow-compare](https://www.npmjs.com/package/react-addons-shallow-compare)
* [react-base-table](https://www.npmjs.com/package/react-base-table)
* [react-beforeunload](https://www.npmjs.com/package/react-beforeunload)
* [react-color](https://www.npmjs.com/package/react-color)
* [react-copy-to-clipboard](https://www.npmjs.com/package/react-copy-to-clipboard)
* [react-debounce-input](https://www.npmjs.com/package/react-debounce-input)
* [react-dom](https://www.npmjs.com/package/react-dom)
* [react-file-drop](https://www.npmjs.com/package/react-file-drop)
* [react-hashchange](https://www.npmjs.com/package/react-hashchange)
* [react-hotkeys](https://www.npmjs.com/package/react-hotkeys)
* [react-map-gl](https://www.npmjs.com/package/react-map-gl)
* [react-markdown](https://www.npmjs.com/package/react-markdown)
* [react-redux](https://www.npmjs.com/package/react-redux)
* [react-rnd](https://www.npmjs.com/package/react-rnd)
* [react-sortable-hoc](https://www.npmjs.com/package/react-sortable-hoc)
* [react-split-pane](https://www.npmjs.com/package/react-split-pane)
* [react-vega](https://www.npmjs.com/package/react-vega)
* [react-virtualized](https://www.npmjs.com/package/react-virtualized)
* [react-window](https://www.npmjs.com/package/react-window)
* [react](https://www.npmjs.com/package/react)
* [redux-thunk](https://www.npmjs.com/package/redux-thunk)
* [redux-undo](https://www.npmjs.com/package/redux-undo)
* [redux](https://www.npmjs.com/package/redux)
* [request](https://www.npmjs.com/package/request)
* [reselect](https://www.npmjs.com/package/reselect)
* [short-uuid](https://www.npmjs.com/package/short-uuid)
* [slugify](https://www.npmjs.com/package/slugify)
* [swr](https://www.npmjs.com/package/swr)
* [tmp-promise](https://www.npmjs.com/package/tmp-promise)
* [turf/centroid](https://www.npmjs.com/package/@turf/centroid)
* [type-analyzer](https://www.npmjs.com/package/type-analyzer)
* [valid-url](https://www.npmjs.com/package/valid-url)
* [vega-lite](https://www.npmjs.com/package/vega-lite)
* [vega](https://www.npmjs.com/package/vega)
* [vis](https://www.npmjs.com/package/vis)
* [writers-digest](https://www.npmjs.com/package/writers-digest)
* [xlsx](https://www.npmjs.com/package/xlsx)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.microreact.org/about-microreact/open-source-software-used-by-microreact.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
