# ts-sm

> A simple way to manage npm typescript modules from one repo

Latest version **1.8.12** (published 2017-03-03) · MIT license · 0 weekly downloads

## Install

```sh
npm install ts-sm
pnpm add ts-sm
yarn add ts-sm
bun add ts-sm
```

Provides the command `ts-sm`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.8.12 |
| Published | 2017-03-03 |
| First published | 2017-02-09 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Jay Demtiri |
| Maintainers | london-development-studio |

## Links

- npm: https://www.npmjs.com/package/ts-sm
- Repository: https://github.com/London-Development-Studio/npm-module-manager
- Homepage: https://github.com/London-Development-Studio/npm-module-manager#readme
- Issues: https://github.com/London-Development-Studio/npm-module-manager/issues
- npm.io page: https://npm.io/package/ts-sm

## Dependencies (1)

- [npm-sm](https://npm.io/package/npm-sm.md) 1.8.12

## Recent versions

- 1.8.12 (latest) — 2017-03-03
- 1.8.7 — 2017-03-03
- 1.8.6 — 2017-03-03
- 1.8.1 — 2017-03-03
- 1.4.2 — 2017-03-02
- 1.4.0 — 2017-03-02
- 1.3.0 — 2017-02-25
- 1.2.1 — 2017-02-25
- 1.2.0 — 2017-02-25
- 1.0.1 — 2017-02-09
- 1.0.0 — 2017-02-09

## README

# TS-SM

A tool for managing npm modules written in typescript.

## Release Information

**Release** : 1.4.0

**Documentation Status** : First Draft *(Subject To Change)*

**Build Status** : Stable

*Insert Badges Here*

## Contents
  - [Installation](#installation)
  - [Basic Usage](#usage)
  - [Commands & Flags](#commands)
  - [Contributing](#contributing)
  - [Contributors](#contibutors)
  - [Bugs & Features](#bugs-and-requests)
  - [License](#copyright-and-license)

### Installation <a name="installation"></a>

```sh
// Either install globally (Prefered)
npm install -g ts-sm

// or install locally
npm install --save-dev ts-sm
```

### Basic Usage <a name="usage"></a>

##### 1. Create project
Your project should be structured like the following
```sh
ROOT/
    |--/ dist // output folder
    |--/ src // target module
       |-- package.json // module package.json
    |-- package.json // root package.json
```

##### 2. Add some dependencies to our module
a) For Safety: add `"private":true` to your root `package.json`
b) In our module package.json we should have the dependencies and peer dependencies of our module.
Example module package.json
  ```json
  {
    "name": "my-typscript-module",
    "dependencies": {},
    "peerDependencies": {}
  }
  ```

##### 3. Adding advanced configuration options
(Coming Soon)
Since every project is different there is a need for an option configuration to override some defaults
or add addition configuration to webpack module builder, for these reasons there will be an addition configuration
kept in either one of three locations.

Current options include:
- package.json | Already within scope and easily implemented
- addition json | An addition configuration file just for ts-sm

##### 4. Running TS-SM

If you have TS-SM globally installed then you can simply move to the root of your project(s) and run ts-sm as follows

```sh
ts-sm build -p src
```

alternatively use an npm script to use a local or global version on TS-SM

```json
{
  "scripts": {
    "build": "ts-sm build -p src"
  }
}
```
6. Now you can go to `dist` folder and do `npm publish` (will be added as a command later)

### Commands & Flags <a name="commands"></a>

 By default all task need the project root to be specified

    --project -p | (Required) | Project to target (Dir)

###### **build** - *Will Build Our Node Submodule From Src -> Dist*

    --watch   -w       | Watch our src folders
    --clean   -c       | Clean our target before new build
    --local   -l       | Use local dependency number (Mainly for publishing)

###### **link** - *Will run npm link in each sub module dist folder*

    --watch   -w       | Watch our src folders
    --deep    -c       | By default local sub modules will be linked to each other
    --here    -h       | Link all sub modules to root package or here

###### **publish** - *Will run npm publish in each sub module dist dir*

    --clean   -c       | Clean our target before new build
    --local   -l       | Use local dependency number (Mainly for publishing)
    --any-branch       | Disables on 'master' check
    --skip-git-check   | To skip all git checks
    --yarn             | To install dependencies with 'yarn'
    --skip-cleanup     | To not delete 'node_modules' before installing
    --skip-publish     | Skip publishing and clean build, in case you want to double check something
    --tag              | Same as 'npm publish --tag next', use in case you want new release without changing 'latest' npm tag
    --access           | Same as 'npm publish --access p*'

 > (1.Run Git PreChecks)->(2.Clean Install Deps)->(3.Run Tests)->(4.Run e2e Tests)->(5.Publish Clean Build)
 >
 >  Steps 1-4 can be skipped with --yolo flag

###### **version** - *Will run npm version in each sub module and then the root folder*

    --message -m         | Message to add to the version release
    --no-git-tag-version | Do not create a version commit and tag(Applied only to the root folder)
    --skip-push          | Skip pushing of the version commit and tags

### Contributing <a name="contributing"></a>

 Will Update Later

### Contributors <a name="contributors"></a>

 **Jay Demitri**

 - <https://github.com/JayDemitri>
 - <https://www.facebook.com/demitri.jay>

### Bugs and Feature Requests  <a name="bugs-and-requests"></a>

 Will Update later

### Copyright and license <a name="copyright-and-license"></a>

 Code and documentation (c) Copyright 2016 Jay Demitri and London Development Studio.

 Code released under the [MIT License](https://github.com/London-Development-Studio/npm-module-manager/blob/master/LICENSE).

 Docs released under Creative Commons.

---
_Source: https://npm.io/package/ts-sm · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
