
Product
Introducing GitHub Actions Scanning Support
Detect malware, unsafe data flows, and license issues in GitHub Actions with Socket’s new workflow scanning support.
Generate trash JavaScript. This is useful for testing libraries and APIs.
The strings that are generated are random, but every string comes from a single Unicode script, so they at least look vaguely interesting.
npm install basura
Usage: basura [options]
Generate a random JavaScript object
Options:
-V, --version output the version number
-a, --arrayLength <number> Maximum array/object size (default: 10)
-b, --noBoxed Do not generate boxed types, like
String.
-c, --cborSafe Do not generate types that break CBOR.
-d, --depth <number> Maximum depth. (default: 5)
-e, --edgeFreq <number> Edge case frequency. (default: 0.1)
-i, --import <file> Import the given file, and use its
default export as an additional type
generator. Can be specified multiple
times. (default: [])
-j, --json Output JSON, not generating any types
that will not fit.
-o, --output <file> File to output.
-s, --stringLength <number> Maximum string length. (default: 20)
-t, --type <type> Generate this specific type.
-T, --listTypes List all supported types, then exit.
-h, --help display help for command
Examples:
$ basura -t object
$ basura -t Array -o array.js
Pass new types in the types option, or from the command line, use --import <moduleFile>. See an example.
Full API docs are available.
import {Basura} from 'basura'
// The default options. No need to pass anything in if you like these
const opts = {
arrayLength: 10, // maximum size of arrays and objects
cborSafe: false, // generate only CBOR-safe types?
depth: 5, // How deep to go
edgeFreq: 0.1, // How often to prefer edge cases?
jsonSafe: false, // generate only JSON-safe types?
noBoxed: false, // ignore boxed types, like String?
output: false, // add custom inspect functions that make output parseable JS?
scripts: [], // Array of script names to limit output to. Defaults to all
stringLength: 20, // Maximum string and Buffer length, in codepoints
types: {}, // Extra types to generate. Pass in `{Date: null}` to not generate Dates
}
const b = new Basura(opts)
console.log(b.generate_Date()) // Example output: 2011-02-16T11:28:41.539Z
console.log(b.generate()) // Some possibly-large chunk of JS
See some example output in the examples directory.
To recreate lib/data.js:
data/ucdnpm run dataTODO: the IDNA properties are based on Unicode 12.
FAQs
Generate random JavaScript
We found that basura demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Detect malware, unsafe data flows, and license issues in GitHub Actions with Socket’s new workflow scanning support.

Product
Add real-time Socket webhook events to your workflows to automatically receive pull request scan results and security alerts in real time.

Research
The Socket Threat Research Team uncovered malicious NuGet packages typosquatting the popular Nethereum project to steal wallet keys.