Skip to content

Commit

Permalink
Added initial setup for HANA ORM
Browse files Browse the repository at this point in the history
1. Added CRUD operations
2. Added express middleware
  • Loading branch information
ragarwalll committed Sep 23, 2023
0 parents commit 75dac10
Show file tree
Hide file tree
Showing 27 changed files with 3,387 additions and 0 deletions.
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
dist
35 changes: 35 additions & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/** @type {import("eslint").Linter.Config} */
module.exports = {
root: true,
parser: '@typescript-eslint/parser',
plugins: ['import'],
extends: [
'plugin:@typescript-eslint/recommended',
'plugin:@typescript-eslint/recommended-requiring-type-checking',
'plugin:prettier/recommended',
],
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
tsconfigRootDir: __dirname,
project: ['./tsconfig.json'],
},
rules: {
'@typescript-eslint/restrict-template-expressions': 'off',
'@typescript-eslint/no-unused-vars': [
'error',
{ argsIgnorePattern: '^_', destructuredArrayIgnorePattern: '^_' },
],
'@typescript-eslint/consistent-type-imports': [
'error',
{ prefer: 'type-imports', fixStyle: 'inline-type-imports' },
],
'import/consistent-type-specifier-style': ['error', 'prefer-inline'],
'@typescript-eslint/no-unsafe-argument': 'off',
'@typescript-eslint/no-unsafe-assignment': 'off',
'@typescript-eslint/no-unsafe-call': 'off',
'@typescript-eslint/no-unsafe-member-access': 'off',
'@typescript-eslint/no-unsafe-return': 'off',
'@typescript-eslint/no-unnecessary-type-assertion': 'off',
},
};
35 changes: 35 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Build Project
on:
push:
branches: [main]

jobs:
build-on-push:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
with:
fetch-depth: 2

- uses: pnpm/action-setup@v2.0.1
with:
version: 6.32.2

- name: Setup Node.js environment
uses: actions/setup-node@v3
with:
node-version: 18
cache: "pnpm"

- name: Install dependencies
run: pnpm install

- name: Check linting
run: pnpm lint

- name: Check formatting
run: pnpm format

- name: Build
run: pnpm build
31 changes: 31 additions & 0 deletions .github/workflows/npm-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Publish to NPM
on:
release:
types: [created]

jobs:
pubish-to-npm:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
with:
fetch-depth: 2

- uses: pnpm/action-setup@v2.0.1
with:
version: 6.32.2

- name: Setup Node.js environment
uses: actions/setup-node@v3
with:
node-version: 18
cache: "pnpm"

- name: Install dependencies and build
run: pnpm i && pnpm build

- name: Publish package
run: pnpm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules
dist
4 changes: 4 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
git-checks=false
//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}
registry=https://registry.npmjs.org/
always-auth=true
20 changes: 20 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
pnpm-lock.yaml
dist
build
coverage
.wp_federation
.turbo
.rollup.cache
default-env.json
.env
xs-app.json
.vscode
readme.md

# Pipeline
.pnpm-store
.pipeline
errorDetails.json
stage-config.json
staging_output_deprecated.json
url-log.json
8 changes: 8 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"printWidth": 100,
"tabWidth": 2,
"semi": true,
"singleQuote": true,
"jsxSingleQuote": false,
"trailingComma": "es5"
}
15 changes: 15 additions & 0 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Lines starting with '#' are comments.
# Each line is a file pattern followed by one or more owners.

# More details are here: https://help.github.com/articles/about-codeowners/

# The '*' pattern is global owners.

# Order is important. The last matching pattern has the most precedence.
# The folders are ordered as follows:

# In each subsection folders are ordered first by depth, then alphabetically.
# This should make it easy to add new rules without breaking existing ones.

# Global rule:
* @ragarwal06
Empty file added README.md
Empty file.
83 changes: 83 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
{
"name": "@ragarwal06/hana-orm",
"version": "0.0.1",
"description": "HANA ORM library for node js applications",
"license": "ISC",
"repository": {
"type": "git",
"url": "https://github.com/ragarwal06/hana-orm.git"
},
"keywords": [
"hana",
"orm",
"cf",
"sap",
"nodejs",
"js",
"ts",
"db",
"typescript",
"javascript",
"database"
],
"type": "module",
"main": "./dist/cjs/index.js",
"module": "./dist/esm/index.js",
"exports": {
".": {
"require": "./dist/cjs/index.js",
"default": "./dist/esm/index.js"
}
},
"typings": "./dist/index.d.ts",
"types": "./dist/index.d.ts",
"private": false,
"packageManager": "^pnpm@8.6.5",
"files": [
"dist"
],
"engines": {
"node": ">=14.19"
},
"scripts": {
"typecheck": "tsc",
"build": "npm run clean && rollup --config ./rollup.config.js",
"clean": "rimraf dist",
"lint": "eslint . --report-unused-disable-directives",
"lint:fix": "npm run lint -- --fix",
"format": "prettier --check --config ./.prettierrc.json src/**/*.{ts} --no-error-on-unmatched-pattern",
"format:fix": "prettier --config ./.prettierrc.json src/**/*.{ts} --write . --no-error-on-unmatched-pattern",
"beta": "npm run build && npm publish --tag beta --access public",
"release": "npm run build && npm publish --access public"
},
"devDependencies": {
"@types/node": "^20.5.0",
"@types/eslint": "^8.44.2",
"@types/sap__xsenv": "^3.3.0",
"@types/express": "^4.0.0",
"@sap/hana-client": "^2.17.22",
"prettier": "^3.0.0",
"typescript": "5.1.6",
"rimraf": "^5.0.1",
"tslib": "^2.6.1",
"rollup": "^3.28.0",
"rollup-plugin-dts": "^5.3.1",
"rollup-plugin-copy": "^3.4.0",
"@rollup/plugin-typescript": "^11.1.2",
"@rollup/plugin-json": "^6.0.0",
"@rollup/plugin-alias": "^5.0.0",
"@typescript-eslint/eslint-plugin": "^5.56.0",
"@typescript-eslint/parser": "^5.56.0",
"eslint": "^8.22.0",
"eslint-config-prettier": "^8.8.0",
"eslint-plugin-prettier": "^5.0.0",
"eslint-plugin-import": "^2.28.1"
},
"peerDependencies": {
"@sap/hana-client": "^2.0.0",
"@sap/xsenv": "^4.0.0"
},
"publishConfig": {
"access": "public"
}
}
Loading

0 comments on commit 75dac10

Please sign in to comment.