diff --git a/bin/release-it.js b/bin/release-it.js index fb6c7fef..c715f5b1 100755 --- a/bin/release-it.js +++ b/bin/release-it.js @@ -1,9 +1,9 @@ #!/usr/bin/env node -const updater = require('update-notifier'); -const parseArgs = require('yargs-parser'); -const pkg = require('../package.json'); -const release = require('../lib'); +import updater from 'update-notifier'; +import parseArgs from 'yargs-parser'; +import pkg from '../package.json'; +import release from '../lib/index.js'; const aliases = { c: 'config', diff --git a/lib/cli.js b/lib/cli.js index b86e9955..9be7a6cc 100644 --- a/lib/cli.js +++ b/lib/cli.js @@ -1,5 +1,5 @@ -const pkg = require('../package.json'); -const Log = require('./log'); +import pkg from '../package.json'; +import Log from './log'; const log = new Log(); @@ -22,6 +22,6 @@ const helpText = `Release It! v${pkg.version} For more details, please see https://github.com/release-it/release-it`; -module.exports.version = () => log.log(`v${pkg.version}`); +export let version = () => log.log(`v${pkg.version}`); -module.exports.help = () => log.log(helpText); +export let help = () => log.log(helpText); diff --git a/lib/config.js b/lib/config.js index b7c5e12a..83d7e666 100644 --- a/lib/config.js +++ b/lib/config.js @@ -1,12 +1,14 @@ -const { cosmiconfigSync } = require('cosmiconfig'); -const parseJson = require('parse-json'); -const parseToml = require('@iarna/toml/parse-string'); -const yaml = require('yaml'); -const _ = require('lodash'); -const isCI = require('is-ci'); -const debug = require('debug')('release-it:config'); -const defaultConfig = require('../config/release-it.json'); -const { getSystemInfo } = require('./util'); +import { cosmiconfigSync } from 'cosmiconfig'; +import parseJson from 'parse-json'; +import parseToml from '@iarna/toml/parse-string'; +import yaml from 'yaml'; +import _ from 'lodash'; +import isCI from 'is-ci'; +import _debug from 'debug'; +import defaultConfig from '../config/release-it.json'; +import { getSystemInfo } from './util'; + +const debug = _debug('release-it:config'); const searchPlaces = [ 'package.json', @@ -128,4 +130,4 @@ class Config { } } -module.exports = Config; +export default Config; diff --git a/lib/deprecated.js b/lib/deprecated.js index a8511be1..ed8ba8ed 100644 --- a/lib/deprecated.js +++ b/lib/deprecated.js @@ -1,8 +1,8 @@ -const Deprecated = require('deprecated-obj'); -const deprecated = require('../config/deprecated.json'); -const Log = require('./log'); +import Deprecated from 'deprecated-obj'; +import deprecated from '../config/deprecated.json'; +import Log from './log'; -module.exports = (config, log = new Log()) => { +export default (config, log = new Log()) => { const deprecations = new Deprecated(deprecated, config); const compliant = deprecations.getCompliant(); const violations = deprecations.getViolations(); diff --git a/lib/index.js b/lib/index.js index fbca9b7f..33a195ab 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,8 +1,8 @@ -const { version, help } = require('./cli'); -const runTasks = require('./tasks'); -const Plugin = require('./plugin/Plugin'); +import { version, help } from './cli'; +import runTasks from './tasks'; +import Plugin from './plugin/Plugin'; -module.exports = async options => { +export default async options => { if (options.version) { version(); } else if (options.help) { @@ -13,4 +13,4 @@ module.exports = async options => { return Promise.resolve(); }; -module.exports.Plugin = Plugin; +export { Plugin }; diff --git a/lib/log.js b/lib/log.js index 648232d6..b3136d8e 100644 --- a/lib/log.js +++ b/lib/log.js @@ -1,6 +1,6 @@ -const { EOL } = require('os'); -const chalk = require('chalk'); -const { isObject, last, filter, isString, lowerCase, upperFirst, isArray } = require('lodash'); +import { EOL } from 'os'; +import chalk from 'chalk'; +import { isObject, last, filter, isString, lowerCase, upperFirst, isArray } from 'lodash'; class Logger { constructor({ isCI = true, isVerbose = false, verbosityLevel = 0, isDryRun = false } = {}) { @@ -64,4 +64,4 @@ class Logger { } } -module.exports = Logger; +export default Logger; diff --git a/lib/metrics.js b/lib/metrics.js index e2b8d74b..a7c8d153 100644 --- a/lib/metrics.js +++ b/lib/metrics.js @@ -1,10 +1,12 @@ -const { EOL } = require('os'); -const got = require('got'); -const { v4: uuidv4 } = require('uuid'); -const osName = require('os-name'); -const isCi = require('is-ci'); -const debug = require('debug')('release-it:metrics'); -const pkg = require('../package.json'); +import { EOL } from 'os'; +import got from 'got'; +import { v4 as uuidv4 } from 'uuid'; +import osName from 'os-name'; +import isCi from 'is-ci'; +import _debug from 'debug'; +import pkg from '../package.json'; + +const debug = _debug('release-it:metrics'); const noop = Promise.resolve(); @@ -70,4 +72,4 @@ class Metrics { } } -module.exports = Metrics; +export default Metrics; diff --git a/lib/plugin/GitBase.js b/lib/plugin/GitBase.js index 0f2e79d6..7260cf2e 100644 --- a/lib/plugin/GitBase.js +++ b/lib/plugin/GitBase.js @@ -1,6 +1,6 @@ -const { EOL } = require('os'); -const { format, parseGitUrl } = require('../util'); -const Plugin = require('./Plugin'); +import { EOL } from 'os'; +import { format, parseGitUrl } from '../util'; +import Plugin from './Plugin'; const options = { write: false }; const changelogFallback = 'git log --pretty=format:"* %s (%h)"'; @@ -102,4 +102,4 @@ class GitBase extends Plugin { } } -module.exports = GitBase; +export default GitBase; diff --git a/lib/plugin/GitRelease.js b/lib/plugin/GitRelease.js index 6a8954fe..7f617735 100644 --- a/lib/plugin/GitRelease.js +++ b/lib/plugin/GitRelease.js @@ -1,6 +1,6 @@ -const _ = require('lodash'); -const defaultConfig = require('../../config/release-it.json'); -const GitBase = require('./GitBase'); +import _ from 'lodash'; +import defaultConfig from '../../config/release-it.json'; +import GitBase from './GitBase'; class GitRelease extends GitBase { static isEnabled(options) { @@ -37,4 +37,4 @@ class GitRelease extends GitBase { } } -module.exports = GitRelease; +export default GitRelease; diff --git a/lib/plugin/Plugin.js b/lib/plugin/Plugin.js index ec76e5e1..05087a30 100644 --- a/lib/plugin/Plugin.js +++ b/lib/plugin/Plugin.js @@ -1,5 +1,5 @@ -const debug = require('debug'); -const _ = require('lodash'); +import debug from 'debug'; +import _ from 'lodash'; class Plugin { static isEnabled() { @@ -69,4 +69,4 @@ class Plugin { } } -module.exports = Plugin; +export default Plugin; diff --git a/lib/plugin/factory.js b/lib/plugin/factory.js index 15b05cf8..9261c632 100644 --- a/lib/plugin/factory.js +++ b/lib/plugin/factory.js @@ -1,12 +1,14 @@ -const path = require('path'); -const _ = require('lodash'); -const requireCwd = require('import-cwd'); -const debug = require('debug')('release-it:plugins'); -const Version = require('./version/Version'); -const Git = require('./git/Git'); -const GitLab = require('./gitlab/GitLab'); -const GitHub = require('./github/GitHub'); -const npm = require('./npm/npm'); +import path from 'path'; +import _ from 'lodash'; +import requireCwd from 'import-cwd'; +import _debug from 'debug'; +import Version from './version/Version'; +import Git from './git/Git'; +import GitLab from './gitlab/GitLab'; +import GitHub from './github/GitHub'; +import npm from './npm/npm'; + +const debug = _debug('release-it:plugins'); const pluginNames = ['npm', 'git', 'github', 'gitlab', 'version']; @@ -28,7 +30,7 @@ const load = pluginName => { return [path.parse(pluginName).name, plugin]; }; -module.exports.getPlugins = async (config, container) => { +export let getPlugins = async (config, container) => { const context = config.getContext(); const disabledPlugins = []; diff --git a/lib/plugin/git/Git.js b/lib/plugin/git/Git.js index 0d137bce..fee4739a 100644 --- a/lib/plugin/git/Git.js +++ b/lib/plugin/git/Git.js @@ -1,9 +1,9 @@ -const { EOL } = require('os'); -const _ = require('lodash'); -const findUp = require('find-up'); -const { format, e } = require('../../util'); -const GitBase = require('../GitBase'); -const prompts = require('./prompts'); +import { EOL } from 'os'; +import _ from 'lodash'; +import findUp from 'find-up'; +import { format, e } from '../../util'; +import GitBase from '../GitBase'; +import prompts from './prompts'; const noop = Promise.resolve(); const invalidPushRepoRe = /^\S+@/; @@ -201,4 +201,4 @@ class Git extends GitBase { } } -module.exports = Git; +export default Git; diff --git a/lib/plugin/git/prompts.js b/lib/plugin/git/prompts.js index 517a231e..f92911f1 100644 --- a/lib/plugin/git/prompts.js +++ b/lib/plugin/git/prompts.js @@ -1,6 +1,6 @@ -const { format, truncateLines } = require('../../util'); +import { format, truncateLines } from '../../util'; -module.exports = { +export default { commit: { type: 'confirm', message: context => `Commit (${truncateLines(format(context.git.commitMessage, context), 1, ' [...]')})?`, diff --git a/lib/plugin/github/GitHub.js b/lib/plugin/github/GitHub.js index 8d48f27d..0600c586 100644 --- a/lib/plugin/github/GitHub.js +++ b/lib/plugin/github/GitHub.js @@ -1,14 +1,14 @@ -const fs = require('fs'); -const path = require('path'); -const { Octokit } = require('@octokit/rest'); -const globby = require('globby'); -const mime = require('mime-types'); -const _ = require('lodash'); -const retry = require('async-retry'); -const pkg = require('../../../package.json'); -const { format, parseVersion, e } = require('../../util'); -const Release = require('../GitRelease'); -const prompts = require('./prompts'); +import fs from 'fs'; +import path from 'path'; +import { Octokit } from '@octokit/rest'; +import globby from 'globby'; +import mime from 'mime-types'; +import _ from 'lodash'; +import retry from 'async-retry'; +import pkg from '../../../package.json'; +import { format, parseVersion, e } from '../../util'; +import Release from '../GitRelease'; +import prompts from './prompts'; const docs = 'https://git.io/release-it-github'; @@ -308,4 +308,4 @@ class GitHub extends Release { } } -module.exports = GitHub; +export default GitHub; diff --git a/lib/plugin/github/prompts.js b/lib/plugin/github/prompts.js index eb5685a0..c65cf0fa 100644 --- a/lib/plugin/github/prompts.js +++ b/lib/plugin/github/prompts.js @@ -1,4 +1,4 @@ -const { format } = require('../../util'); +import { format } from '../../util'; const message = context => { const { isPreRelease, isUpdate, github } = context; @@ -7,7 +7,7 @@ const message = context => { return `${isUpdate ? 'Update' : 'Create a'} ${isPreRelease ? 'pre-' : ''}release on GitHub (${name})?`; }; -module.exports = { +export default { release: { type: 'confirm', message, diff --git a/lib/plugin/gitlab/GitLab.js b/lib/plugin/gitlab/GitLab.js index 00419b06..9a5fe712 100644 --- a/lib/plugin/gitlab/GitLab.js +++ b/lib/plugin/gitlab/GitLab.js @@ -1,12 +1,12 @@ -const fs = require('fs'); -const path = require('path'); -const got = require('got'); -const globby = require('globby'); -const FormData = require('form-data'); -const _ = require('lodash'); -const Release = require('../GitRelease'); -const { format, e } = require('../../util'); -const prompts = require('./prompts'); +import fs from 'fs'; +import path from 'path'; +import got from 'got'; +import globby from 'globby'; +import FormData from 'form-data'; +import _ from 'lodash'; +import Release from '../GitRelease'; +import { format, e } from '../../util'; +import prompts from './prompts'; const docs = 'https://git.io/release-it-gitlab'; @@ -215,4 +215,4 @@ class GitLab extends Release { } } -module.exports = GitLab; +export default GitLab; diff --git a/lib/plugin/gitlab/prompts.js b/lib/plugin/gitlab/prompts.js index 426fa5ea..c65b3d55 100644 --- a/lib/plugin/gitlab/prompts.js +++ b/lib/plugin/gitlab/prompts.js @@ -1,6 +1,6 @@ -const { format } = require('../../util'); +import { format } from '../../util'; -module.exports = { +export default { release: { type: 'confirm', message: context => `Create a release on GitLab (${format(context.gitlab.releaseName, context)})?`, diff --git a/lib/plugin/npm/npm.js b/lib/plugin/npm/npm.js index ea5da02a..e57a969a 100644 --- a/lib/plugin/npm/npm.js +++ b/lib/plugin/npm/npm.js @@ -1,9 +1,9 @@ -const path = require('path'); -const semver = require('semver'); -const urlJoin = require('url-join'); -const Plugin = require('../Plugin'); -const { hasAccess, rejectAfter, parseVersion, e } = require('../../util'); -const prompts = require('./prompts'); +import path from 'path'; +import semver from 'semver'; +import urlJoin from 'url-join'; +import Plugin from '../Plugin'; +import { hasAccess, rejectAfter, parseVersion, e } from '../../util'; +import prompts from './prompts'; const docs = 'https://git.io/release-it-npm'; @@ -255,4 +255,4 @@ class npm extends Plugin { } } -module.exports = npm; +export default npm; diff --git a/lib/plugin/npm/prompts.js b/lib/plugin/npm/prompts.js index 60567d32..724672b1 100644 --- a/lib/plugin/npm/prompts.js +++ b/lib/plugin/npm/prompts.js @@ -1,4 +1,4 @@ -module.exports = { +export default { publish: { type: 'confirm', message: context => diff --git a/lib/plugin/version/Version.js b/lib/plugin/version/Version.js index c595129e..3433450c 100644 --- a/lib/plugin/version/Version.js +++ b/lib/plugin/version/Version.js @@ -1,6 +1,6 @@ -const semver = require('semver'); -const chalk = require('chalk'); -const Plugin = require('../Plugin'); +import semver from 'semver'; +import chalk from 'chalk'; +import Plugin from '../Plugin'; const { green, red, redBright } = chalk; @@ -126,4 +126,4 @@ class Version extends Plugin { } } -module.exports = Version; +export default Version; diff --git a/lib/prompt.js b/lib/prompt.js index e9e5d647..c53bc603 100644 --- a/lib/prompt.js +++ b/lib/prompt.js @@ -1,4 +1,4 @@ -const inquirer = require('inquirer'); +import inquirer from 'inquirer'; class Prompt { constructor({ container }) { @@ -30,4 +30,4 @@ class Prompt { } } -module.exports = Prompt; +export default Prompt; diff --git a/lib/shell.js b/lib/shell.js index 2ce24e43..0412f8b9 100644 --- a/lib/shell.js +++ b/lib/shell.js @@ -1,7 +1,9 @@ -const sh = require('shelljs'); -const execa = require('execa'); -const debug = require('debug')('release-it:shell'); -const { format } = require('./util'); +import sh from 'shelljs'; +import execa from 'execa'; +import _debug from 'debug'; +import { format } from './util'; + +const debug = _debug('release-it:shell'); sh.config.silent = !debug.enabled; @@ -86,4 +88,4 @@ class Shell { } } -module.exports = Shell; +export default Shell; diff --git a/lib/spinner.js b/lib/spinner.js index 99785309..1b028096 100644 --- a/lib/spinner.js +++ b/lib/spinner.js @@ -1,5 +1,5 @@ -const ora = require('ora'); -const { format } = require('./util'); +import ora from 'ora'; +import { format } from './util'; const noop = Promise.resolve(); @@ -26,4 +26,4 @@ class Spinner { } } -module.exports = Spinner; +export default Spinner; diff --git a/lib/tasks.js b/lib/tasks.js index 85b3ff74..ab0f3dee 100644 --- a/lib/tasks.js +++ b/lib/tasks.js @@ -1,13 +1,13 @@ -const _ = require('lodash'); -const Factory = require('./plugin/factory'); -const Logger = require('./log'); -const Config = require('./config'); -const Shell = require('./shell'); -const Prompt = require('./prompt'); -const Spinner = require('./spinner'); -const Metrics = require('./metrics'); -const { reduceUntil, parseVersion } = require('./util'); -const handleDeprecated = require('./deprecated'); +import _ from 'lodash'; +import Factory from './plugin/factory'; +import Logger from './log'; +import Config from './config'; +import Shell from './shell'; +import Prompt from './prompt'; +import Spinner from './spinner'; +import Metrics from './metrics'; +import { reduceUntil, parseVersion } from './util'; +import handleDeprecated from './deprecated'; const runTasks = async (opts, di) => { let container = {}; @@ -136,4 +136,4 @@ const runTasks = async (opts, di) => { } }; -module.exports = runTasks; +export default runTasks; diff --git a/lib/util.js b/lib/util.js index d1e06a13..a0f8ee1a 100644 --- a/lib/util.js +++ b/lib/util.js @@ -1,11 +1,11 @@ -const fs = require('fs'); -const { EOL } = require('os'); -const _ = require('lodash'); -const gitUrlParse = require('git-url-parse'); -const semver = require('semver'); -const osName = require('os-name'); -const pkg = require('../package.json'); -const Log = require('./log'); +import fs from 'fs'; +import { EOL } from 'os'; +import _ from 'lodash'; +import gitUrlParse from 'git-url-parse'; +import semver from 'semver'; +import osName from 'os-name'; +import pkg from '../package.json'; +import Log from './log'; const log = new Log(); @@ -87,15 +87,4 @@ const parseVersion = raw => { const e = (message, docs) => new Error(docs ? `${message}${EOL}Documentation: ${docs}${EOL}` : message); -module.exports = { - getSystemInfo, - clean, - format, - truncateLines, - rejectAfter, - reduceUntil, - parseGitUrl, - hasAccess, - parseVersion, - e -}; +export { getSystemInfo, clean, format, truncateLines, rejectAfter, reduceUntil, parseGitUrl, hasAccess, parseVersion, e }; diff --git a/test/cli.js b/test/cli.js index 47818964..57e9cc83 100644 --- a/test/cli.js +++ b/test/cli.js @@ -1,7 +1,7 @@ -const test = require('ava'); -const mockStdIo = require('mock-stdio'); -const pkg = require('../package.json'); -const { version, help } = require('../lib/cli'); +import test from 'ava'; +import mockStdIo from 'mock-stdio'; +import pkg from '../package.json'; +import { version, help } from '../lib/cli'; test('should print version', t => { mockStdIo.start(); diff --git a/test/config.js b/test/config.js index 6b5f1dfb..81b08312 100644 --- a/test/config.js +++ b/test/config.js @@ -1,7 +1,7 @@ -const test = require('ava'); -const mock = require('mock-fs'); -const Config = require('../lib/config'); -const defaultConfig = require('../config/release-it.json'); +import test from 'ava'; +import mock from 'mock-fs'; +import Config from '../lib/config'; +import defaultConfig from '../config/release-it.json'; const localConfig = { github: { release: true } }; diff --git a/test/deprecated.js b/test/deprecated.js index 60ff3416..6ff8b3a0 100644 --- a/test/deprecated.js +++ b/test/deprecated.js @@ -1,7 +1,7 @@ -const test = require('ava'); -const sinon = require('sinon'); -const deprecated = require('../lib/deprecated'); -const Log = require('../lib/log'); +import test from 'ava'; +import sinon from 'sinon'; +import deprecated from '../lib/deprecated'; +import Log from '../lib/log'; test('should show deprecation warnings and return compliant object', t => { const log = sinon.createStubInstance(Log); diff --git a/test/git.init.js b/test/git.init.js index 513af7a4..052016bc 100644 --- a/test/git.init.js +++ b/test/git.init.js @@ -1,10 +1,10 @@ -const test = require('ava'); -const sh = require('shelljs'); -const Shell = require('../lib/shell'); -const Git = require('../lib/plugin/git/Git'); -const { git } = require('../config/release-it.json'); -const { factory } = require('./util'); -const { mkTmpDir, gitAdd } = require('./util/helpers'); +import test from 'ava'; +import sh from 'shelljs'; +import Shell from '../lib/shell'; +import Git from '../lib/plugin/git/Git'; +import { git } from '../config/release-it.json'; +import { factory } from './util'; +import { mkTmpDir, gitAdd } from './util/helpers'; test.serial.beforeEach(t => { const bare = mkTmpDir(); diff --git a/test/git.js b/test/git.js index 68873edc..856ed3b2 100644 --- a/test/git.js +++ b/test/git.js @@ -1,10 +1,10 @@ -const { EOL } = require('os'); -const test = require('ava'); -const sinon = require('sinon'); -const sh = require('shelljs'); -const Git = require('../lib/plugin/git/Git'); -const { mkTmpDir, readFile, gitAdd } = require('./util/helpers'); -const { factory } = require('./util'); +import { EOL } from 'os'; +import test from 'ava'; +import sinon from 'sinon'; +import sh from 'shelljs'; +import Git from '../lib/plugin/git/Git'; +import { mkTmpDir, readFile, gitAdd } from './util/helpers'; +import { factory } from './util'; test.beforeEach(() => { const tmp = mkTmpDir(); diff --git a/test/github.js b/test/github.js index d01c6b84..b302e3ae 100644 --- a/test/github.js +++ b/test/github.js @@ -1,16 +1,9 @@ -const test = require('ava'); -const sinon = require('sinon'); -const { RequestError } = require('@octokit/request-error'); -const GitHub = require('../lib/plugin/github/GitHub'); -const { factory, runTasks } = require('./util'); -const { - interceptAuthentication, - interceptCollaborator, - interceptListReleases, - interceptCreate, - interceptUpdate, - interceptAsset -} = require('./stub/github'); +import test from 'ava'; +import sinon from 'sinon'; +import { RequestError } from '@octokit/request-error'; +import GitHub from '../lib/plugin/github/GitHub'; +import { factory, runTasks } from './util'; +import { interceptAuthentication, interceptCollaborator, interceptListReleases, interceptCreate, interceptUpdate, interceptAsset } from './stub/github'; const tokenRef = 'GITHUB_TOKEN'; const pushRepo = 'git://github.com:user/repo'; diff --git a/test/gitlab.js b/test/gitlab.js index 7a1073e8..91faf270 100644 --- a/test/gitlab.js +++ b/test/gitlab.js @@ -1,15 +1,9 @@ -const test = require('ava'); -const sinon = require('sinon'); -const nock = require('nock'); -const GitLab = require('../lib/plugin/gitlab/GitLab'); -const { - interceptUser, - interceptCollaborator, - interceptCollaboratorFallback, - interceptPublish, - interceptAsset -} = require('./stub/gitlab'); -const { factory, runTasks } = require('./util'); +import test from 'ava'; +import sinon from 'sinon'; +import nock from 'nock'; +import GitLab from '../lib/plugin/gitlab/GitLab'; +import { interceptUser, interceptCollaborator, interceptCollaboratorFallback, interceptPublish, interceptAsset } from './stub/gitlab'; +import { factory, runTasks } from './util'; const tokenHeader = 'Private-Token'; const tokenRef = 'GITLAB_TOKEN'; diff --git a/test/log.js b/test/log.js index e0a952ae..1c6ec23a 100644 --- a/test/log.js +++ b/test/log.js @@ -1,8 +1,8 @@ -const { EOL } = require('os'); -const test = require('ava'); -const mockStdIo = require('mock-stdio'); -const stripAnsi = require('strip-ansi'); -const Log = require('../lib/log'); +import { EOL } from 'os'; +import test from 'ava'; +import mockStdIo from 'mock-stdio'; +import stripAnsi from 'strip-ansi'; +import Log from '../lib/log'; test('should write to stdout', t => { const log = new Log(); diff --git a/test/metrics.js b/test/metrics.js index ff03338c..5a9537f4 100644 --- a/test/metrics.js +++ b/test/metrics.js @@ -1,6 +1,6 @@ -const test = require('ava'); -const sinon = require('sinon'); -const Metrics = require('../lib/metrics'); +import test from 'ava'; +import sinon from 'sinon'; +import Metrics from '../lib/metrics'; test('should send metrics', async t => { const stub = sinon.stub().resolves(); diff --git a/test/npm.js b/test/npm.js index 50dd66aa..e61c2b75 100644 --- a/test/npm.js +++ b/test/npm.js @@ -1,10 +1,10 @@ -const path = require('path'); -const test = require('ava'); -const sinon = require('sinon'); -const mock = require('mock-fs'); -const npm = require('../lib/plugin/npm/npm'); -const { factory, runTasks } = require('./util'); -const { getArgs } = require('./util/helpers'); +import path from 'path'; +import test from 'ava'; +import sinon from 'sinon'; +import mock from 'mock-fs'; +import npm from '../lib/plugin/npm/npm'; +import { factory, runTasks } from './util'; +import { getArgs } from './util/helpers'; test('should return npm package url', t => { const options = { npm: { name: 'my-cool-package' } }; diff --git a/test/plugins.js b/test/plugins.js index af1b4dff..ff4b52dd 100644 --- a/test/plugins.js +++ b/test/plugins.js @@ -1,14 +1,14 @@ -const path = require('path'); -const test = require('ava'); -const sh = require('shelljs'); -const proxyquire = require('proxyquire'); -const sinon = require('sinon'); -const Log = require('../lib/log'); -const Spinner = require('../lib/spinner'); -const Config = require('../lib/config'); -const Plugin = require('../lib/plugin/Plugin'); -const { mkTmpDir, gitAdd } = require('./util/helpers'); -const ShellStub = require('./stub/shell'); +import path from 'path'; +import test from 'ava'; +import sh from 'shelljs'; +import proxyquire from 'proxyquire'; +import sinon from 'sinon'; +import Log from '../lib/log'; +import Spinner from '../lib/spinner'; +import Config from '../lib/config'; +import Plugin from '../lib/plugin/Plugin'; +import { mkTmpDir, gitAdd } from './util/helpers'; +import ShellStub from './stub/shell'; const noop = Promise.resolve(); diff --git a/test/prompt.js b/test/prompt.js index e5d13e5a..189bd6a0 100644 --- a/test/prompt.js +++ b/test/prompt.js @@ -1,12 +1,12 @@ -const test = require('ava'); -const sinon = require('sinon'); -const Prompt = require('../lib/prompt'); -const Config = require('../lib/config'); -const git = require('../lib/plugin/git/prompts'); -const github = require('../lib/plugin/github/prompts'); -const gitlab = require('../lib/plugin/gitlab/prompts'); -const npm = require('../lib/plugin/npm/prompts'); -const { factory } = require('./util'); +import test from 'ava'; +import sinon from 'sinon'; +import Prompt from '../lib/prompt'; +import Config from '../lib/config'; +import git from '../lib/plugin/git/prompts'; +import github from '../lib/plugin/github/prompts'; +import gitlab from '../lib/plugin/gitlab/prompts'; +import npm from '../lib/plugin/npm/prompts'; +import { factory } from './util'; const prompts = { git, github, gitlab, npm }; diff --git a/test/shell.js b/test/shell.js index 1b5a149b..56dfb260 100644 --- a/test/shell.js +++ b/test/shell.js @@ -1,9 +1,9 @@ -const test = require('ava'); -const sh = require('shelljs'); -const sinon = require('sinon'); -const Shell = require('../lib/shell'); -const Log = require('../lib/log'); -const { factory } = require('./util'); +import test from 'ava'; +import sh from 'shelljs'; +import sinon from 'sinon'; +import Shell from '../lib/shell'; +import Log from '../lib/log'; +import { factory } from './util'; const { stdout } = sh.exec('pwd'); const cwd = stdout.trim(); diff --git a/test/spinner.js b/test/spinner.js index cc704d17..0f4c0090 100644 --- a/test/spinner.js +++ b/test/spinner.js @@ -1,7 +1,7 @@ -const test = require('ava'); -const sinon = require('sinon'); -const Spinner = require('../lib/spinner'); -const Config = require('../lib/config'); +import test from 'ava'; +import sinon from 'sinon'; +import Spinner from '../lib/spinner'; +import Config from '../lib/config'; test.beforeEach(t => { t.context.ora = { diff --git a/test/stub/github.js b/test/stub/github.js index 9f8c6752..bc9f3f69 100644 --- a/test/stub/github.js +++ b/test/stub/github.js @@ -1,4 +1,4 @@ -const nock = require('nock'); +import nock from 'nock'; const interceptAuthentication = ({ api = 'https://api.github.com', username = 'john' } = {}) => nock(api).get('/user').reply(200, { @@ -104,11 +104,4 @@ const interceptAsset = ({ }; }); -module.exports = { - interceptAuthentication, - interceptCollaborator, - interceptListReleases, - interceptCreate, - interceptUpdate, - interceptAsset -}; +export { interceptAuthentication, interceptCollaborator, interceptListReleases, interceptCreate, interceptUpdate, interceptAsset }; diff --git a/test/stub/gitlab.js b/test/stub/gitlab.js index 5a011f59..0e372a1c 100644 --- a/test/stub/gitlab.js +++ b/test/stub/gitlab.js @@ -1,9 +1,9 @@ -const nock = require('nock'); +import nock from 'nock'; -module.exports.interceptUser = ({ host = 'https://gitlab.com', owner = 'user' } = {}, options) => +export let interceptUser = ({ host = 'https://gitlab.com', owner = 'user' } = {}, options) => nock(host, options).get('/api/v4/user').reply(200, { id: 1, username: owner }); -module.exports.interceptCollaborator = ( +export let interceptCollaborator = ( { host = 'https://gitlab.com', owner = 'user', project = 'repo', group, userId = 1 } = {}, options ) => @@ -11,7 +11,7 @@ module.exports.interceptCollaborator = ( .get(`/api/v4/projects/${group ? `${group}%2F` : ''}${owner}%2F${project}/members/all/${userId}`) .reply(200, { id: userId, username: owner, access_level: 30 }); -module.exports.interceptCollaboratorFallback = ( +export let interceptCollaboratorFallback = ( { host = 'https://gitlab.com', owner = 'user', project = 'repo', group, userId = 1 } = {}, options ) => @@ -19,12 +19,12 @@ module.exports.interceptCollaboratorFallback = ( .get(`/api/v4/projects/${group ? `${group}%2F` : ''}${owner}%2F${project}/members/${userId}`) .reply(200, { id: userId, username: owner, access_level: 30 }); -module.exports.interceptPublish = ( +export let interceptPublish = ( { host = 'https://gitlab.com', owner = 'user', project = 'repo', body } = {}, options ) => nock(host, options).post(`/api/v4/projects/${owner}%2F${project}/releases`, body).reply(200, {}); -module.exports.interceptAsset = ({ host = 'https://gitlab.com', owner = 'user', project = 'repo' } = {}) => +export let interceptAsset = ({ host = 'https://gitlab.com', owner = 'user', project = 'repo' } = {}) => nock(host) .post(`/api/v4/projects/${owner}%2F${project}/uploads`) .query(true) diff --git a/test/stub/shell.js b/test/stub/shell.js index 26074e87..0e4769c3 100644 --- a/test/stub/shell.js +++ b/test/stub/shell.js @@ -1,5 +1,7 @@ -const debug = require('debug')('release-it:shell-stub'); -const Shell = require('../../lib/shell'); +import _debug from 'debug'; +import Shell from '../../lib/shell'; + +const debug = _debug('release-it:shell-stub'); class ShellStub extends Shell { exec(command) { @@ -19,4 +21,4 @@ class ShellStub extends Shell { } } -module.exports = ShellStub; +export default ShellStub; diff --git a/test/tasks.interactive.js b/test/tasks.interactive.js index e4264c1e..fa812ae3 100644 --- a/test/tasks.interactive.js +++ b/test/tasks.interactive.js @@ -1,17 +1,17 @@ -const path = require('path'); -const test = require('ava'); -const sh = require('shelljs'); -const _ = require('lodash'); -const sinon = require('sinon'); -const Log = require('../lib/log'); -const Spinner = require('../lib/spinner'); -const Prompt = require('../lib/prompt'); -const Config = require('../lib/config'); -const runTasks = require('../lib/tasks'); -const { mkTmpDir, gitAdd } = require('./util/helpers'); -const ShellStub = require('./stub/shell'); -const { interceptPublish: interceptGitLabPublish } = require('./stub/gitlab'); -const { interceptCreate: interceptGitHubCreate } = require('./stub/github'); +import path from 'path'; +import test from 'ava'; +import sh from 'shelljs'; +import _ from 'lodash'; +import sinon from 'sinon'; +import Log from '../lib/log'; +import Spinner from '../lib/spinner'; +import Prompt from '../lib/prompt'; +import Config from '../lib/config'; +import runTasks from '../lib/tasks'; +import { mkTmpDir, gitAdd } from './util/helpers'; +import ShellStub from './stub/shell'; +import { interceptPublish as interceptGitLabPublish } from './stub/gitlab'; +import { interceptCreate as interceptGitHubCreate } from './stub/github'; const noop = Promise.resolve(); diff --git a/test/tasks.js b/test/tasks.js index 9f9effb2..d161ff12 100644 --- a/test/tasks.js +++ b/test/tasks.js @@ -1,28 +1,18 @@ -const path = require('path'); -const test = require('ava'); -const sh = require('shelljs'); -const proxyquire = require('proxyquire'); -const _ = require('lodash'); -const sinon = require('sinon'); -const Log = require('../lib/log'); -const Spinner = require('../lib/spinner'); -const Config = require('../lib/config'); -const runTasks = require('../lib/tasks'); -const Plugin = require('../lib/plugin/Plugin'); -const { mkTmpDir, gitAdd, getArgs } = require('./util/helpers'); -const ShellStub = require('./stub/shell'); -const { - interceptUser: interceptGitLabUser, - interceptCollaborator: interceptGitLabCollaborator, - interceptPublish: interceptGitLabPublish, - interceptAsset: interceptGitLabAsset -} = require('./stub/gitlab'); -const { - interceptAuthentication: interceptGitHubAuthentication, - interceptCollaborator: interceptGitHubCollaborator, - interceptCreate: interceptGitHubCreate, - interceptAsset: interceptGitHubAsset -} = require('./stub/github'); +import path from 'path'; +import test from 'ava'; +import sh from 'shelljs'; +import proxyquire from 'proxyquire'; +import _ from 'lodash'; +import sinon from 'sinon'; +import Log from '../lib/log'; +import Spinner from '../lib/spinner'; +import Config from '../lib/config'; +import runTasks from '../lib/tasks'; +import Plugin from '../lib/plugin/Plugin'; +import { mkTmpDir, gitAdd, getArgs } from './util/helpers'; +import ShellStub from './stub/shell'; +import { interceptUser as interceptGitLabUser, interceptCollaborator as interceptGitLabCollaborator, interceptPublish as interceptGitLabPublish, interceptAsset as interceptGitLabAsset } from './stub/gitlab'; +import { interceptAuthentication as interceptGitHubAuthentication, interceptCollaborator as interceptGitHubCollaborator, interceptCreate as interceptGitHubCreate, interceptAsset as interceptGitHubAsset } from './stub/github'; const noop = Promise.resolve(); diff --git a/test/util/helpers.js b/test/util/helpers.js index fa10c079..a0418879 100644 --- a/test/util/helpers.js +++ b/test/util/helpers.js @@ -1,7 +1,7 @@ -const fs = require('fs').promises; -const path = require('path'); -const sh = require('shelljs'); -const tmp = require('tmp'); +import { promises as fs } from 'fs'; +import path from 'path'; +import sh from 'shelljs'; +import tmp from 'tmp'; const mkTmpDir = () => { const dir = tmp.dirSync({ prefix: 'release-it-' }); @@ -21,9 +21,4 @@ const gitAdd = (content, file, message) => { const getArgs = (args, prefix) => args.filter(args => typeof args[0] === 'string' && args[0].startsWith(prefix)).map(args => args[0].trim()); -module.exports = { - mkTmpDir, - readFile, - gitAdd, - getArgs -}; +export { mkTmpDir, readFile, gitAdd, getArgs }; diff --git a/test/util/index.js b/test/util/index.js index 0d7d5cc1..c9baf4c1 100644 --- a/test/util/index.js +++ b/test/util/index.js @@ -1,14 +1,14 @@ -const _ = require('lodash'); -const sinon = require('sinon'); -const semver = require('semver'); -const { parseVersion } = require('../../lib/util'); -const Log = require('../../lib/log'); -const Config = require('../../lib/config'); -const ShellStub = require('../stub/shell'); -const Spinner = require('../../lib/spinner'); -const Prompt = require('../../lib/prompt'); - -module.exports.factory = (Definition, { namespace, options = {}, container = {} } = {}) => { +import _ from 'lodash'; +import sinon from 'sinon'; +import semver from 'semver'; +import { parseVersion } from '../../lib/util'; +import Log from '../../lib/log'; +import Config from '../../lib/config'; +import ShellStub from '../stub/shell'; +import Spinner from '../../lib/spinner'; +import Prompt from '../../lib/prompt'; + +export let factory = (Definition, { namespace, options = {}, container = {} } = {}) => { _.defaults(options, { ci: true, verbose: false, 'dry-run': false, debug: false }); const ns = namespace || Definition.name.toLowerCase(); @@ -51,7 +51,7 @@ const getVersion = async (plugin, { latestVersion, increment }) => { ); }; -module.exports.runTasks = async plugin => { +export let runTasks = async plugin => { await plugin.init(); const name = (await plugin.getName()) || '__test__'; diff --git a/test/util/setup.js b/test/util/setup.js index 33413875..5dcf63af 100644 --- a/test/util/setup.js +++ b/test/util/setup.js @@ -1,6 +1,6 @@ -const shelljs = require('shelljs'); -const nock = require('nock'); -const test = require('ava'); +import shelljs from 'shelljs'; +import nock from 'nock'; +import test from 'ava'; shelljs.config.silent = true; nock.disableNetConnect(); diff --git a/test/utils.js b/test/utils.js index 4499064d..6acb1815 100644 --- a/test/utils.js +++ b/test/utils.js @@ -1,8 +1,8 @@ -const { EOL } = require('os'); -const test = require('ava'); -const mockStdIo = require('mock-stdio'); -const stripAnsi = require('strip-ansi'); -const { format, truncateLines, parseGitUrl, parseVersion } = require('../lib/util'); +import { EOL } from 'os'; +import test from 'ava'; +import mockStdIo from 'mock-stdio'; +import stripAnsi from 'strip-ansi'; +import { format, truncateLines, parseGitUrl, parseVersion } from '../lib/util'; test('format', t => { t.is(format('release v${version}', { version: '1.0.0' }), 'release v1.0.0'); diff --git a/test/version.js b/test/version.js index 7adb10fa..10efe961 100644 --- a/test/version.js +++ b/test/version.js @@ -1,7 +1,7 @@ -const test = require('ava'); -const sinon = require('sinon'); -const Version = require('../lib/plugin/version/Version'); -const { factory, runTasks } = require('./util'); +import test from 'ava'; +import sinon from 'sinon'; +import Version from '../lib/plugin/version/Version'; +import { factory, runTasks } from './util'; test('isValidVersion', t => { const v = factory(Version);