qrcode-rs
v0.1.7
Published
A simple library that generates a qrcode in javascript
Maintainers
Readme
qrcode-rs
qrcode-rs: A simple library that generates a QR code in JavaScript using Rust
This project was bootstrapped by create-neon.
Building qrcode-rs
Building qrcode-rs requires a supported version of Node and Rust.
To run the build, run:
$ npm run buildThis command uses the @neon-rs/cli utility to assemble the binary Node addon from the output of cargo.
Using qrcode-rs
After installing qrcode-rs, you can use it in your JavaScript/TypeScript code:
import fs from 'fs'
import { generateQRCode } from 'qrcode-rs'
const data = 'https://github.com/KingTimer12/qrcode-rs'
console.log('Generating QR code for:', data)
const { qrcode } = generateQRCode(data)
console.log('QR code generated successfully')
fs.writeFileSync('qrcode.png', qrcode)
console.log('QR code generated and saved as qrcode.png')Available Scripts
In the project directory, you can run:
npm install
Installs the project, including running npm run build.
npm run build
Builds the Node addon (index.node) from source, generating a release build with cargo --release.
Additional cargo build arguments may be passed to npm run build and similar commands. For example, to enable a cargo feature:
npm run build -- --feature=beetlenpm run debug
Similar to npm run build but generates a debug build with cargo.
npm test
Runs the unit tests by calling cargo test. You can learn more about adding tests to your Rust code from the Rust book.
Project Layout
The directory structure of this project is:
qrcode-rs/
├── Cargo.toml
├── README.md
├── native/
| └── lib.rs
├── lib/
| └── index.ts
├── index.node
├── package.json
└── target/| Entry | Purpose |
|----------------|------------------------------------------------------------------------------------------------------------------------------------------|
| Cargo.toml | The Cargo manifest file, which informs the cargo command. |
| README.md | This file. |
| native/ | The directory containing the Rust source code for the project. |
| native/lib.rs| Entry point for the Rust source code. |
| lib/ | The directory containing the TypeScript source code. |
| lib/index.ts | Entry point for the TypeScript code. |
| index.node | The main module, a Node addon generated by the build and pointed to by "main" in package.json. |
| package.json | The npm manifest file, which informs the npm command. |
| target/ | Binary artifacts generated by the Rust build. |
Learn More
Learn more about:
