Basic file upload for digital.gov
  • Rust 91.2%
  • JavaScript 8.8%
Find a file
2024-12-02 17:05:36 -06:00
.cargo create binaries for each target 2024-09-24 08:20:37 -05:00
src fix: add public-read ACL to S3 uploads and improve filename handling 2024-12-02 13:49:34 -06:00
.gitignore initial commit 2024-09-20 16:40:42 -05:00
build-all-platforms.js fix git issue 2024-09-24 12:14:56 -05:00
Cargo.lock fix: add public-read ACL to S3 uploads and improve filename handling 2024-12-02 13:49:50 -06:00
cargo.log initial commit 2024-09-20 16:40:42 -05:00
Cargo.toml fix: add public-read ACL to S3 uploads and improve filename handling 2024-12-02 13:49:50 -06:00
Cross.toml added two mac targets and x86_64 for linux 2024-09-24 09:36:55 -05:00
index.js fix git issue 2024-09-24 12:14:56 -05:00
package-lock.json fix git issue 2024-09-24 12:14:56 -05:00
package.json build cross platform upgrade version 2024-12-02 17:05:36 -06:00
README.md initial commit 2024-09-20 16:40:42 -05:00

file-upload

file-upload: file upload for digital.gov

This project was bootstrapped by create-neon.

Building file-upload

Building file-upload requires a supported version of Node and Rust.

To run the build, run:

$ npm run build

This command uses the @neon-rs/cli utility to assemble the binary Node addon from the output of cargo.

Exploring file-upload

After building file-upload, you can explore its exports at the Node console:

$ npm i
$ npm run build
$ node
> require('.').hello()
'hello node'

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=beetle

npm run debug

Similar to npm run build but generates a debug build with cargo.

npm run cross

Similar to npm run build but uses cross-rs to cross-compile for another platform. Use the CARGO_BUILD_TARGET environment variable to select the build target.

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:

file-upload/
├── Cargo.toml
├── README.md
├── src/
|   └── lib.rs
├── index.node
├── package.json
└── target/
Entry Purpose
Cargo.toml The Cargo manifest file, which informs the cargo command.
README.md This file.
src/ The directory tree containing the Rust source code for the project.
lib.rs Entry point for the Rust source 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: