open-index/open-npm huggingface dataset:
npm package: @ox-fun/rb-mango-v4
Description: Typescript Client for mango-v4 program.
Author: Blockworks Foundation
Latest version: 0.19.43

_work in progress_

## License

See the LICENSE file.

The majority of this repo is MIT licensed, but some parts needed for compiling
the solana program are under GPL.

All GPL code is gated behind the `enable-gpl` feature. If you use the `mango-v4`
crate as a dependency with the `client` or `cpi` features, you use only MIT
parts of it.

The intention is for you to be able to depend on the `mango-v4` crate for
building closed-source tools and integrations, including other solana programs
that call into the mango program.

But deriving a solana program with similar functionality to the mango program
from this codebase would require the changes and improvements to stay publicly
available under GPL.

## Development

See DEVELOPING.md and FAQ-DEV.md

### Dependencies

- rust version 1.69.0
- solana-cli 1.16.7
- anchor-cli 0.28.0
- npm 8.1.2
- node v16.13.1

### Deployments

- devnet: 4MangoMjqJ2firMokCjjGgoK8d4MXcrgL7XJaL3w6fVg
- mainnet-beta: 4MangoMjqJ2firMokCjjGgoK8d4MXcrgL7XJaL3w6fVg
- primary mango group on mainnet-beta: 78b8f4cGCwmZ9ysPFMWLaLTkkaYnUjwMJYStWe5RTSSX

### Release

For program deployment, see RELEASING.md.

Here are steps followed while performing a npm package release
note: the UI currently uses code directly from github, pointing to the ts-client branch

- use `yarn publish` to release a new package, ensure compatibility with program release to mainnet-beta
- fix the tag auto added by yarn to match our internal convention, see script `fix-npm-tag.sh`, tags should look like this e.g.`npm-v0.0.1`, note: the npm package version/tag should not necessarily match the latest program deployment
npm package: @ox2/css-font-roboto
Description: Roboto font base64 encoded and embedded in css
Latest version: 2.0.0

# @ox2/css-font-roboto
![NPM version](https://img.shields.io/badge/npm-private-orange.svg?style=flat)
<!-- ![NPM version](https://img.shields.io/npm/v/@ox2/css-font-roboto.svg?style=flat) -->

## Roboto Font v15

This package contains common *Roboto* font [styles](https://github.com/ox2/css-font-roboto#bundled-font-styles) that are converted to base64-encoded data URI strings and embedded into a single css file.

## Installation
Install using [npm](http://npmjs.com):
```sh
npm install @ox2/css-font-roboto --save
```
Install using [yarn](http://yarnpkg.com):
```sh
yarn add @ox2/css-font-roboto
```

## Why
This is useful for prototyping as you can start using the font quickly by importing single css file to your project/playground and it does not require internet connection to use it once the package has been installed. Depending on your setup and use case this could be used in a production app as well, for example you could merge it with your current style sheet and included in Cordova app bundle for a more consistent font loading experience.

## Usage
You can use it in a webpack project by importing it `import '@ox2/css-font-roboto'` in your top level js file like `index.js` or in a `.storybook/config.js` if your using [React Storybook](https://github.com/storybooks/react-storybook).

## Bundled font styles
- Light 300
- Normal 400
- Normal 400 Italic
- Medium 500
- Bold 700
- Bold 700 Italic

## Bundled font language subsets
- Latin

## Font update instructions
Note: There may only be a need to update it when there is a new **font** version released by Google Fonts.

Current font version: **v18**

1. Download remote css file from Google fonts, output: `downloads/index.css`:
```
npm run download
```

2. Convert font data into base64-encoded data URI strings, output: `src/index.css`:
```
npm run convert
```

3. Build and publish the package, output: `build/`
```
npm run build
cd build && npm publish
```
**TIP**: You can check if theres a new font version by running the `download` script and inspecting font urls `...gstatic.com/s/roboto/v15/Hgo13k...` in the output file or just opening the google font link in your browser and inspecting urls there.


## Build your own package
You can easily build your own package with other font family/styles variations by changing `FONT_URL` variable in `scripts/download.sh` to your custom one from https://fonts.google.com/ and then following the steps in **Update Instructions** section.

## Font License
Apache License, version 2.0

More info: https://www.google.com/fonts/specimen/Roboto

Repository: https://github.com/google/roboto

## Change Log
Changes are tracked in the [CHANGELOG.md](https://github.com/ox2/css-font-roboto/blob/master/CHANGELOG.md)

## Package License
[MIT](https://github.com/ox2/css-font-roboto/blob/master/LICENSE)
npm package: @ox2/css-font-roboto-condensed
Description: Roboto font base64 encoded and embedded in css
Latest version: 4.0.0

## Roboto Condensed Font v13

This package contains regular *Roboto Condensed* font [style](https://github.com/ox2/css-font-roboto-condensed#bundled-font-styles) that is converted to base64-encoded data URI strings and embedded into a css file.

### Installation
Install using [npm](http://npmjs.com):
```
npm install @ox2/css-font-roboto-condensed --save
```
Install using [yarn](http://yarnpkg.com):
```
yarn add @ox2/css-font-roboto-condensed
```
### Why
This is useful for prototyping as you can start using the font quickly by importing single css file to your project/playground and it does not require internet connection to use it once the package has been installed. Depending on your setup and use case this could be used in a production app as well, for example you could merge it with your current style sheet and included in Cordova app bundle for a more consistent font loading experience.

### Usage
You can use it in a webpack project by importing it `import '@ox2/css-font-roboto-condensed'` in your top level js file like `index.js` or in a `.storybook/config.js` if your using [React Storybook](https://github.com/storybooks/react-storybook).

### Bundled font styles
- Regular 400

### Bundled font language subsets
- Latin

### Font update instructions
Note: There may only be a need to update it when there is a new **font** version released by Google Fonts.

Current font version: **v16**

1. Download remote css file from Google fonts, output: `downloads/index.css`:
```
npm run download
```

2. Convert font data into base64-encoded data URI strings, output: `src/index.css`:
```
npm run convert
```

3. Build and publish the package, output: `build/`
```
npm run build
cd build && npm publish
```
**TIP**: You can check if theres a new font version by running the `download` script and inspecting font urls `...gstatic.com/s/robotocondensed/v13/Zd2E9a...` in the output file or just opening the google font link in your browser and inspecting urls there.


### Build your own package
You can easily build your own package with other font family/styles variations by changing `FONT_URL` variable in `scripts/download.sh` to your custom one from https://fonts.google.com/ and then following the steps in **Update Instructions** section.

### Font License
Apache License, version 2.0

More info: https://www.google.com/fonts/specimen/Roboto

Repository: https://github.com/google/roboto

### Package License
MIT
npm package: @ox2/router-helpers
Description: Router help functions
Latest version: 1.0.0

# @ox2/router-helpers
![NPM version](https://img.shields.io/badge/npm-private-orange.svg?style=flat)
<!-- ![NPM version](https://img.shields.io/npm/v/@ox2/router-helpers.svg?style=flat) -->


Brief, one-line summary of the package.

## Features

* **Feature A.** Description.
* **Feature B.** Description.
* **etc.** ...

## Installation
Install using [npm](http://npmjs.com):
```sh
npm install @ox2/router-helpers --save
```
Install using [yarn](http://yarnpkg.com):
```sh
yarn add @ox2/router-helpers
```

## Usage
```js


```

## Change Log
Changes are tracked in the [CHANGELOG.md](https://github.com/ox2/router-helpers/blob/master/CHANGELOG.md)

## License
[MIT](https://github.com/ox2/router-helpers/blob/master/LICENSE)
npm package: @ox2/validation
Description: Validation functions
Latest version: 1.1.0

# @ox2/validation
![NPM version](https://img.shields.io/badge/npm-private-orange.svg?style=flat)
<!-- ![NPM version](https://img.shields.io/npm/v/@ox2/validation.svg?style=flat) -->

Validation helpers.

## Installation
Install using [npm](http://npmjs.com):
```sh
npm install @ox2/validation --save
```
Install using [yarn](http://yarnpkg.com):
```sh
yarn add @ox2/validation
```

## Usage
```js
import { required } from '@ox2/validation'

```

## Change Log
Changes are tracked in the [CHANGELOG.md](https://github.com/ox2/validation/blob/master/CHANGELOG.md)

## License
[MIT](https://github.com/ox2/validation/blob/master/LICENSE)
npm package: @ox2/ycss
Description: Low-level CSS toolkit
Latest version: 1.6.0

# ycss
![NPM version](https://img.shields.io/npm/v/@ox2/ycss.svg?style=flat)

Low-level CSS toolkit.

## Features

* **Human Readable** Easy to understand without reading the docs.
* **No Side Effects** One class does one thing.
* **Composable** Classes compose well with each other.

## Usage
You can use it in a webpack project by importing it `import '@ox2/ycss'` in your top level js file like `index.js` or in a `.storybook/config.js` if your using [React Storybook](https://github.com/storybooks/react-storybook).

Then use it with your react components:
```js
<MyComponent className"padding:10">
 <MyOtherComponent className"text:bold text:center" />
</MyComponent>
```
Or any html based templating engine:
```html
<div class="padding:10">
 <div class="text:bold text:center"></div>
</div>
```



## Installation
Install using [npm](http://npmjs.com):
```
npm install @ox2/ycss --save
```
Install using [yarn](http://yarnpkg.com):
```
yarn add @ox2/ycss
```

## Change Log
Changes are tracked in the [CHANGELOG.md](https://github.com/ox2/ycss/tree/master/CHANGELOG.md)

## Disabling !important
By default, ycss will append !important to style definitions. This is intended to make integrating with a pre-existing codebase easier. If you'd like to avoid this behaviour, use `import '@ox2/ycss/no-important/index.css'` Otherwise, usage is the same.

## License
[MIT](https://github.com/ox2/ycss/tree/master/LICENSE)
npm package: @oxa/core
Description: Validation library for OXA documents
Latest version: 0.1.0

# @oxa/core

Validation library for OXA documents.

## Installation

```bash
npm install @oxa/core
```

For CLI usage, see [`oxa`](https://www.npmjs.com/package/oxa).

## Usage

```typescript
import { validate, validateFile, validateJson, validateYaml } from "@oxa/core";
import type { Document } from "@oxa/core";

// Validate a document object
const doc: Document = {
  type: "Document",
  metadata: {},
  title: [{ type: "Text", value: "Hello", classes: [], data: {} }],
  children: [],
};

const result = validate(doc);
if (result.valid) {
  console.log("Document is valid!");
} else {
  console.error("Validation errors:", result.errors);
}

// Validate a file (JSON or YAML based on extension)
const fileResult = validateFile("./document.json");

// Validate JSON string
const jsonResult = validateJson('{"type": "Document", ...}');

// Validate YAML string
const yamlResult = validateYaml("type: Document\n...");

// Validate against a specific type
const headingResult = validate(data, { type: "Heading" });
```

## API

### `validate(data, options?)`

Validate a parsed document object against the OXA schema.

### `validateJson(json, options?)`

Validate a JSON string against the OXA schema.

### `validateYaml(yaml, options?)`

Validate a YAML string against the OXA schema.

### `validateFile(filePath, options?)`

Validate a file (JSON or YAML based on extension).

### `getSchema()`

Get the bundled OXA JSON schema.

### `getTypeNames()`

Get available type names from the schema definitions.

## Related Packages

- [`oxa`](https://www.npmjs.com/package/oxa) - CLI for validating OXA documents
- [`oxa-types`](https://www.npmjs.com/package/oxa-types) - TypeScript type definitions
npm package: @oxa/react
Description: React components for rendering OXA documents
Latest version: 0.0.0

# @oxa/react

React components for rendering [OXA](https://oxa.dev) documents.

## Installation

```bash
npm install @oxa/react
```

## Usage

```tsx
import { OxaProvider, OXA, defaultRenderers } from "@oxa/react";

const document = {
  type: "Document",
  children: [
    {
      type: "Paragraph",
      children: [{ type: "Text", value: "Hello, world!" }],
    },
  ],
};

function App() {
  return (
    <OxaProvider renderers={defaultRenderers}>
      <OXA ast={document} />
    </OxaProvider>
  );
}
```

## Adding Styles

This package uses [Tailwind CSS](https://tailwindcss.com/) for default styling. To include the styles in your application, add `@oxa/react` as a source in your CSS:

```css
@import "tailwindcss";
@source "../node_modules/@oxa/react/dist";
```

The `@source` directive tells Tailwind v4 to scan the package's dist files for class names. See the [Tailwind CSS docs on content configuration](https://tailwindcss.com/docs/content-configuration) for more details.

## Custom Renderers

You can override any node renderer by passing a `renderers` prop to `<OxaProvider>`:

```tsx
import { OxaProvider, OXA } from "@oxa/react";
import type { OxaNode } from "@oxa/react";

function CustomHeading({ node }: { node: OxaNode & { level?: number } }) {
  return <h1 style={{ color: "blue" }}>{node.children?.map(/* ... */)}</h1>;
}

function App() {
  return (
    <OxaProvider renderers={{ Heading: CustomHeading }}>
      <OXA ast={document} />
    </OxaProvider>
  );
}
```

Custom renderers are merged with the defaults — you only need to provide the ones you want to override.

## Merging Renderers

Use `mergeRenderers` to combine multiple renderer sets:

```tsx
import { mergeRenderers, defaultRenderers } from "@oxa/react";

const myRenderers = mergeRenderers([defaultRenderers, customRenderers]);
```

Renderers later in the array take precedence.

> This package was inspired by the [`myst-to-react`](https://github.com/jupyter-book/mystmd/tree/main/packages/myst-to-react) package.
npm package: @oxc-coverage-instrument/binding-darwin-arm64
Description: Istanbul-compatible JavaScript/TypeScript coverage instrumentation using the Oxc AST. 58x faster than istanbul-lib-instrument.
Latest version: 0.3.0

# `@oxc-coverage-instrument/binding-darwin-arm64`

This is the **aarch64-apple-darwin** binary for `@oxc-coverage-instrument/binding`
npm package: @oxc-coverage-instrument/binding-darwin-x64
Description: Istanbul-compatible JavaScript/TypeScript coverage instrumentation using the Oxc AST. 58x faster than istanbul-lib-instrument.
Latest version: 0.3.0

# `@oxc-coverage-instrument/binding-darwin-x64`

This is the **x86_64-apple-darwin** binary for `@oxc-coverage-instrument/binding`
npm package: @oxc-coverage-instrument/binding-linux-arm64-gnu
Description: Istanbul-compatible JavaScript/TypeScript coverage instrumentation using the Oxc AST. 58x faster than istanbul-lib-instrument.
Latest version: 0.3.0

# `@oxc-coverage-instrument/binding-linux-arm64-gnu`

This is the **aarch64-unknown-linux-gnu** binary for `@oxc-coverage-instrument/binding`
npm package: @oxc-coverage-instrument/binding-linux-x64-gnu
Description: Istanbul-compatible JavaScript/TypeScript coverage instrumentation using the Oxc AST. 58x faster than istanbul-lib-instrument.
Latest version: 0.3.0

# `@oxc-coverage-instrument/binding-linux-x64-gnu`

This is the **x86_64-unknown-linux-gnu** binary for `@oxc-coverage-instrument/binding`
npm package: @oxc-coverage-instrument/binding-linux-x64-musl
Description: Istanbul-compatible JavaScript/TypeScript coverage instrumentation using the Oxc AST. 58x faster than istanbul-lib-instrument.
Latest version: 0.3.0

# `@oxc-coverage-instrument/binding-linux-x64-musl`

This is the **x86_64-unknown-linux-musl** binary for `@oxc-coverage-instrument/binding`
npm package: @oxc-coverage-instrument/binding-win32-arm64-msvc
Description: Istanbul-compatible JavaScript/TypeScript coverage instrumentation using the Oxc AST. 58x faster than istanbul-lib-instrument.
Latest version: 0.3.0

# `@oxc-coverage-instrument/binding-win32-arm64-msvc`

This is the **aarch64-pc-windows-msvc** binary for `@oxc-coverage-instrument/binding`
npm package: @oxc-coverage-instrument/binding-win32-x64-msvc
Description: Istanbul-compatible JavaScript/TypeScript coverage instrumentation using the Oxc AST. 58x faster than istanbul-lib-instrument.
Latest version: 0.3.0

# `@oxc-coverage-instrument/binding-win32-x64-msvc`

This is the **x86_64-pc-windows-msvc** binary for `@oxc-coverage-instrument/binding`
npm package: @oxc-minify/binding-linux-arm-gnueabihf
Description: Oxc Minifier Node API
Author: Boshen and oxc contributors
Latest version: 0.124.0

# `@oxc-minify/binding-linux-arm-gnueabihf`

This is the **armv7-unknown-linux-gnueabihf** binary for `@oxc-minify/binding`
npm package: @oxc-minify/binding-linux-arm-musleabihf
Description: Oxc Minifier Node API
Author: Boshen and oxc contributors
Latest version: 0.124.0

# `@oxc-minify/binding-linux-arm-musleabihf`

This is the **armv7-unknown-linux-musleabihf** binary for `@oxc-minify/binding`
npm package: @oxc-minify/binding-linux-riscv64-gnu
Description: Oxc Minifier Node API
Author: Boshen and oxc contributors
Latest version: 0.124.0

# `@oxc-minify/binding-linux-riscv64-gnu`

This is the **riscv64gc-unknown-linux-gnu** binary for `@oxc-minify/binding`
npm package: @oxc-minify/binding-linux-riscv64-musl
Description: Oxc Minifier Node API
Author: Boshen and oxc contributors
Latest version: 0.124.0

# `@oxc-minify/binding-linux-riscv64-musl`

This is the **riscv64gc-unknown-linux-musl** binary for `@oxc-minify/binding`
npm package: @oxc-minify/binding-win32-x64-msvc
Description: Oxc Minifier Node API
Author: Boshen and oxc contributors
Latest version: 0.124.0

# `@oxc-minify/binding-win32-x64-msvc`

This is the **x86_64-pc-windows-msvc** binary for `@oxc-minify/binding`
npm package: @oxc-node/cli
Description: OXC Node cli
Latest version: 0.1.0

# `@oxc-node/cli`

CLI tool for `oxc-node`.

## Features

- Run a script with oxc transformer and oxc-resolver
- Support run TypeScript without any configuration
- Support ESM and CJS
- Support source map

## Installation

Install globally, you can use it replace `node` command anywhere.

```bash
npm install @oxc-node/cli -g
```

## Usage

```bash
oxnode ./path/to/index.ts
```
npm package: @oxc-node/core-freebsd-x64
Description: This is the **x86_64-unknown-freebsd** binary for `@oxc-node/core`
Latest version: 0.1.0

# `@oxc-node/core-freebsd-x64`

This is the **x86_64-unknown-freebsd** binary for `@oxc-node/core`
npm package: @oxc-node/core-linux-arm-gnueabihf
Description: This is the **armv7-unknown-linux-gnueabihf** binary for `@oxc-node/core`
Latest version: 0.1.0

# `@oxc-node/core-linux-arm-gnueabihf`

This is the **armv7-unknown-linux-gnueabihf** binary for `@oxc-node/core`
npm package: @oxc-node/core-linux-arm64-musl
Description: This is the **aarch64-unknown-linux-musl** binary for `@oxc-node/core`
Latest version: 0.1.0

# `@oxc-node/core-linux-arm64-musl`

This is the **aarch64-unknown-linux-musl** binary for `@oxc-node/core`
npm package: @oxc-node/core-linux-arm64-ohos
Description: This is the **aarch64-unknown-linux-ohos** binary for `@oxc-node/core`
Latest version: 0.0.30

# `@oxc-node/core-linux-arm64-ohos`

This is the **aarch64-unknown-linux-ohos** binary for `@oxc-node/core`
npm package: @oxc-node/core-linux-ppc64-gnu
Description: This is the **powerpc64le-unknown-linux-gnu** binary for `@oxc-node/core`
Latest version: 0.1.0

# `@oxc-node/core-linux-ppc64-gnu`

This is the **powerpc64le-unknown-linux-gnu** binary for `@oxc-node/core`
npm package: @oxc-node/core-linux-s390x-gnu
Description: This is the **s390x-unknown-linux-gnu** binary for `@oxc-node/core`
Latest version: 0.1.0

# `@oxc-node/core-linux-s390x-gnu`

This is the **s390x-unknown-linux-gnu** binary for `@oxc-node/core`
npm package: @oxc-node/core-linux-x64-gnu
Description: This is the **x86_64-unknown-linux-gnu** binary for `@oxc-node/core`
Latest version: 0.1.0

# `@oxc-node/core-linux-x64-gnu`

This is the **x86_64-unknown-linux-gnu** binary for `@oxc-node/core`
npm package: @oxc-node/core-linux-x64-musl
Description: This is the **x86_64-unknown-linux-musl** binary for `@oxc-node/core`
Latest version: 0.1.0

# `@oxc-node/core-linux-x64-musl`

This is the **x86_64-unknown-linux-musl** binary for `@oxc-node/core`
npm package: @oxc-node/core-openharmony-arm64
Description: This is the **aarch64-unknown-linux-ohos** binary for `@oxc-node/core`
Latest version: 0.1.0

# `@oxc-node/core-openharmony-arm64`

This is the **aarch64-unknown-linux-ohos** binary for `@oxc-node/core`
npm package: @oxc-node/core-win32-arm64-msvc
Description: This is the **aarch64-pc-windows-msvc** binary for `@oxc-node/core`
Latest version: 0.1.0

# `@oxc-node/core-win32-arm64-msvc`

This is the **aarch64-pc-windows-msvc** binary for `@oxc-node/core`
npm package: @oxc-node/core-win32-ia32-msvc
Description: This is the **i686-pc-windows-msvc** binary for `@oxc-node/core`
Latest version: 0.1.0

# `@oxc-node/core-win32-ia32-msvc`

This is the **i686-pc-windows-msvc** binary for `@oxc-node/core`
npm package: @oxc-node/core-win32-x64-msvc
Description: This is the **x86_64-pc-windows-msvc** binary for `@oxc-node/core`
Latest version: 0.1.0

# `@oxc-node/core-win32-x64-msvc`

This is the **x86_64-pc-windows-msvc** binary for `@oxc-node/core`
npm package: @oxc-parser/wasm
Description: Wasm target for the oxc parser.
Author: Boshen and oxc contributors
Latest version: 0.60.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

## About

Experimental wasm package for the oxc parser, with full TypeScript typings support.

This package is built with different [wasm-pack's target](https://rustwasm.github.io/docs/wasm-bindgen/reference/deployment.html) builds:

- `wasm-pack build --target web` for bundler (webpack / vite) consumption.
- `wasm-pack build --target nodejs` for node.js

And exports the files as

```json
"main": "./node/oxc_parser_wasm.js",
"browser": "./web/oxc_parser_wasm.js",
"types": "./node/oxc_parser_wasm.d.ts",
```

Check out [oxc-parser](https://www.npmjs.com/package/oxc-parser) for an alternative in Node.js
which performs the same function, but using native code via NAPI bindings (slightly faster).

Source code: https://github.com/oxc-project/oxc/tree/main/wasm/parser

## Usage

### Node.js

```js
import { parseSync } from '@oxc-parser/wasm';

const code = 'let foo';
const result = parseSync(code, { sourceFilename: 'test.ts' });
console.log(result.program);
```

### Browser

```js
import { initSync, parseSync } from '@oxc-parser/wasm';

initSync();

const code = 'let foo';
const result = parseSync(code, { sourceFilename: 'test.ts' });
console.log(result.program);
```

## Notes

The AST returned conforms to the [ESTree](https://github.com/estree/estree) spec for JS syntax.

For TypeScript code, the AST is broadly aligned with
[typescript-eslint](https://typescript-eslint.io/packages/parser/)'s format, though there may be some
differences.

### Vite

`wasm-pack build --target web` is used for the wasm build.

You may need something like https://github.com/nshen/vite-plugin-wasm-pack to get it working with vite,
otherwise vite will load the wasm file as a HTML file causing a `CompileError: WebAssembly.instantiate(): expected magic word` error.
npm package: @oxc-plugin-react-compiler/binding-darwin-arm64
Description: Rust port of babel-plugin-react-compiler for OXC/Vite v8
Author: eve0415
Latest version: 0.2.0

# `@oxc-plugin-react-compiler/binding-darwin-arm64`

This is the **aarch64-apple-darwin** binary for `oxc-plugin-react-compiler`.

You should not install this package directly. Install [`oxc-plugin-react-compiler`](https://www.npmjs.com/package/oxc-plugin-react-compiler) instead — it will automatically select the correct binary for your platform.

https://github.com/eve0415/oxc-plugin-react-compiler
npm package: @oxc-plugin-react-compiler/binding-darwin-x64
Description: Rust port of babel-plugin-react-compiler for OXC/Vite v8
Author: eve0415
Latest version: 0.2.0

# `@oxc-plugin-react-compiler/binding-darwin-x64`

This is the **x86_64-apple-darwin** binary for `oxc-plugin-react-compiler`.

You should not install this package directly. Install [`oxc-plugin-react-compiler`](https://www.npmjs.com/package/oxc-plugin-react-compiler) instead — it will automatically select the correct binary for your platform.

https://github.com/eve0415/oxc-plugin-react-compiler
npm package: @oxc-plugin-react-compiler/binding-linux-arm64-gnu
Description: Rust port of babel-plugin-react-compiler for OXC/Vite v8
Author: eve0415
Latest version: 0.2.0

# `@oxc-plugin-react-compiler/binding-linux-arm64-gnu`

This is the **aarch64-unknown-linux-gnu** binary for `oxc-plugin-react-compiler`.

You should not install this package directly. Install [`oxc-plugin-react-compiler`](https://www.npmjs.com/package/oxc-plugin-react-compiler) instead — it will automatically select the correct binary for your platform.

https://github.com/eve0415/oxc-plugin-react-compiler
npm package: @oxc-plugin-react-compiler/binding-linux-x64-gnu
Description: Rust port of babel-plugin-react-compiler for OXC/Vite v8
Author: eve0415
Latest version: 0.2.0

# `@oxc-plugin-react-compiler/binding-linux-x64-gnu`

This is the **x86_64-unknown-linux-gnu** binary for `oxc-plugin-react-compiler`.

You should not install this package directly. Install [`oxc-plugin-react-compiler`](https://www.npmjs.com/package/oxc-plugin-react-compiler) instead — it will automatically select the correct binary for your platform.

https://github.com/eve0415/oxc-plugin-react-compiler
npm package: @oxc-plugin-react-compiler/binding-win32-x64-msvc
Description: Rust port of babel-plugin-react-compiler for OXC/Vite v8
Author: eve0415
Latest version: 0.2.0

# `@oxc-plugin-react-compiler/binding-win32-x64-msvc`

This is the **x86_64-pc-windows-msvc** binary for `oxc-plugin-react-compiler`.

You should not install this package directly. Install [`oxc-plugin-react-compiler`](https://www.npmjs.com/package/oxc-plugin-react-compiler) instead — it will automatically select the correct binary for your platform.

https://github.com/eve0415/oxc-plugin-react-compiler
npm package: @oxc-transform/binding-linux-arm-gnueabihf
Description: Oxc Transformer Node API
Author: Boshen and oxc contributors
Latest version: 0.124.0

# `@oxc-transform/binding-linux-arm-gnueabihf`

This is the **armv7-unknown-linux-gnueabihf** binary for `@oxc-transform/binding`
npm package: @oxc-transform/binding-linux-arm-musleabihf
Description: Oxc Transformer Node API
Author: Boshen and oxc contributors
Latest version: 0.124.0

# `@oxc-transform/binding-linux-arm-musleabihf`

This is the **armv7-unknown-linux-musleabihf** binary for `@oxc-transform/binding`
npm package: @oxctl/ui-lti
Description: Common UI components that are commonly used for LTI tools in the Canvas LMS
Author: University of Oxford, IT Services
Latest version: 10.6.0

# UI LTI

This project was created as a central repository for common UI components that help when building LTI tools that plugin to the [Canvas LMS](https://www.instructure.com/en-gb/canvas) and build upon the [Instructure UI](https://instructure.design/) component library.

**Note:** This library's major version matches the major version of Instructure UI that it depends on. For example, version `10.x.x` of this library requires Instructure UI `10.x` packages as peer dependencies.

[![Node.js CI](https://github.com/oxctl/ui-lti/actions/workflows/node.js.yml/badge.svg)](https://github.com/oxctl/ui-lti/actions/workflows/node.js.yml)

## Using this library

This library is published to npmjs: https://www.npmjs.com/package/@oxctl/ui-lti
If you want to add this library to your React tool you can add it with:

    npm install --save @oxctl/ui-lti


## Available Scripts

In the project directory, you can run:

### `npm run storybook`

Runs storybook to show a demo of the components in the library

### `npm run storybook-https`

If you want to run storybook over https this looks for a certificate in `localhost.pem` and a key in `localhost-key.pem`. These are the files used by [mkcert](https://github.com/FiloSottile/mkcert) by default when running `mkcert localhost`.

### `npm run test`

Runs library unit tests

### `npm run build`

Builds a new update of the library.

### `npm run start`



### `npm publish`

To publish the library to NPM so that it would be available for usage

### Local Testing

It's helpful to be able to test this library locally before releasing. To do this first bundle up the library:

```bash
npm run build && npm pack --pack-destination /tmp
```

This will put a copy of build into `/tmp` you can then "upgrade" a project to use this local copy by running:

```bash
npm install /tmp/oxctl-ui-lti-10.0.2.tgz
```

This command references the current version of the package so will need changing as the package version increments. If a
change is made in the future to the library and this needs to be re-rested all these commands need to be re-run to get
an updated version of the library available in the project that is testing it.

### Releasing

This library is published to npmjs and to make a new release do:

    npm version minor

And then if it completes ok push the tags and GitHub actions will build and publish the package to npmjs.

    git push
    git push --tags