Skip to content
This repository has been archived by the owner on Jul 24, 2022. It is now read-only.

Commit

Permalink
chore(packages): adds Lerna as tool for easier package management (#24)
Browse files Browse the repository at this point in the history
adds all requisite for Lerna setup, adds (empty for now) tests in all subpackages,
add various commands for publishing etc
  • Loading branch information
kaosat-dev authored Oct 10, 2017
1 parent ecbc6ec commit a89bd39
Show file tree
Hide file tree
Showing 44 changed files with 135 additions and 22 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
node_modules/
.DS_Store
package-lock.json
*.log
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package-lock=false
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
language: node_js
node_js:
- "4"
- "6"
- '8'
sudo: false
41 changes: 39 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Input Output format handling for the JSCAD projects

[![GitHub version](https://badge.fury.io/gh/jscad%2Fio.svg)](https://badge.fury.io/gh/jscad%2Fio)
[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lernajs.io/)

## Overview

Expand All @@ -11,8 +11,18 @@ This repository includes all the input/output format handling for the JSCAD proj
### Input Format Handling (deserializers)

ie: file data => jscad code (that can be evaluated to CSG/CAG)

> note : currently serializers & deserializers are NOT symetrical as deserializers
do not generate CSG/CAG objects
do not generate CSG/CAG objects: there is however work done to enable CSG/CAG output directly

deserializers with optional CSG/CAG output:

[ ] amf-deserializer
[ ] gcode-deserializer
[ ] json-deserializer
[ ] obj-deserializer
[ ] stl-deserializer
[x] svg-deserializer

Following formats are supported as inputs:
- [AMF](https://github.com/jscad/io/blob/master/packages/amf-deserializer)
Expand Down Expand Up @@ -40,6 +50,7 @@ Following formats are supported as outputs:
- [Installation](#installation)
- [Usage](#usage)
- [Contribute](#contribute)
- [Publishing](#Publishing)
- [License](#license)


Expand Down Expand Up @@ -74,6 +85,32 @@ This library is part of the JSCAD Organization, and is maintained by a group of

Small Note: If editing this README, please conform to the [standard-readme](https://github.com/RichardLitt/standard-readme) specification.

## Publishing

This is for owners/ managers of the repo only, obviously :)

It is done in semi-automated manner with Lerna & conventional-commits (semantic release)

In case of doubt, please ask @kaosat-dev for help

>you need to have npm & git authorization setup beforehand
- Do a dry run first !!

```shell
npm run publish-dryrun
```

then answer 'no' to avoid publishing to either git or npm

- when you are **SURE** everything is ok and you want to publish

npm run publish

>Note: DO NOT publish the packages individually and manually , unless you have very good
reasons to, and have discussed it with the rest of the team


## License

[The MIT License (MIT)](https://github.com/jscad/io/blob/master/LICENSE)
Expand Down
12 changes: 12 additions & 0 deletions lerna.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"lerna": "2.1.2",
"packages": [
"packages/*"
],
"version": "independent",
"command": {
"init": {
"exact": true
}
}
}
12 changes: 6 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"name": "@jscad/io",
"private":"true",
"private": "true",
"version": "0.1.0",
"description": "Input , output and formats handling for jscad project",
"repository": "https://github.com/jscad/io",
"scripts": {
"release-patch": "git checkout master && npm version patch && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-minor": "git checkout master && npm version minor && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-major": "git checkout master && npm version major && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags "
"test": "lerna bootstrap && lerna run test",
"publish" : "npm t && lerna publish --conventional-commits",
"publish-dryrun" : "npm t && lerna publish --conventional-commits --skip-git --skip-npm"
},
"contributors": [
{
Expand Down Expand Up @@ -38,8 +38,8 @@
"deserializer"
],
"license": "MIT",
"dependencies": {
},
"devDependencies": {
"ava": "^0.22.0",
"lerna": "2.1.2"
}
}
1 change: 1 addition & 0 deletions packages/amf-deserializer/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package-lock=false
2 changes: 1 addition & 1 deletion packages/amf-deserializer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"repository": "https://github.com/jscad/io",
"main": "index.js",
"scripts": {
"test": "ava './**/*.test.js' --verbose --timeout 10000",
"test": "ava './test.js' --verbose --timeout 10000",
"release-patch": "git checkout master && npm version patch && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-minor": "git checkout master && npm version minor && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-major": "git checkout master && npm version major && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags "
Expand Down
4 changes: 4 additions & 0 deletions packages/amf-deserializer/test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
const test = require('ava')
const deserializer = require('./index.js')

test.todo('add some actual tests later')
1 change: 1 addition & 0 deletions packages/amf-serializer/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package-lock=false
2 changes: 1 addition & 1 deletion packages/amf-serializer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"repository": "https://github.com/jscad/io",
"main": "index.js",
"scripts": {
"test": "ava './**/*.test.js' --verbose --timeout 10000",
"test": "ava './test.js' --verbose --timeout 10000",
"release-patch": "git checkout master && npm version patch && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-minor": "git checkout master && npm version minor && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-major": "git checkout master && npm version major && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags "
Expand Down
4 changes: 4 additions & 0 deletions packages/amf-serializer/test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
const test = require('ava')
const serializer = require('./index.js')

test.todo('add some actual tests later')
1 change: 1 addition & 0 deletions packages/dxf-serializer/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package-lock=false
2 changes: 1 addition & 1 deletion packages/dxf-serializer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"repository": "https://github.com/jscad/io",
"main": "index.js",
"scripts": {
"test": "ava './**/*.test.js' --verbose --timeout 10000",
"test": "ava './test.js' --verbose --timeout 10000",
"release-patch": "git checkout master && npm version patch && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-minor": "git checkout master && npm version minor && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-major": "git checkout master && npm version major && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags "
Expand Down
4 changes: 4 additions & 0 deletions packages/dxf-serializer/test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
const test = require('ava')
const serializer = require('./index.js')

test.todo('add some actual tests later')
1 change: 1 addition & 0 deletions packages/gcode-deserializer/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package-lock=false
2 changes: 1 addition & 1 deletion packages/gcode-deserializer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"repository": "https://github.com/jscad/io",
"main": "index.js",
"scripts": {
"test": "ava './**/*.test.js' --verbose --timeout 10000",
"test": "ava './test.js' --verbose --timeout 10000",
"release-patch": "git checkout master && npm version patch && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-minor": "git checkout master && npm version minor && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-major": "git checkout master && npm version major && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags "
Expand Down
4 changes: 4 additions & 0 deletions packages/gcode-deserializer/test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
const test = require('ava')
const deserializer = require('./index.js')

test.todo('add some actual tests later')
1 change: 1 addition & 0 deletions packages/io-utils/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package-lock=false
2 changes: 1 addition & 1 deletion packages/io-utils/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"repository": "https://github.com/jscad/io",
"main": "index.js",
"scripts": {
"test": "ava './**/*.test.js' --require babel-register --verbose --timeout 10000",
"test": "ava './test.js' --verbose --timeout 10000",
"release-patch": "git checkout master && npm version patch ; git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-minor": "git checkout master && npm version minor ; git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-major": "git checkout master && npm version major ; git commit -a -m 'chore(dist): built dist/'; git push origin master --tags "
Expand Down
4 changes: 4 additions & 0 deletions packages/io-utils/test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
const test = require('ava')
const deserializer = require('./index.js')

test.todo('add some actual tests later')
1 change: 1 addition & 0 deletions packages/io/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package-lock=false
1 change: 0 additions & 1 deletion packages/io/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
"repository": "https://github.com/jscad/io",
"main": "index.js",
"scripts": {
"test": "ava './**/*.test.js' --require babel-register --verbose --timeout 10000",
"release-patch": "git checkout master && npm version patch ; git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-minor": "git checkout master && npm version minor ; git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-major": "git checkout master && npm version major ; git commit -a -m 'chore(dist): built dist/'; git push origin master --tags "
Expand Down
1 change: 1 addition & 0 deletions packages/json-deserializer/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package-lock=false
3 changes: 2 additions & 1 deletion packages/json-deserializer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"repository": "https://github.com/jscad/io",
"main": "index.js",
"scripts": {
"test": "ava './**/*.test.js' --verbose --timeout 10000",
"test": "ava './test.js' --verbose --timeout 20000",
"release-patch": "git checkout master && npm version patch && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-minor": "git checkout master && npm version minor && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-major": "git checkout master && npm version major && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags "
Expand Down Expand Up @@ -33,6 +33,7 @@
],
"license": "MIT",
"dependencies": {
"@jscad/csg": "0.3.1"
},
"devDependencies": {
}
Expand Down
4 changes: 4 additions & 0 deletions packages/json-deserializer/test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
const test = require('ava')
const deserializer = require('./index.js')

test.todo('add some actual tests later')
1 change: 1 addition & 0 deletions packages/json-serializer/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package-lock=false
2 changes: 1 addition & 1 deletion packages/json-serializer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"repository": "https://github.com/jscad/io",
"main": "index.js",
"scripts": {
"test": "ava './**/*.test.js' --verbose --timeout 10000",
"test": "ava './test.js' --verbose --timeout 10000",
"release-patch": "git checkout master && npm version patch && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-minor": "git checkout master && npm version minor && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-major": "git checkout master && npm version major && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags "
Expand Down
4 changes: 4 additions & 0 deletions packages/json-serializer/test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
const test = require('ava')
const serializer = require('./index.js')

test.todo('add some actual tests later')
1 change: 1 addition & 0 deletions packages/obj-deserializer/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package-lock=false
2 changes: 1 addition & 1 deletion packages/obj-deserializer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"repository": "https://github.com/jscad/io",
"main": "index.js",
"scripts": {
"test": "ava './**/*.test.js' --verbose --timeout 10000",
"test": "ava './test.js' --verbose --timeout 10000",
"release-patch": "git checkout master && npm version patch && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-minor": "git checkout master && npm version minor && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-major": "git checkout master && npm version major && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags "
Expand Down
4 changes: 4 additions & 0 deletions packages/obj-deserializer/test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
const test = require('ava')
const deserializer = require('./index.js')

test.todo('add some actual tests later')
1 change: 1 addition & 0 deletions packages/stl-deserializer/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package-lock=false
3 changes: 2 additions & 1 deletion packages/stl-deserializer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"repository": "https://github.com/jscad/io",
"main": "index.js",
"scripts": {
"test": "ava './**/*.test.js' --verbose --timeout 10000",
"test": "ava './test.js' --verbose --timeout 10000",
"release-patch": "git checkout master && npm version patch && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-minor": "git checkout master && npm version minor && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-major": "git checkout master && npm version major && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags "
Expand Down Expand Up @@ -33,6 +33,7 @@
],
"license": "MIT",
"dependencies": {
"@jscad/csg": "0.3.1"
},
"devDependencies": {
}
Expand Down
4 changes: 4 additions & 0 deletions packages/stl-deserializer/test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
const test = require('ava')
const deserializer = require('./index.js')

test.todo('add some actual tests later')
1 change: 1 addition & 0 deletions packages/stl-serializer/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package-lock=false
2 changes: 1 addition & 1 deletion packages/stl-serializer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"repository": "https://github.com/jscad/io",
"main": "index.js",
"scripts": {
"test": "ava './**/*.test.js' --verbose --timeout 10000",
"test": "ava './test.js' --verbose --timeout 10000",
"release-patch": "git checkout master && npm version patch && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-minor": "git checkout master && npm version minor && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-major": "git checkout master && npm version major && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags "
Expand Down
4 changes: 4 additions & 0 deletions packages/stl-serializer/test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
const test = require('ava')
const serializer = require('./index.js')

test.todo('add some actual tests later')
1 change: 1 addition & 0 deletions packages/svg-serializer/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package-lock=false
2 changes: 1 addition & 1 deletion packages/svg-serializer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"repository": "https://github.com/jscad/io",
"main": "index.js",
"scripts": {
"test": "ava './**/*.test.js' --verbose --timeout 10000",
"test": "ava './test.js' --verbose --timeout 10000",
"release-patch": "git checkout master && npm version patch && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-minor": "git checkout master && npm version minor && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-major": "git checkout master && npm version major && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags "
Expand Down
4 changes: 4 additions & 0 deletions packages/svg-serializer/test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
const test = require('ava')
const serializer = require('./index.js')

test.todo('add some actual tests later')
1 change: 1 addition & 0 deletions packages/x3d-serializer/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package-lock=false
2 changes: 1 addition & 1 deletion packages/x3d-serializer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"repository": "https://github.com/jscad/io",
"main": "index.js",
"scripts": {
"test": "ava './**/*.test.js' --verbose --timeout 10000",
"test": "ava './test.js' --verbose --timeout 10000",
"release-patch": "git checkout master && npm version patch && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-minor": "git checkout master && npm version minor && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags ",
"release-major": "git checkout master && npm version major && git commit -a -m 'chore(dist): built dist/'; git push origin master --tags "
Expand Down
4 changes: 4 additions & 0 deletions packages/x3d-serializer/test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
const test = require('ava')
const serializer = require('./index.js')

test.todo('add some actual tests later')

0 comments on commit a89bd39

Please sign in to comment.