Skip to content

Latest commit

 

History

History
76 lines (61 loc) · 2.79 KB

README.md

File metadata and controls

76 lines (61 loc) · 2.79 KB

ON HOLD

This project is mostly on hold until the typescript extensability stuff is implemented. That will probably result in some API changes as there will be better ways to structure the api

See microsoft/TypeScript#6508

ON HOLD

Overview

An object relational model which uses typescript annotations to define the data schema. It can be used in node applications and includes bindings for angular js dependancy injection. It can also be used on the frontend with a little setup and will talk via an api.

Build Status Coverage Status NPM Downloads Slack Status

Installing

npm install --save tanjentjs-ts-orm typescript typings
typings install --save --global dt~es6-shim

Usage

Please checkout the wiki

Requests, Bugs, and Roadmap

Please submit all requests for features and bug requests via the github bug tracker, the roadmap will be tracked via github milestones

Testing

  • Tests will be placed along side the file in question in a file labeled .spec.ts
  • Tests will be written using Mocha with the describe statement containing the name of the file including the directory (ex. 'node/connect' for 'node/connect.ts')
  • If you need to create classes for testing (ex. testing an abstract class) place them in a .spec.class.ts
  • All public interfaces must be tested
  • In order to fix a bug you must write a test first, this is to avoid regressions
  • The test reporter should always show 100% coverage. If something doesn't make sense to test you can ignore it using special comments

Directory structure

  • shared - contains the files shared across all vendors
  • node - contains the files for use via nodejs
  • mocks - contains mock objects for use in testing

Development

Setup

git clone [email protected]:tanjentjs/ts-orm.git
npm install

Project files are included for jetbrains IDEs, just load the project and start developing. For other IDEs please load the tslint settings.

Contributing

  1. You should run npm run lint before creating the pr and fix any issues
  2. Create the merge request
  3. Make sure travis ci passes

Releasing

  1. Create a tag in github using semantic versioning
  2. Travis CI should run the build and push it to npm