From 05a6c7068fd50204c0206f46dae2dfcd965b6912 Mon Sep 17 00:00:00 2001 From: "scott@chnshad" Date: Tue, 30 Aug 2016 11:02:44 +0800 Subject: [PATCH] release to v3 --- DUWO.md | 80 ++++++++++++++++++++++++--------------------------- README.md | 81 ++++++++++++++++++++++++---------------------------- package.json | 2 +- 3 files changed, 76 insertions(+), 87 deletions(-) diff --git a/DUWO.md b/DUWO.md index 969499c..4481031 100644 --- a/DUWO.md +++ b/DUWO.md @@ -1,19 +1,48 @@ [![Build Status](https://drone.io/github.com/scotv/algo-js/status.png)](https://drone.io/github.com/scotv/algo-js/latest) # Algo.js -####### _版本: 2.718281828459_ -####### _使用带箭头的`JavaScript`实现的基础算法包_ +####### _版本: 3 _ +####### _使用`ECMAScript 6`实现的基础算法包_ ## 摘要 -这是一个用`JavaScript`写的基础算法包,包含基本数据结构、线性算法、树和图, +这是一个用`ECMAScript 6`写的基础算法包,包含基本数据结构、线性算法、树和图, 并试图将`V8`环境下耗时的递归算法重构为迭代算法([解释] [9])。 项目借助[Mocha] [1]、[Blanketjs] [2]和[drone.io] [7]平台,搭建了单元测试、代码覆盖率的持续集成。 -## 文档 +## 接口文档 完整的API文档可以访问[该页面] [6],而基于`LaTeX`编译的PDF文档,可参考[LaTeX发布页面] [10]。 +## 历史版本 + +使用如下命令查看历史的重大版本信息。 + +##### git tag -n + +时间 | 说明 | 参考源 +:-------|:---------|:-------: +2016↓ | - | - +八月,30 | 使用 `webpack`和`ES 6`重写代码 | +2015↓ | - | - +八月,03 | 发布简体中文接口文档 | [文档页面] [6] +八月,01 | 引入新的版本编号方式 | +八月,01 | 引入强联通图的大文件测试 | [测试文件] [11] +五月,21 | 将`nodejs 0.12`设为drone.io的默认环境 | +五月,16 | 逐步用`ES6`的箭头来表达函数 | +2014↓ | - | - +八月,27 | 基于`LaTeX`编译的第一份PDF文档发布 | [发布页面] [10] +六月,14 | 逐步用`gitbook`重写API文档 | [API文档页面] [6] +2013↓ | - | - +十二月,20 | 引入持续集成 [drone.io] [7]| [`e03180d`](https://github.com/scotv/algo-js/commit/e03180df15) +十二月,12 | 逐步将该项目从[Google Code] [4]迁移过来 | [`b39f7f7`](https://github.com/scotv/algo-js/commit/b39f7f78ab) +十月,18 | 自豪地实现了迭代版本的Tarjan强联通算法 | [`4542b93`](https://github.com/scotv/algo-js/commit/4542b937d827)和[解释][9] +九月,27 | 开始留意JSLint | +七月,12 | 引入代码覆盖率测试 | [`600ee7d`](https://github.com/scotv/algo-js/commit/600ee7d899d2) +五月,23 | 引入单元测试 | [`dad30d6`](https://github.com/scotv/algo-js/commit/dad30d64ad70) +五月,23 | 从SVN到GIT | [`3b0c92e`](https://github.com/scotv/algo-js/commit/3b0c92e3b173) + + ## ES6 我喜欢用`lambda`来表达函数——`Scala !`——所以,我默认开启了`nodejs`的`harmony`选项。 @@ -27,11 +56,10 @@ ### drone.io ```bash -nvm install 0.12 +nvm install v5.11.1 nodejs --version -npm -d install -npm install -g grunt-cli -npm install -g mocha +npm i +npm install -g grunt-cli mocha npm test ``` ### Travis CI @@ -39,7 +67,7 @@ npm test # .travis.yml language: node_js node_js: - - "0.12" + - "v5.11.1" script: 'npm i -g grunt-cli mocha && npm test' ``` @@ -52,39 +80,7 @@ script: 'npm i -g grunt-cli mocha && npm test' 耗时的瓶颈来自`V8`的文件读取,而非算法本身的时间复杂度。 ##### `npm test` -默认的`grunt`任务配置在如下两个文件:`Gruntfile.js`和`package.json`。 - -##### `grunt default` -运行所有的单元测试和代码覆盖。 - -##### `grunt testscc` -单独运行强联通算法的单元测试。 - -## 历史版本 - -使用如下命令查看历史的重大版本信息。 - -##### git tag -n - -时间 | 说明 | 参考源 -:-------|:---------|:-------: - 2015↓ | - | - - 八月,03 | 发布简体中文接口文档 | [文档页面] [6] - 八月,01 | 引入新的版本编号方式 | - 八月,01 | 引入强联通图的大文件测试 | [测试文件] [11] - 五月,21 | 将`nodejs 0.12`设为drone.io的默认环境 | - 五月,16 | 逐步用`ES6`的箭头来表达函数 | - 2014↓ | - | - - 八月,27 | 基于`LaTeX`编译的第一份PDF文档发布 | [发布页面] [10] - 六月,14 | 逐步用`gitbook`重写API文档 | [API文档页面] [6] - 2013↓ | - | - - 十二月,20 | 引入持续集成 [drone.io] [7]| [`e03180d`](https://github.com/scotv/algo-js/commit/e03180df15) - 十二月,12 | 逐步将该项目从[Google Code] [4]迁移过来 | [`b39f7f7`](https://github.com/scotv/algo-js/commit/b39f7f78ab) - 十月,18 | 自豪地实现了迭代版本的Tarjan强联通算法 | [`4542b93`](https://github.com/scotv/algo-js/commit/4542b937d827)和[解释][9] - 九月,27 | 开始留意JSLint | - 七月,12 | 引入代码覆盖率测试 | [`600ee7d`](https://github.com/scotv/algo-js/commit/600ee7d899d2) - 五月,23 | 引入单元测试 | [`dad30d6`](https://github.com/scotv/algo-js/commit/dad30d64ad70) - 五月,23 | 从SVN到GIT | [`3b0c92e`](https://github.com/scotv/algo-js/commit/3b0c92e3b173) +默认的`mocha`任务配置在:`package.json`。 ## 迁移 diff --git a/README.md b/README.md index 643ed5a..21b1889 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,42 @@ # Algo.js ####### [简体中文](https://github.com/scozv/algo-js/blob/master/DUWO.md) -####### _Version: 2.718281828459_ -####### _Implementation of some algorithms using JavaScript with Harmony_ +####### _Version: 3_ +####### _Implementation of some algorithms using ECMAScript 6_ ## Abstract -This is a project containing implementation of some fudamental algorithms in `JavaScript` with arrow functions enabled. +This is a project containing implementation of some fundamental algorithms in `ECMAScript 6` with arrow functions enabled. I use [Mocha] [1] for unit test, [Blanketjs] [2] for code coverage, and [drone.io] [7] for CI. -## Docs -Read new [__Docs__] [6] page for details including API of this. +## Documentation +Read new [__API Documentation__] [6] page for details. + +## Milestone +Use following command to list the history tags. +##### git tag -n + +When | What | Where +:-------|:---------|:-------: +2016↓ | - | - +Aug, 30 | switch to `webpack` and `ES 6` | +2015↓ | - | - +Aug, 03 | publish API page in `zh-cn` | [接口文档](http://scozv.github.io/algo-wiki/zh-cn/index.html) +Aug, 01 | introduce new tag version naming system | +Aug, 01 | introduce big test file for SCC algorithm | +May, 21 | drone.io with `nodejs 0.12` | +May, 16 | Start to replace `return` with Arrow functions in JavaScript | +2014↓ | - | - +Aug, 27 | An initial PDF document of API writed in LaTeX has been released | [Releases](https://github.com/scozv/algo-wiki/releases) +Jun, 14 | Start to migrate API docs to project wiki page | [API page] [6] +2013↓ | - | - +Dec,20 | Introduce Continuous Integration by [drone.io] [7]| [`e03180d`](https://github.com/scozv/algo-js/commit/e03180df15) +Dec,12 | Start to migrate Algo.js from [Google Code] [4] | [`b39f7f7`](https://github.com/scozv/algo-js/commit/b39f7f78ab) +Oct,18 | Proudly finish the implementation of iteration Tarjan algorithm on strongly connected components | [`4542b93`](https://github.com/scozv/algo-js/commit/4542b937d827) +Sept,27 | Start to pay attention on JSLint | +Jul,12 | Add code coverage | [`600ee7d`](https://github.com/scozv/algo-js/commit/600ee7d899d2) +May,23 | Start unit test | [`dad30d6`](https://github.com/scozv/algo-js/commit/dad30d64ad70) +May,23 | Switch SVN to Git | [`3b0c92e`](https://github.com/scozv/algo-js/commit/3b0c92e3b173) + ## Harmony I don't like returning value with `return`, so I enable `harmony` option of `nodejs` by default. @@ -23,11 +50,10 @@ Use following scripts to initialize your environments. ### drone.io ```bash -nvm install 0.12 +nvm install v5.11.1 nodejs --version -npm -d install -npm install -g grunt-cli -npm install -g mocha +npm i +npm install -g grunt-cli mocha npm test ``` ### Travis CI @@ -35,7 +61,7 @@ npm test # .travis.yml language: node_js node_js: - - "0.12" + - "v5.11.1" script: 'npm i -g grunt-cli mocha && npm test' ``` @@ -44,40 +70,7 @@ Use following commands to run tests or coverage. The result of converge will be located `converage.html` ##### `npm test` -The default `grunt` task has been configured in the `Gruntfile.js` and `package.json`. - -##### `grunt default` -Will test all unit tests - -##### `grunt testscc` -Only test SCC algorithm - -##### `grunt testcov` -Will test all unit tests, and run coverage. The coverage result will be generated as `./coverage.html`. - -## Milestone -Use following command to list the history tags. -##### git tag -n - -When | What | Where -:-------|:---------|:-------: - 2015↓ | - | - - Aug, 03 | publish API page in `zh-cn` | [接口文档](http://scozv.github.io/algo-wiki/zh-cn/index.html) - Aug, 01 | introduce new tag version naming system | - Aug, 01 | introduce big test file for SCC algorithm | - May, 21 | drone.io with `nodejs 0.12` | - May, 16 | Start to replace `return` with Arrow functions in JavaScript | - 2014↓ | - | - - Aug, 27 | An initial PDF document of API writed in LaTeX has been released | [Releases](https://github.com/scozv/algo-wiki/releases) - Jun, 14 | Start to migrate API docs to project wiki page | [API page] [6] - 2013↓ | - | - - Dec,20 | Introduce Continuous Integration by [drone.io] [7]| [`e03180d`](https://github.com/scozv/algo-js/commit/e03180df15) - Dec,12 | Start to migrate Algo.js from [Google Code] [4] | [`b39f7f7`](https://github.com/scozv/algo-js/commit/b39f7f78ab) - Oct,18 | Proudly finish the implementation of iteration Tarjan algorithm on strongly connected components | [`4542b93`](https://github.com/scozv/algo-js/commit/4542b937d827) - Sept,27 | Start to pay attention on JSLint | - Jul,12 | Add code coverage | [`600ee7d`](https://github.com/scozv/algo-js/commit/600ee7d899d2) - May,23 | Start unit test | [`dad30d6`](https://github.com/scozv/algo-js/commit/dad30d64ad70) - May,23 | Switch SVN to Git | [`3b0c92e`](https://github.com/scozv/algo-js/commit/3b0c92e3b173) +The default `mocha` task has been configured in `package.json`. ## Migration I have migrated this project from [Algo.js in Google Code] [4], with [__API__ page] [6] and [issue] [5]. diff --git a/package.json b/package.json index 5dc6dfb..641591d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "algo", "private": true, - "version": "1.0.0", + "version": "2.3.0", "description": "Implementation of some algorithms using JavaScript", "main": "bundle.js", "dependencies": {},