• Huan (李卓桓)'s avatar
    Replace WebDriver by Puppeteer (#790) (#860) · a8e4c1e4
    Huan (李卓桓) 提交于
    REFACTOR
    ----------------
    
    ### 1. Use Chrome Puppeteer to control WebWechat.
    
    All codes related with WebDriver/Selenium had been removed.
    
    1. This makes the logic simple: no server, no https endpoint, no WebSocket anymore;
    1. Removed lots of Classes, like `PuppetWebServer`, `PuppetWebBrowser`,  `PuppetWebBrowserDriver`, `ssl-pem` and `PUppetWebBrowserCookie` ;
    1. Removed all the `Xvfb` packages and settings;
    
    ### 2. Upgrade CircleCI from v1 to v2.
    
    Nothing changed except all the YAML syntax of the CircleCI configuration file.
    
    Workflows look very good, maybe set it up later.
    
    ### 3. Dockerfile switch from `alpine` to `node:7` image
    
    The size increased hugely. However, this will let us feel better if we want to add more and more packages into our Docker Image: Debian has better support to the packaging ecosystem.
    
    ### 4. Drop Node.js v6 support
    
    No special reasons, it's just tooold.
    
    ### 5. Use `blue-tape` to do unit testing, with Typing support.
    
    Do not use AVA anymore, do not wait for TAP anymore. They all support TypeScript not well.
    
    ### 6. Separate source code related with `watchdog` to a new NPM module.
    
    It's modulized very well and can be used as needed everywhere: https://github.com/zixia/watchdog
    
    ### 7. Created a new module `RxQueue` for `throttle` / `debounce` / `delay` tasks.
    
    Consider publishing a solo NPM module in the future.
    
    ### 8. Arrange all the WEB JSON data structure
    
    Save them into a single file: `schema.ts`
    
    ### 9. A new Class for manage Wechaty Profile
    
    Use it to `new Profile('botName')` and `save()`/`load()`/`get()`/`set` etc.
    a8e4c1e4
.travis.yml 1.4 KB