Code Monkey home page Code Monkey logo

sequelize-pg-utilities's Introduction

sequelize-pg-utilities

Sequelize, and the Sequelize CLI, use slightly different database configuration objects, and neither provide a mechanism for creating a Postgresql database. I work with Sequelize a lot in my day-job so decided to write a simple utility suite that manages the different configuration needs any project using Sequelize inevitably needs.

When your application starts yo need to construct correct database configuration values as a mix of a config file, selected environment variables, and sensible defaults.

sequelize-pg-utilities is an opinionated set of database utilities that, together, simplify creating and connecting to a Postgres database via Sequelize, or the Sequelize CLI, via a common, and minimal, set of config file settings. You can use environment variables to override the config file settings, as well as supply a range of detailed programmatic settings that get passed on to Sequelize directly. If no values are supplied and a value is needed by Sequelize then this defines sensible defaults. Any values not needed and which have no value are simply removed from the config object sent to Sequelize.

NPM

Related Projects

Prerequisites

This library assumes:

  1. You are using NodeJS 8.10+
  2. You are using Sequelize to manage interactions with Postgresql

Install

Add sequelize-pg-utilities and pg as dependencies:

npm i pg sequelize-pg-utilities

Note: pg is a peer-dependency of sequelize-pg-utilities.

Usage Scenarios

Configuration

Typically a Sequelize project will include a config/config.json file with entries as follows:

{
  "development": {
    "username": "my-dev-user",
    "password": "my-dev-password",
    "database": "my-project-development"
  },
  "test": {
    "username": "my-test-user",
    "password": "my-test-password",
    "database": "my-project-test"
  },
  "production": {
    "username": "my-production-user",
    "password": "my-production-password",
    "database": "my-project-prod"
  }
}

When your application starts you'll need to construct correct database configuration values as a mix of the above config file, selected environment variables, and sensible defaults.

To do this simply create a configuration object as follows:

const { configure } = require('sequelize-pg-utilities')
const config = require('path/to/config/config.json')

const { name, user, password, options } = configure(config)

These configuration values can then be passed in to Sequelize as follows:

const sequelize = new Sequelize(name, user, password, options)

Environment Variables Supported

The following environment variables take precedence over whatever is defined in config/config.json

  • DATABASE_URL The database url, if provided, will override many of the below DB settings.
  • DB_NAME The database name — You may also supply a default (see below)
  • DB_USER The database user — no default
  • DB_PASS The database password — no default
  • DB_POOL_MAX The maximum number of database connections — Defaults to 5
  • DB_POOL_MIN The minimum number of database connections — Defaults to 1
  • DB_POOL_IDLE The database idle time — Defaults to 10000 ms
  • DB_HOST The database host — Defaults to 'localhost'
  • DB_PORT The database port — Defaults to 5432
  • DB_TYPE The database type — Defaults to 'postgres' — This library is written with Postgres in mind so please don't change this unless you know what you are doing.

The following environment variables remain unset if they don't appear, or get set in config/config.json.

  • DB_POOL_ACQUIRE The database pool's acquire value.
  • DB_POOL_EVICT The database pool's evict value.

Regarding DATABASE_URL

If you supply the DATABASE_URL environment variable, as Heroku and other PaaS systems generally do, then the configure function will extract most of what it needs from that and the extracted values will take priority over other values.

Initialisation of a database

In development and test environments, you'll need your server to create a database the first time it runs. To do this you can make an initialiser using the makeInitialiser function.

const { makeInitialiser } = require('sequelize-pg-utilities')
const config = require('path/to/config/config.json')

const initialise = makeInitialiser(config)

const start = async () => {
  try {
    const result = await initialise()
    console.log(result.message)

    // now do whatever else is needed to start your server
  } catch (err) {
    console.error('Could not start server', err)
    process.exit(1)
  }
}

You can set the number of retries by passing it in as a parameter to initialise. The default is 5.

const result = await initialise(10)

On each retry it will wait for a progressively longer period of time, starting with 2 seconds, and increasing the delay by 2 seconds each retry.

The result object has two properties:

{
  dbNew: false, // or true if a new database was created?
  message: 'More information' // some clarifying text.
}

In production it assumes your database already exists.

Configuring migrations

The Sequelize CLI requires a .sequelizerc file at the root of the project that exports data such as config, migrations-path, and models-path.

The config required by the Sequelize CLI is an object in the form:

{
  [env]: {
    username,
    password,
    database,
    dialect,
    host,
    port,
    // optionally also the following
    pool: {
      acquire: 20000,
      evict: 15000,
      min: 5,
      max: 15,
      idle: 10000
    },
    protocol,
    ssl: {
      rejectUnauthorized: false,
      ca: 'some-root-cert',
      key: 'some-client-key',
      cert: 'some-client-certificate'
    }
  }
}

Use the migrationConfig function to generate configuration details to suit Sequelize CLI's needs from your common config file, or environment variables.

Create a migrationConfig.js file as follows:

const { migrationConfig } = require('sequelize-pg-utilities')
const config = require('path/to/config/config.json')

module.exports = migrationConfig(config)

Then in .sequelizerc file do this:

const path = require('path')

module.exports = {
  config: path.resolve(__dirname, 'path', 'to', 'migrationConfig.js'),
  'migrations-path': path.resolve(__dirname, 'migrations'),
  'models-path': path.resolve(__dirname, 'src', 'models')
}

Function Signature

The configure, makeInitialiser, and migrationConfig functions all have an identical signature.

They each accept the following parameters.

  • config: The content of the config/config.json file. Required, no default.

    Configuration file is in the form:

    {
      [env]: {
        // everything is optional but these are usually set here
        username,
        password,
        database,
        dialect,
        host,
        port,
        // less often used but optionally also the following
        benchmark,
        clientMinMessages,
        native,
        omitNull,
        pool: {
          acquire: 20000,
          evict: 15000,
          min: 5,
          max: 15,
          idle: 10000
        },
        protocol,
        // if you have ssl specifics
        ssl: {
          rejectUnauthorized: false,
          ca: 'some-root-cert',
          key: 'some-client-key',
          cert: 'some-client-certificate'
        },
        replication,
        timezone
      }
    }
  • defaultDbName: If the database name is not set in an environment variable, and if the config file does not define a database name, then use this as the database name. Optional, no default.

  • logger: You can pass in a logger function here for Sequelize to use. Optional, default is false, meaning don't log anything. This gets returned as logging in the configs.

  • options: optional additional configuration that is passed through to Sequelize.

    These match to the options listed at sequelize/sequelize/lib/sequelize.js#126, which at the time of this writing are:

    • dialectModule,
    • dialectModulePath,
    • define,
    • query,
    • schema,
    • set,
    • sync,
    • quoteIdentifiers,
    • transactionType,
    • typeValidation,
    • hooks,
    • pool.validate,
    • retry.match,
    • retry.max

    Other additional options are ignored.

SSL Options

If you supply ssl options in your config.json file then these will be injected into your configuration as dialectOptions and the ssl option will be set to true.

Note this is not used by makeInitialiser as it's assumed that you are only using ssl in production and you won't be trying to create your database from within your code when in production. A future release may address that however.

Development

Branches

Branch Status Coverage Audit Notes
develop CircleCI codecov Vulnerabilities Work in progress
main CircleCI codecov Vulnerabilities Latest stable release

Development Prerequisites

  • NodeJS. I use nvm to manage Node versions — brew install nvm.

Test it

  • npm test — runs the unit tests.
  • npm run test:unit:cov — runs the unit tests with coverage reporting.

Lint it

npm run lint

Contributing

Please see the contributing notes.

sequelize-pg-utilities's People

Contributors

davesag avatar dependabot[bot] avatar greenkeeper[bot] avatar greenkeeperio-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

sequelize-pg-utilities's Issues

An in-range update of @stryker-mutator/javascript-mutator is breaking the build 🚨

The devDependency @stryker-mutator/javascript-mutator was updated from 2.1.0 to 2.2.1.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

@stryker-mutator/javascript-mutator is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ci/circleci: Your tests failed on CircleCI (Details).

Commits

The new version differs by 80 commits.

  • 4422086 v2.2.1
  • 58f8da4 chore: make release script executable
  • 650f58e v2.2.0
  • 067df6d feat(progress-reporter): show timed out mutant count (#1818)
  • 87012b6 docs: add code of conduct (#1766)
  • fab1786 build(deps-dev): Bump eslint-config-prettier from 6.4.0 to 6.5.0 (#1807)
  • 127be2f build(deps-dev): Bump eslint from 6.5.1 to 6.6.0 (#1809)
  • 834c6de build(deps-dev): Bump @babel/preset-env from 7.6.3 to 7.7.1 (#1825)
  • 8b390f5 build(deps): Bump @babel/traverse from 7.6.3 to 7.7.0 (#1823)
  • b7591c7 build(deps): Bump @babel/parser from 7.6.4 to 7.7.0 (#1822)
  • 7491c97 docs(build): make the CI build badge clickable (#1828)
  • a3de7cf build(deps-dev): Bump typescript from 3.5.3 to 3.7.2 (#1826)
  • bd8e1a6 build(deps): Bump @babel/generator from 7.6.4 to 7.7.0 (#1820)
  • 694093a remove misleading docs (#1827)
  • deecffa build(deps-dev): Bump @babel/types from 7.6.3 to 7.7.1

There are 80 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of sinon is breaking the build 🚨

The devDependency sinon was updated from 7.4.1 to 7.4.2.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

sinon is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ci/circleci: Your tests failed on CircleCI (Details).

Commits

The new version differs by 18 commits.

  • 3dd59a5 Update docs/changelog.md and set new release id in docs/_config.yml
  • 5419db2 Add release documentation for v7.4.2
  • d163383 7.4.2
  • ad553d1 Update CHANGELOG.md and AUTHORS for new release
  • bbe6f5e Upgrade nise to latest
  • 78a676f Update @sinonjs/samsam to latest
  • 157b537 Restore sinon.createStubInstance() behaviour (#2073)
  • 766cae4 Merge pull request #2076 from sinonjs/github-workflow
  • 261c4cd renamed step
  • 8525f4d trying built-in coveralls support
  • cf0f402 added coveralls (via npx)
  • 88cf7a9 added code coverage
  • e716d8d Upgrade eslint to latest
  • 4e7bcef Bump eslint-utils from 1.3.1 to 1.4.2
  • 2b1b2df Fix Typo in migration 6 and updated migration docs for migration from… (#2074)

There are 18 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Migration Config format is incorrect

Currently we are emitting an object with format

{
  database,
  username,
  password,
  dialect,
  operatorsAliases,
  logging,
  options
  }

But according to https://github.com/sequelize/cli/blob/master/src/helpers/config-helper.js#L67

it ought to be

{
  database,
  username,
  password,
  dialect,
  host,
  port,
  operatorsAliases
}

The operatorAliases, logging and options are not needed for running migrations, and the host and port need to be top-level values, not injected into the options.

An in-range update of sinon-chai is breaking the build 🚨

The devDependency sinon-chai was updated from 3.3.0 to 3.4.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

sinon-chai is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ci/circleci: Your tests failed on CircleCI (Details).

Release Notes for 3.4.0

https://github.com/domenic/sinon-chai/blob/master/CHANGELOG.md#340

Commits

The new version differs by 4 commits.

  • 942504a Fix trailing comma in package.json
  • d990858 3.4.0
  • 60df918 chore(infra): upgrade all deps (#144)
  • fb4f82a Docs: install sinon-chai as a dev dependency (#135)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of @stryker-mutator/javascript-mutator is breaking the build 🚨

The devDependency @stryker-mutator/javascript-mutator was updated from 2.0.1 to 2.0.2.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

@stryker-mutator/javascript-mutator is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ci/circleci: Your tests failed on CircleCI (Details).

Commits

The new version differs by 10 commits.

  • 607bddf v2.0.2
  • 3fd5db9 fix(child process): cleanup after dispose (#1636)
  • 4324d9f fix(child process proxy): OutOfMemory detection (#1635)
  • 124ef6a fix(dispose): fix raise condition in dispose action
  • 4349867 build(deps-dev): update webpack requirement from ~4.34.0 to ~4.35.3 (#1627)
  • d85dad3 build(deps): update semver requirement from ~6.1.0 to ~6.2.0 (#1616)
  • 92b98dc build(deps): update log4js requirement from ~4.3.0 to ~4.4.0 (#1602)
  • fd64c92 build(deps): update inquirer requirement from ~6.3.1 to ~6.4.1 (#1599)
  • a8f8435 build(deps-dev): update tslint requirement from ~5.17.0 to ~5.18.0 (#1598)
  • f6612eb refactor(tslint): match basarat styleGuide (#1594) (#1615)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of eslint-plugin-import is breaking the build 🚨

The devDependency eslint-plugin-import was updated from 2.20.0 to 2.20.1.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint-plugin-import is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ci/circleci: Your tests failed on CircleCI (Details).

Commits

The new version differs by 23 commits.

  • 45f0860 Bump to v2.20.1
  • 5d00854 [Fix] order: Fix alphabetize for mixed requires and imports
  • bbd166b [Fix] export: Handle function overloading in *.d.ts
  • 4665ec5 [Fix] no-absolute-path: fix a crash with invalid import syntax
  • 392c6b9 [Fix] named: for importing from a module which re-exports named exports from a node_modules module
  • cc5bde5 [Tests] named: add failing test for #1446
  • aff3a46 [meta] fix "files" field to include/exclude the proper files
  • 986ba74 docs: fix a few spelling mistakes
  • 6274d96 [Tests] set eslint-plugin/consistent-output lint rule to always require test case output assertions
  • a4d301b [meta] add missing changelog links
  • 2d42464 [Tests] only run the linter once, not on every build
  • 26f232b [Tests] add eslint-plugin-eslint-plugin internally and fix violations
  • 99647f1 [Docs]: Update Tidelift language to enterprise
  • f84d457 no-duplicates: allow duplicate if one is namespace and other not
  • 7e71b50 [Fix] extensions: Fix scope regex

There are 23 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Support other Postgres relevant Sequelize options

Sequelize supports a wide range of options that this utility ignores. Go through them, work out which ones are supported by Postgres and allow them to be used.

programatic only options

Can only be set by passing in as an option to Sequelize via

const sequelize = new Sequelize('database', 'username', 'password', options);
  • dialectModule
  • dialectModulePath
  • define
  • query
  • schema
  • set
  • sync
  • pool.validate
  • quoteIdentifiers
  • transactionType
  • retry.match
  • retry.max
  • typeValidation
  • hooks

config options

Can be defined in config file.

  • protocol
  • timezone
  • clientMinMessages
  • benchmark
  • omitNull
  • native
  • replication
  • pool.acquire
  • pool.evict

environment variable options

Can be defined as an environment variable

  • DB_POOL_ACQUIRE ie pool.acquire
  • DB_POOL_EVICT ie pool.evict

omiting any of these options means they are omitted from the final config object.

An in-range update of lint-staged is breaking the build 🚨


☝️ Important announcement: Greenkeeper will be saying goodbye 👋 and passing the torch to Snyk on June 3rd, 2020! Find out how to migrate to Snyk and more at greenkeeper.io


The devDependency lint-staged was updated from 10.1.6 to 10.1.7.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

lint-staged is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ci/circleci: build: Your tests failed on CircleCI (Details).

Release Notes for v10.1.7

10.1.7 (2020-04-21)

Bug Fixes

  • use stash create/store to prevent files from disappearing from disk (c9adca5)
Commits

The new version differs by 1 commits.

  • c9adca5 fix: use stash create/store to prevent files from disappearing from disk

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of eslint-config-standard is breaking the build 🚨


☝️ Important announcement: Greenkeeper will be saying goodbye 👋 and passing the torch to Snyk on June 3rd, 2020! Find out how to migrate to Snyk and more at greenkeeper.io


The devDependency eslint-config-standard was updated from 14.1.0 to 14.1.1.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint-config-standard is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ci/circleci: build: Your tests failed on CircleCI (Details).

Commits

The new version differs by 7 commits.

  • 3f4a3fe 14.1.1
  • 2a14319 Merge pull request #164 from standard/remove-no-return-await
  • 243d38f Remove no-return-await rule
  • eb187de chore: .npmrc with package-lock=false (#155)
  • dcf95fe chore: .npmrc with package-lock=false
  • e5e81a8 Merge pull request #153 from standard/greenkeeper/eslint-plugin-node-10.0.0
  • 83ba3be chore(package): update eslint-plugin-node to version 10.0.0

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of @stryker-mutator/javascript-mutator is breaking the build 🚨

The devDependency @stryker-mutator/javascript-mutator was updated from 2.2.1 to 2.3.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

@stryker-mutator/javascript-mutator is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ci/circleci: Your tests failed on CircleCI (Details).

Commits

The new version differs by 25 commits.

  • a653514 v2.3.0
  • 73547c2 docs: remove Travis build and BCH badges from README's (#1850)
  • 4ac812c build(deps): Bump chalk from 2.4.2 to 3.0.0 (#1836)
  • e896c18 refactor(ordered imports): require ordered imports (#1843)
  • 4f81550 fix(perf/angular-cli): upgrade to latest angular version and fix bugs (#1842)
  • deb9a84 build(deps): Bump log4js from 5.3.0 to 6.0.0 (#1845)
  • cf4b56c build(deps-dev): Bump @types/chai from 4.2.4 to 4.2.5
  • 03fccb0 build(deps-dev): Bump prettier from 1.18.2 to 1.19.1 (#1835)
  • 4cd8dc8 build(deps-dev): Bump @typescript-eslint/eslint-plugin
  • 43bf62a build(deps-dev): Bump @typescript-eslint/parser from 2.6.1 to 2.7.0
  • c181d1f build(deps-dev): Update jasmine-core requirement from ~3.4.0 to ~3.5.0 (#1735)
  • 6fbc303 refactor(package.json): remove unnessesary typings references
  • 50a8f15 Remove 2 more useless typings
  • db2aad3 Merge branch 'master' into fix-VSCode-issues
  • 71c5b6d test(e2e): update all packages (#1832)

There are 25 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of eslint is breaking the build 🚨

The devDependency eslint was updated from 6.0.0 to 6.0.1.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ci/circleci: Your tests failed on CircleCI (Details).

Release Notes for v6.0.1
  • b5bde06 Fix: --rulesdir option didn't work (fixes #11888) (#11890) (Toru Nagashima)
  • 13f0418 Fix: improve error message on --print-config (fixes #11874) (#11885) (Toru Nagashima)
  • 056c2aa Fix: improve diagnostics for shareable-config-missing errors (#11880) (Teddy Katz)
  • 566b7aa Docs: Update no-confusing-arrow with the new default option (#11886) (Yuping Zuo)
  • d07f3fa Fix: CLIEngine#getRules() contains plugin rules (fixes #11871) (#11872) (Toru Nagashima)
  • 21f4a80 Docs: Fix inconsistent linking in migration guide (#11881) (Teddy Katz)
  • f3a0774 Docs: Fix typo in 6.0.0 migration guide (#11870) (Kevin Partington)
Commits

The new version differs by 9 commits.

  • 54ee60b 6.0.1
  • 3975d50 Build: changelog update for 6.0.1
  • b5bde06 Fix: --rulesdir option didn't work (fixes #11888) (#11890)
  • 13f0418 Fix: improve error message on --print-config (fixes #11874) (#11885)
  • 056c2aa Fix: improve diagnostics for shareable-config-missing errors (#11880)
  • 566b7aa Docs: Update no-confusing-arrow with the new default option (#11886)
  • d07f3fa Fix: CLIEngine#getRules() contains plugin rules (fixes #11871) (#11872)
  • 21f4a80 Docs: Fix inconsistent linking in migration guide (#11881)
  • f3a0774 Docs: Fix typo in 6.0.0 migration guide (#11870)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

An in-range update of @stryker-mutator/core is breaking the build 🚨

The devDependency @stryker-mutator/core was updated from 2.0.2 to 2.1.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

@stryker-mutator/core is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ci/circleci: Your tests failed on CircleCI (Details).

Commits

The new version differs by 39 commits.

  • d70cc4b v2.1.0
  • 8d86e1c build(deps): Update commander requirement from ~2.20.0 to ~3.0.1 (#1695)
  • a5125d2 build(deps-dev): Update tslint requirement from ~5.18.0 to ~5.19.0 (#1698)
  • b1ffcb2 build(deps-dev): Update @types/webpack requirement (#1699)
  • 35029a9 build(deps): Update inquirer requirement from ~6.5.0 to ~7.0.0 (#1700)
  • 301f288 feature(stryker): #336 Configurable tmp dir location (#1644)
  • 9d8167f build(deps): Update rimraf requirement from ^2.6.1 to ^3.0.0 (#1682)
  • 0945646 build(deps): Update log4js requirement from ~4.5.1 to ~5.1.0 (#1687)
  • 70424d1 build(deps): Update semver requirement from ~6.2.0 to ~6.3.0 (#1657)
  • f393e37 test(e2e): update polymer dependencies
  • 6b56e0a test(core): fix merge errors in tests
  • feddcf1 feat(mocha): support mocha 6.2
  • 0ecc0ec chore(issue): add maintenance template (#1670)
  • 2bb7dd8 refactor(#1606): order imports (#1661)
  • c418314 build(deps-dev): Update @types/sinon-chai from ^3.2.0 to 3.2.2 (#1685)

There are 39 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.