tanjentjs-ts-orm
v0.3.0
Published
An object relational model which uses typescript annotations to define the schema
Downloads
14
Readme
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 https://github.com/microsoft/typescript/issues/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.
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
- You should run
npm run lint
before creating the pr and fix any issues - Create the merge request
- Make sure travis ci passes
Releasing
- Create a tag in github using semantic versioning
- Travis CI should run the build and push it to npm