@ronin/compiler
Advanced tools
Comparing version 0.2.0 to 0.2.1-readme-experimental.0
{ | ||
"name": "@ronin/compiler", | ||
"version": "0.2.0", | ||
"version": "0.2.1-readme-experimental.0", | ||
"type": "module", | ||
@@ -29,3 +29,3 @@ "description": "Compiles RONIN queries to SQL statements.", | ||
"author": "ronin", | ||
"license": "MIT", | ||
"license": "Apache-2.0", | ||
"dependencies": { | ||
@@ -32,0 +32,0 @@ "@paralleldrive/cuid2": "2.2.2" |
# RONIN Compiler | ||
This package compiles RONIN queries to SQL statements. | ||
This package compiles [RONIN queries](https://ronin.co/docs/queries) to SQL statements. | ||
## Usage | ||
## Setup | ||
You don't need to install this package explicitly, as it is already included in the [RONIN client](https://github.com/ronin-co/client). | ||
## Contributing | ||
We would be excited to welcome your suggestions for the RONIN compiler! | ||
To start contributing code, first make sure you have [Bun](https://bun.sh) installed, which is a JavaScript runtime. | ||
Next, [clone the repo](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) and install its dependencies: | ||
```bash | ||
bun install | ||
``` | ||
Once that's done, link the package to make it available to all of your local projects: | ||
```bash | ||
bun link | ||
``` | ||
Inside your project, you can then run the following command, which is similar to `bun add @ronin/cli` or `npm install @ronin/cli`, except that it doesn't install `@ronin/cli` from npm, but instead uses your local clone of the package: | ||
```bash | ||
bun link @ronin/cli | ||
``` | ||
If your project is not yet compatible with [Bun](https://bun.sh), feel free to replace all of the occurances of the word `bun` in the commands above with `npm` instead. | ||
You will just need to make sure that, once you [create a pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request#creating-the-pull-request) on the current repo, it will not contain a `package-lock.json` file, which is usually generated by npm. Instead, we're using the `bun.lockb` file for this purpose (locking sub dependencies to a certain version). | ||
### Developing | ||
The programmatic API of the RONIN compiler looks like this: | ||
```typescript | ||
@@ -29,8 +63,22 @@ import { compileQueryInput } from '@ronin/compiler'; | ||
## Testing | ||
In order to be compatible with a wide range of projects, the source code of the `compiler` repo needs to be compiled (transpiled) whenever you make changes to it. To automate this, you can keep this command running in your terminal: | ||
Use the following command to run the test suite: | ||
```bash | ||
bun run dev | ||
``` | ||
``` | ||
Whenever you make a change to the source code, it will then automatically be transpiled again. | ||
### Running Tests | ||
The RONIN compiler has 100% test coverage, which means that every single line of code is tested automatically, to ensure that any change to the source code doesn't cause a regression. | ||
Before you create a pull request on the `compiler` repo, it is therefore advised to run those tests in order to ensure everything works as expected: | ||
```bash | ||
# Run all tests | ||
bun test | ||
# Alternatively, run a single test | ||
bun test -t 'your test name' | ||
``` |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Unpublished package
Supply chain riskPackage version was not found on the registry. It may exist on a different registry and need to be configured to pull from that registry.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Unpopular package
QualityThis package is not very popular.
Found 1 instance in 1 package
360679
5
0
84
1