Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/TypeStrong/ntypescript
Nicer TypeScript for API devs
https://github.com/TypeStrong/ntypescript
Last synced: 4 days ago
JSON representation
Nicer TypeScript for API devs
- Host: GitHub
- URL: https://github.com/TypeStrong/ntypescript
- Owner: TypeStrong
- License: other
- Created: 2015-06-21T02:05:40.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-06-19T00:42:45.000Z (over 7 years ago)
- Last Synced: 2024-10-08T11:28:04.577Z (26 days ago)
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/ntypescript
- Size: 33.8 MB
- Stars: 116
- Watchers: 16
- Forks: 20
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# NTypeScript is dead. [Bring your own TypeScript](https://github.com/basarat/byots) 🌹
The following is left as legacy docs.
# NTypeScript
[![Downloads](http://img.shields.io/npm/dm/ntypescript.svg)](https://npmjs.org/package/ntypescript)
[![BuildStatus](https://travis-ci.org/TypeStrong/ntypescript.svg)](https://travis-ci.org/TypeStrong/ntypescript)**Nicer** [**TypeScript**](https://github.com/Microsoft/TypeScript), **making it easier to work with the compiler API** 🌹
[![NPM](https://nodei.co/npm-dl/ntypescript.png)](https://nodei.co/npm/ntypescript/)
> Kudos to the TypeScript team for maintaining all the code that this project depends on. This project is just a minor automation on top.
Niceness list:
* Releases everyday.
* Consistent side by side usage (just add an `n` prefix): `require('ntypescript')`, `ntsc`
* `package.json` links you to typescript definitions (using `typescript.definition` entry)
* Super Nice: We expose the internal APIs (the ones that have `/* internal */`)
* Super Nice: We expose the global `ts` variable. Just `require('ntypescript')` once and start using `ts` like you are in the actual compiler source code.
* Super Nice: Converts `const enum` in the compiler definition to `enum`. This decreases the typescript compiler version dependence on your dev tools TS->JS emit.
* Easier to muck around with the compiler / language service when installed from NPM. Just open any file from `node_modules/ntypescript/src` folder in atom-typescript and press `f6` to get a new *local* rebuild.Design incompatibilities:
* This project does not ship with `tsserver`.## Install
Similar to `typescript` you can install and use `ntypescript` globally:``` sh
npm install ntypescript -g
```or in your package.json
```sh
npm install ntypescript@latest --save --save-exact
```Each release is named after the day it was built and the git commit hash in Microsoft/TypeScript/master that it was built from. We recommend adding `save-exact` as there are no guarantees on when stuff might break and you want your users to get the same version you tested.
## Usage
### Globally
You can use `ntsc` *exactly* like the `tsc` command line tool.### Require
Use `require('ntypescript')`### Global `ts`
In addition to returning what `typescript` returns we also expose `ts` as a global.```ts
declare var require: any;
require('ntypescript');
console.log(ts.createScanner);
```
Which makes it easy to use the compiler API if you are using it heavily. Note you only need to `require` *once* from any file.### Replace TypeScript
For `require('typescript')` you can do that quite simply using your package.json:```json
"dependencies": {
"typescript": "https://github.com/basarat/ntypescript/tarball/"
}
```
Release name example : `1.201506301047.1+e1c9d28cb0706f81c14ca95b92fa3e2a223cc60b`### Grunt
This project comes with a built in `grunt` task called `ntypescript`. Just has just one *task* level option:* `project` : path to the project directory i.e. the *directory* that contains `tsconfig.json`.
Here is a sample `Gruntfile.js` for usage:
```ts
module.exports = function(grunt) {
grunt.loadNpmTasks('ntypescript');grunt.initConfig({
ntypescript: {
options: {
project: '.'
}
},
});grunt.registerTask('default', ['ntypescript']);
};
```### NPM Scripts
Init and setup in `package.json`
```bash
npm init
npm install ntypescript@latest --save --save-exact
```
```json
"scripts": {
"build": "ntsc -p ./src"
},
```
And then you just need to do the following to build your project:
```bash
npm run build
```# About
Note that this is a personal endeavor, not officially by Microsoft.