diff --git a/index.js b/index.js index 36c7b51..8bf9c47 100644 --- a/index.js +++ b/index.js @@ -1,11 +1,11 @@ -const {defaultTo} = require('lodash'); -const AggregateError = require('aggregate-error'); -const verifyPluginConfig = require('./lib/verify-config'); -const verifyPodAuth = require('./lib/verify-auth'); -const verifyCliInstalled = require('./lib/verify-cli-installed'); -const verifyPodLint = require('./lib/verify-pod-lint'); -const preparePod = require('./lib/prepare'); -const publishPod = require('./lib/publish'); +import {defaultTo} from 'lodash'; +import AggregateError from 'aggregate-error'; +import verifyPluginConfig from './lib/verify-config.js'; +import verifyPodAuth from './lib/verify-auth.js'; +import verifyCliInstalled from './lib/verify-cli-installed.js'; +import verifyPodLint from './lib/verify-pod-lint.js'; +import preparePod from './lib/prepare.js'; +import publishPod from './lib/publish.js'; // Let verified; let prepared; diff --git a/lib/definitions/errors.js b/lib/definitions/errors.js index 29ee3ed..c32018a 100644 --- a/lib/definitions/errors.js +++ b/lib/definitions/errors.js @@ -1,4 +1,4 @@ -module.exports = { +export default { EINVALIDPODLINT: ({podLint}) => ({ message: 'Invalid `podLint` option.', details: `The podLint option, if defined, must be a \`Boolean\`. diff --git a/lib/get-error.js b/lib/get-error.js index 56a09c0..1787e73 100644 --- a/lib/get-error.js +++ b/lib/get-error.js @@ -1,7 +1,7 @@ -const SemanticReleaseError = require('@semantic-release/error'); -const ERROR_DEFINITIONS = require('./definitions/errors'); +import SemanticReleaseError from '@semantic-release/error'; +import ERROR_DEFINITIONS from './definitions/errors.js'; -module.exports = (code, ctx = {}) => { +export default function(code, ctx = {}) { const {message, details} = ERROR_DEFINITIONS[code](ctx); return new SemanticReleaseError(message, code, details); }; diff --git a/lib/prepare.js b/lib/prepare.js index b2db7a2..4992d33 100644 --- a/lib/prepare.js +++ b/lib/prepare.js @@ -1,6 +1,6 @@ -const replaceInFile = require('replace-in-file'); +import replaceInFile from 'replace-in-file'; -module.exports = async (pluginConfig, context) => { +export default async function(pluginConfig, context) { const { cwd, nextRelease: {version}, diff --git a/lib/publish.js b/lib/publish.js index d7feca0..2c9f92b 100644 --- a/lib/publish.js +++ b/lib/publish.js @@ -1,6 +1,6 @@ -const execa = require('execa'); +import execa from 'execa'; -module.exports = async (pluginConfig, context) => { +export default async function(pluginConfig, context) { const { cwd, env, diff --git a/lib/verify-auth.js b/lib/verify-auth.js index 2eea981..a849e60 100644 --- a/lib/verify-auth.js +++ b/lib/verify-auth.js @@ -1,8 +1,8 @@ -const execa = require('execa'); -const AggregateError = require('aggregate-error'); -const getError = require('./get-error'); +import execa from 'execa'; +import AggregateError from 'aggregate-error'; +import getError from './get-error.js'; -module.exports = async (pluginConfig, context) => { +export default async function(pluginConfig, context) { const {cwd, env, stdout, stderr, logger} = context; logger.log(`Checking if token environment variable set`); diff --git a/lib/verify-cli-installed.js b/lib/verify-cli-installed.js index e5c9653..031fb08 100644 --- a/lib/verify-cli-installed.js +++ b/lib/verify-cli-installed.js @@ -1,8 +1,8 @@ -const execa = require('execa'); -const AggregateError = require('aggregate-error'); -const getError = require('./get-error'); +import execa from 'execa'; +import AggregateError from 'aggregate-error'; +import getError from './get-error.js'; -module.exports = async (pluginConfig, context) => { +export default async function(pluginConfig, context) { const {cwd, env, stdout, stderr, logger} = context; try { logger.log(`Verifying 'pod' installed on machine`); diff --git a/lib/verify-config.js b/lib/verify-config.js index 7bafd9f..b2daa0b 100644 --- a/lib/verify-config.js +++ b/lib/verify-config.js @@ -1,5 +1,5 @@ -const {isString, isNil, isBoolean} = require('lodash'); -const getError = require('./get-error'); +import {isString, isNil, isBoolean} from 'lodash-es'; +import getError from './get-error.js'; const VALIDATORS = { podLint: isBoolean, @@ -7,7 +7,7 @@ const VALIDATORS = { podPushArgs: isString, }; -module.exports = ({podLint, podLintArgs, podPushArgs}) => { +export default async function({podLint, podLintArgs, podPushArgs}) { const errors = Object.entries({podLint, podLintArgs, podPushArgs}).reduce( (errors, [option, value]) => !isNil(value) && !VALIDATORS[option](value) diff --git a/lib/verify-pod-lint.js b/lib/verify-pod-lint.js index 6026c24..0ca673a 100644 --- a/lib/verify-pod-lint.js +++ b/lib/verify-pod-lint.js @@ -1,8 +1,8 @@ -const execa = require('execa'); -const AggregateError = require('aggregate-error'); -const getError = require('./get-error'); +import execa from 'execa'; +import AggregateError from 'aggregate-error'; +import getError from './get-error.js'; -module.exports = async (pluginConfig, context) => { +export default async function(pluginConfig, context) { const {cwd, env, stdout, stderr, logger} = context; if (!pluginConfig.podLint) { diff --git a/package.json b/package.json index 214ec50..56f49ff 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "description": "Cocoapods publishing plugin for semantic-release ", "version": "0.0.0-development", "author": "Levi Bostian (https://github.com/levibostian/)", + "type": "module", "ava": { "files": [ "test/**/*.test.js" @@ -13,15 +14,15 @@ "url": "https://github.com/levibostian/semantic-release-cocoapods/issues" }, "dependencies": { - "@semantic-release/error": "^2.2.0", - "aggregate-error": "^3.0.0", - "execa": "^4.0.0", - "lodash": "^4.17.15", - "replace-in-file": "^6.1.0" + "@semantic-release/error": "^4.0.0", + "aggregate-error": "^5.0.0", + "execa": "^8.0.1", + "lodash-es": "^4.17.15", + "replace-in-file": "^7.0.2" }, "devDependencies": { - "ava": "^3.1.0", - "sinon": "^9.0.0", + "ava": "^5.3.1", + "sinon": "^17.0.1", "stream-buffers": "^3.0.2" }, "files": [ diff --git a/test/prepare.test.js b/test/prepare.test.js index 6f29ee9..72ddab3 100644 --- a/test/prepare.test.js +++ b/test/prepare.test.js @@ -1,9 +1,11 @@ -const path = require('path'); -const test = require('ava'); -const {outputFile, readFile} = require('fs-extra'); -const {stub} = require('sinon'); -const {WritableStreamBuffer} = require('stream-buffers'); -const prepare = require('../lib/prepare'); +import path from 'path'; +import test from 'ava' +import { readFileSync } from 'fs' +import { readFile } from 'fs/promises' +import { outputFile, outputFileSync } from 'fs-extra/esm' +import {stub} from 'sinon'; +import {WritableStreamBuffer} from 'stream-buffers'; +import prepare from '../lib/prepare.js'; test.beforeEach((t) => { t.context.log = stub(); diff --git a/test/verify-config.test.js b/test/verify-config.test.js index ac9da5d..38d65d4 100644 --- a/test/verify-config.test.js +++ b/test/verify-config.test.js @@ -1,6 +1,6 @@ -const test = require('ava'); -const {stub} = require('sinon'); -const verify = require('../lib/verify-config'); +import test from 'ava'; +import {stub} from 'sinon'; +import verify from '../lib/verify-config.js'; test.beforeEach((t) => { // Stub the logger functions