New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

jql2sql

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jql2sql

Transpiling JQL to SQL

latest
Source
npmnpm
Version
0.0.14
Version published
Maintainers
1
Created
Source

JQL2SQL

This package is helper to implement very comprehensive, flexible searching, something like below.

jql text( item is 'good' or item is 'so so' ) and date < now()
Transpiled SQL(ITEM LIKE 'good' OR ITEM LIKE 'so so') AND DATE < NOW()

We transfile jql text to SQL to support various searching 'and', 'or', '()', %keyword% and so on.

Live demo

Please visit our live demo https://jql2sql.github.io/ to understand how jql2sql package works.

Development

This package is consist fo three parts. JQL Parser, SQL Transpiler and Extended Function.

JQL Parser

We implement our own JQL parser by using nearley. It parses jql text to AST(Abstracted Syntax Tree) for transpiler.

  • To build JQL Parser
npm run build:parser
  • To test JQL Parser
npm run test:parser

SQL Transpiler

From AST, we transpile the tree to SQL.

npm run test:transpiler

Extended Function

Will be supported, Not supported yet.

You can define our own function to extend your searching like below.

field = myfunction(arg1, arg2) and date < now()

Q & A

Why we can't use SQL directly for seraching

In security point of view, it's very dangerous due to SQL injection attack. So, we need our own grammar for searching, and it should be transpiled as SQL.

Why this package use JQL

As Jira is famouse issue tracker, therefore JQL(Jira Query Language) has been used by many people. So, Rather than re-inventing wheel, we borrow JQL grammar.

Keywords

jql

FAQs

Package last updated on 19 Feb 2023

Did you know?

Socket

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.

Install

Related posts