From b7dbed5243ddb2902f7422e8629cc29803f199ad Mon Sep 17 00:00:00 2001 From: Vladimir Gorej Date: Tue, 15 Feb 2022 14:31:35 +0100 Subject: [PATCH] feat(apidom-ns-asyncapi-2): convert to ESM Refs #930 --- packages/apidom-ns-asyncapi-2/.gitignore | 1 + packages/apidom-ns-asyncapi-2/.mocharc.js | 7 ------- packages/apidom-ns-asyncapi-2/.mocharc.json | 5 +++++ .../apidom-ns-asyncapi-2/config/rollup/types.dist.js | 1 + .../config/webpack/browser.config.js | 8 +++----- .../config/webpack/traits.config.js | 10 ++++------ packages/apidom-ns-asyncapi-2/package.json | 12 +++++++----- packages/apidom-ns-asyncapi-2/test/.eslintrc | 5 ++++- .../test/{mocha-bootstrap.js => mocha-bootstrap.cjs} | 0 9 files changed, 25 insertions(+), 24 deletions(-) delete mode 100644 packages/apidom-ns-asyncapi-2/.mocharc.js create mode 100644 packages/apidom-ns-asyncapi-2/.mocharc.json rename packages/apidom-ns-asyncapi-2/test/{mocha-bootstrap.js => mocha-bootstrap.cjs} (100%) diff --git a/packages/apidom-ns-asyncapi-2/.gitignore b/packages/apidom-ns-asyncapi-2/.gitignore index 81d7e7604f..e250429657 100644 --- a/packages/apidom-ns-asyncapi-2/.gitignore +++ b/packages/apidom-ns-asyncapi-2/.gitignore @@ -3,3 +3,4 @@ /cjs /types /NOTICE +/swagger-api-apidom-ns-asyncapi-2-*.tgz diff --git a/packages/apidom-ns-asyncapi-2/.mocharc.js b/packages/apidom-ns-asyncapi-2/.mocharc.js deleted file mode 100644 index 55e015a409..0000000000 --- a/packages/apidom-ns-asyncapi-2/.mocharc.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -module.exports = { - recursive: true, - spec: 'test/**/*.ts', - file: ['test/mocha-bootstrap.js'], -}; diff --git a/packages/apidom-ns-asyncapi-2/.mocharc.json b/packages/apidom-ns-asyncapi-2/.mocharc.json new file mode 100644 index 0000000000..e923c24114 --- /dev/null +++ b/packages/apidom-ns-asyncapi-2/.mocharc.json @@ -0,0 +1,5 @@ +{ + "recursive": true, + "spec": "test/**/*.ts", + "file": ["test/mocha-bootstrap.cjs"] +} diff --git a/packages/apidom-ns-asyncapi-2/config/rollup/types.dist.js b/packages/apidom-ns-asyncapi-2/config/rollup/types.dist.js index e469b15b46..308fe65359 100644 --- a/packages/apidom-ns-asyncapi-2/config/rollup/types.dist.js +++ b/packages/apidom-ns-asyncapi-2/config/rollup/types.dist.js @@ -7,4 +7,5 @@ const config = [ plugins: [dts()], }, ]; + export default config; diff --git a/packages/apidom-ns-asyncapi-2/config/webpack/browser.config.js b/packages/apidom-ns-asyncapi-2/config/webpack/browser.config.js index 7684b448fa..dc42ac38e0 100644 --- a/packages/apidom-ns-asyncapi-2/config/webpack/browser.config.js +++ b/packages/apidom-ns-asyncapi-2/config/webpack/browser.config.js @@ -1,7 +1,5 @@ -'use strict'; - -const path = require('path'); -const { nonMinimizeTrait, minimizeTrait } = require('./traits.config'); +import path from 'node:path'; +import { nonMinimizeTrait, minimizeTrait } from './traits.config.js'; const browser = { mode: 'production', @@ -69,4 +67,4 @@ const browserMin = { ...minimizeTrait, }; -module.exports = [browser, browserMin]; +export default [browser, browserMin]; diff --git a/packages/apidom-ns-asyncapi-2/config/webpack/traits.config.js b/packages/apidom-ns-asyncapi-2/config/webpack/traits.config.js index a1d6167603..c4789d75d6 100644 --- a/packages/apidom-ns-asyncapi-2/config/webpack/traits.config.js +++ b/packages/apidom-ns-asyncapi-2/config/webpack/traits.config.js @@ -1,9 +1,7 @@ -'use strict'; +import webpack from 'webpack'; +import TerserPlugin from 'terser-webpack-plugin'; -const webpack = require('webpack'); -const TerserPlugin = require('terser-webpack-plugin'); - -const nonMinimizeTrait = { +export const nonMinimizeTrait = { optimization: { minimize: false, usedExports: false, @@ -11,7 +9,7 @@ const nonMinimizeTrait = { }, }; -const minimizeTrait = { +export const minimizeTrait = { plugins: [ new webpack.LoaderOptionsPlugin({ minimize: true, diff --git a/packages/apidom-ns-asyncapi-2/package.json b/packages/apidom-ns-asyncapi-2/package.json index dc1094d875..8bb5191797 100644 --- a/packages/apidom-ns-asyncapi-2/package.json +++ b/packages/apidom-ns-asyncapi-2/package.json @@ -5,20 +5,22 @@ "publishConfig": { "registry": "https://npm.pkg.github.com" }, - "main": "cjs/index.js", - "module": "es/index.js", - "jsnext:main": "es/index.js", + "type": "module", "unpkg": "dist/apidom-ns-openapi3-1.browser.min.js", + "exports": { + "import": "./es/index.js", + "require": "./cjs/index.cjs" + }, "types": "types/dist.d.ts", "scripts": { "build": "npm run clean && run-p --max-parallel ${CPU_CORES:-2} typescript:declaration build:es build:cjs build:umd:browser", "build:es": "cross-env BABEL_ENV=es babel src --out-dir es --extensions '.ts' --root-mode 'upward'", - "build:cjs": "cross-env BABEL_ENV=cjs babel src --out-dir cjs --extensions '.ts' --root-mode 'upward'", + "build:cjs": "cross-env BABEL_ENV=cjs-new babel src --out-dir cjs --extensions '.ts' --out-file-extension '.cjs' --root-mode 'upward'", "build:umd:browser": "cross-env BABEL_ENV=browser BROWSERSLIST_ENV=production webpack --config config/webpack/browser.config.js --progress", "lint": "eslint ./", "lint:fix": "eslint ./ --fix", "clean": "rimraf ./es ./cjs ./dist ./types", - "test": "cross-env BABEL_ENV=cjs mocha", + "test": "cross-env NODE_ENV=test BABEL_ENV=cjs-new mocha", "test:update-snapshots": "cross-env UPDATE_SNAPSHOT=1 BABEL_ENV=cjs mocha", "perf": "cross-env BABEL_ENV=cjs node ./test/perf/index.js", "perf:visitor-shortcut": "cross-env BABEL_ENV=cjs node ./test/perf/visitor-shortcut.js", diff --git a/packages/apidom-ns-asyncapi-2/test/.eslintrc b/packages/apidom-ns-asyncapi-2/test/.eslintrc index 0c191f739d..83e7c40800 100644 --- a/packages/apidom-ns-asyncapi-2/test/.eslintrc +++ b/packages/apidom-ns-asyncapi-2/test/.eslintrc @@ -30,9 +30,12 @@ "@typescript-eslint/no-unused-expressions": 0 }, "overrides": [{ - "files": ["mocha-bootstrap.js"], + "files": ["mocha-bootstrap.cjs"], "parserOptions": { "sourceType": "script" + }, + "rules": { + "@typescript-eslint/no-var-requires": 0 } }] } diff --git a/packages/apidom-ns-asyncapi-2/test/mocha-bootstrap.js b/packages/apidom-ns-asyncapi-2/test/mocha-bootstrap.cjs similarity index 100% rename from packages/apidom-ns-asyncapi-2/test/mocha-bootstrap.js rename to packages/apidom-ns-asyncapi-2/test/mocha-bootstrap.cjs