From e0bd7bbc503a78e2978669bbf5905ffcfc205152 Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Sat, 30 Sep 2023 01:07:02 -0700 Subject: [PATCH] fix: use cjs and specify commonjs type package --- .eslintrc.json | 2 +- index.js | 2 +- package.json | 24 +++++++++++-------- pnpm-lock.yaml | 15 ++++++++++++ react.js | 2 +- spec/{test.js => test.cjs} | 0 src/{coffeescript.ts => coffeescript.cts} | 4 ++-- src/{cson.ts => cson.cts} | 2 +- src/{eslint-version.ts => eslint-version.cts} | 2 +- src/{html.ts => html.cts} | 0 src/{index-react.ts => index-react.cts} | 4 ++-- ...strict-react.ts => index-strict-react.cts} | 2 +- src/{index-strict.ts => index-strict.cts} | 2 +- src/{index.ts => index.cts} | 18 +++++++------- src/{javascript.ts => javascript.cts} | 6 ++--- src/{json.ts => json.cts} | 0 ...int-rules.ts => official-eslint-rules.cts} | 0 ...mport-rules.ts => plugin-import-rules.cts} | 4 ++-- ...in-node-rules.ts => plugin-node-rules.cts} | 0 src/{typescript.ts => typescript.cts} | 8 +++---- src/{utils.ts => utils.cts} | 0 src/{yaml.ts => yaml.cts} | 0 strict-react.js | 2 +- strict.js | 2 +- 24 files changed, 60 insertions(+), 41 deletions(-) rename spec/{test.js => test.cjs} (100%) rename src/{coffeescript.ts => coffeescript.cts} (72%) rename src/{cson.ts => cson.cts} (77%) rename src/{eslint-version.ts => eslint-version.cts} (88%) rename src/{html.ts => html.cts} (100%) rename src/{index-react.ts => index-react.cts} (87%) rename src/{index-strict-react.ts => index-strict-react.cts} (88%) rename src/{index-strict.ts => index-strict.cts} (90%) rename src/{index.ts => index.cts} (64%) rename src/{javascript.ts => javascript.cts} (77%) rename src/{json.ts => json.cts} (100%) rename src/{official-eslint-rules.ts => official-eslint-rules.cts} (100%) rename src/{plugin-import-rules.ts => plugin-import-rules.cts} (84%) rename src/{plugin-node-rules.ts => plugin-node-rules.cts} (100%) rename src/{typescript.ts => typescript.cts} (95%) rename src/{utils.ts => utils.cts} (100%) rename src/{yaml.ts => yaml.cts} (100%) diff --git a/.eslintrc.json b/.eslintrc.json index 7431f1f..160111e 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,4 +1,4 @@ { - "extends": "./strict", + "extends": "eslint-config-atomic/strict", "ignorePatterns": ["dist/", "node_modules/"] } diff --git a/index.js b/index.js index 74d0040..a1d3441 100644 --- a/index.js +++ b/index.js @@ -1 +1 @@ -module.exports = require("./dist/index.js").default +module.exports = require("./dist/index.cjs").default diff --git a/package.json b/package.json index f75fbd4..d3ec3ee 100644 --- a/package.json +++ b/package.json @@ -5,20 +5,22 @@ "repository": "https://github.com/atom-ide-community/eslint-config-atomic", "license": "MIT", "author": "Amin Yahyaabadi", - "main": "index.js", + "type": "commonjs", + "main": "index.cjs", "files": [ "src", "dist", - "*.js" + "*.cjs" ], "scripts": { "build": "tsc", "bump": "ncu -u -x coffeescript,execa,read-pkg-up", - "clean": "shx rm -rf ./spec/fixtures/atom-community ./spec/fixtures/atom-minimap ./spec/fixtures/steelbrain ./strict.js ./strict-react.js", + "clean": "shx rm -rf ./spec/fixtures/ ./dist", "format": "prettier --write .", "lint": "eslint . --ignore-pattern ./spec/fixtures/ --fix", - "prepare": "npm run build", - "test": "node ./spec/test.js", + "prepare": "pnpm run build", + "prepublishOnly": "pnpm run clean && pnpm run build", + "test": "node ./spec/test.cjs", "test.format": "prettier . --check", "test.lint": "eslint . --ignore-pattern spec/fixtures/**" }, @@ -58,11 +60,13 @@ "@types/read-pkg-up": "^6.0.0", "@types/semver": "^7.5.3", "@types/shelljs": "^0.8.13", + "eslint-config-atomic": "link:", "execa": "^5.1.1", "gitly": "^2.4.5", "npm-check-updates": "16.14.4", "prettier-config-atomic": "^3.1.0", - "shelljs": "^0.8.5" + "shelljs": "^0.8.5", + "shx": "^0.3.4" }, "peerDependencies": { "eslint": "^8 || ^7 || ^6" @@ -80,7 +84,7 @@ "lint", "prettier" ], - "react": "react.js", - "strict": "strict.js", - "strict-react": "strict-react.js" -} + "react": "react.cjs", + "strict": "strict.cjs", + "strict-react": "strict-react.cjs" +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bc90605..8fcb0c8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -114,6 +114,9 @@ devDependencies: '@types/shelljs': specifier: ^0.8.13 version: 0.8.13 + eslint-config-atomic: + specifier: 'link:' + version: 'link:' execa: specifier: ^5.1.1 version: 5.1.1 @@ -129,6 +132,9 @@ devDependencies: shelljs: specifier: ^0.8.5 version: 0.8.5 + shx: + specifier: ^0.3.4 + version: 0.3.4 packages: @@ -5014,6 +5020,15 @@ packages: rechoir: 0.6.2 dev: true + /shx@0.3.4: + resolution: {integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==} + engines: {node: '>=6'} + hasBin: true + dependencies: + minimist: 1.2.8 + shelljs: 0.8.5 + dev: true + /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: diff --git a/react.js b/react.js index d62ff1e..a2cd347 100644 --- a/react.js +++ b/react.js @@ -1 +1 @@ -module.exports = require("./dist/index-react.js").default +module.exports = require("./dist/index-react.cjs").default diff --git a/spec/test.js b/spec/test.cjs similarity index 100% rename from spec/test.js rename to spec/test.cjs diff --git a/src/coffeescript.ts b/src/coffeescript.cts similarity index 72% rename from src/coffeescript.ts rename to src/coffeescript.cts index 0afd0f1..e408377 100644 --- a/src/coffeescript.ts +++ b/src/coffeescript.cts @@ -1,5 +1,5 @@ -import { pluginNodeRules } from "./plugin-node-rules.js" -import { pluginImportRulesExtra } from "./plugin-import-rules.js" +import { pluginNodeRules } from "./plugin-node-rules.cjs" +import { pluginImportRulesExtra } from "./plugin-import-rules.cjs" export const coffeeConfig = { // CoffeeScript files diff --git a/src/cson.ts b/src/cson.cts similarity index 77% rename from src/cson.ts rename to src/cson.cts index 9cdb97d..e035fd4 100644 --- a/src/cson.ts +++ b/src/cson.cts @@ -1,4 +1,4 @@ -import { coffeeConfig } from "./coffeescript.js" +import { coffeeConfig } from "./coffeescript.cjs" export const csonConfig = { ...coffeeConfig, diff --git a/src/eslint-version.ts b/src/eslint-version.cts similarity index 88% rename from src/eslint-version.ts rename to src/eslint-version.cts index 3f8f3e6..f3688a2 100644 --- a/src/eslint-version.ts +++ b/src/eslint-version.cts @@ -2,7 +2,7 @@ import child_process from "child_process" import eslintPackageJson from "eslint/package.json" export function getEslintVersion() { - if (process.argv[1].includes("eslint.js")) { + if (process.argv[1].includes("eslint.cjs")) { const eslintVersion = child_process.execFileSync(process.argv[0], [process.argv[1], "--version"], { encoding: "utf8", stdio: "pipe", diff --git a/src/html.ts b/src/html.cts similarity index 100% rename from src/html.ts rename to src/html.cts diff --git a/src/index-react.ts b/src/index-react.cts similarity index 87% rename from src/index-react.ts rename to src/index-react.cts index 74f3cc2..a358a36 100644 --- a/src/index-react.ts +++ b/src/index-react.cts @@ -1,5 +1,5 @@ -import base from "./index.js" -import { tsConfig } from "./typescript" +import base from "./index.cjs" +import { tsConfig } from "./typescript.cjs" const nonStrictConfig = { ...base, diff --git a/src/index-strict-react.ts b/src/index-strict-react.cts similarity index 88% rename from src/index-strict-react.ts rename to src/index-strict-react.cts index 5885e6e..82857a9 100644 --- a/src/index-strict-react.ts +++ b/src/index-strict-react.cts @@ -1,4 +1,4 @@ -import nonStrictConfig from "./index-react.js" +import nonStrictConfig from "./index-react.cjs" // remove only-warn from javascript if (nonStrictConfig.plugins[nonStrictConfig.plugins.length - 1] === "only-warn") { diff --git a/src/index-strict.ts b/src/index-strict.cts similarity index 90% rename from src/index-strict.ts rename to src/index-strict.cts index d3359c5..d2ad498 100644 --- a/src/index-strict.ts +++ b/src/index-strict.cts @@ -1,4 +1,4 @@ -import nonStrictConfig from "./index" +import nonStrictConfig from "./index.cjs" // remove only-warn from javascript if (nonStrictConfig.plugins[nonStrictConfig.plugins.length - 1] === "only-warn") { diff --git a/src/index.ts b/src/index.cts similarity index 64% rename from src/index.ts rename to src/index.cts index df8943b..3811234 100644 --- a/src/index.ts +++ b/src/index.cts @@ -1,13 +1,13 @@ -import { jsConfig } from "./javascript" -import { tsConfig } from "./typescript" -import { coffeeConfig } from "./coffeescript" -import { jsonConfig } from "./json" -import { csonConfig } from "./cson" -import { yamlConfig } from "./yaml" -import { htmlConfig } from "./html" -import { pluginImportSettings } from "./plugin-import-rules" +import { jsConfig } from "./javascript.cjs" +import { tsConfig } from "./typescript.cjs" +import { coffeeConfig } from "./coffeescript.cjs" +import { jsonConfig } from "./json.cjs" +import { csonConfig } from "./cson.cjs" +import { yamlConfig } from "./yaml.cjs" +import { htmlConfig } from "./html.cjs" +import { pluginImportSettings } from "./plugin-import-rules.cjs" import semverLt from "semver/functions/lt" -import { getEslintVersion } from "./eslint-version" +import { getEslintVersion } from "./eslint-version.cjs" const overrides = [tsConfig, jsonConfig, yamlConfig, htmlConfig] diff --git a/src/javascript.ts b/src/javascript.cts similarity index 77% rename from src/javascript.ts rename to src/javascript.cts index e926169..34af72f 100644 --- a/src/javascript.ts +++ b/src/javascript.cts @@ -1,6 +1,6 @@ -import { eslintRulesExtra } from "./official-eslint-rules" -import { pluginNodeRules } from "./plugin-node-rules" -import { pluginImportRulesExtra } from "./plugin-import-rules" +import { eslintRulesExtra } from "./official-eslint-rules.cjs" +import { pluginNodeRules } from "./plugin-node-rules.cjs" +import { pluginImportRulesExtra } from "./plugin-import-rules.cjs" export const jsConfig = { parser: "@babel/eslint-parser", diff --git a/src/json.ts b/src/json.cts similarity index 100% rename from src/json.ts rename to src/json.cts diff --git a/src/official-eslint-rules.ts b/src/official-eslint-rules.cts similarity index 100% rename from src/official-eslint-rules.ts rename to src/official-eslint-rules.cts diff --git a/src/plugin-import-rules.ts b/src/plugin-import-rules.cts similarity index 84% rename from src/plugin-import-rules.ts rename to src/plugin-import-rules.cts index 0f57c09..9c3e8eb 100644 --- a/src/plugin-import-rules.ts +++ b/src/plugin-import-rules.cts @@ -25,14 +25,14 @@ export const pluginImportTypeScriptRulesExtra = { export const pluginImportSettings = { "import/core-modules": ["atom", "electron"], // support TypeScript and Coffee importing - "import/extensions": [".ts", ".tsx", ".d.ts", ".js", ".jsx", ".coffee"], + "import/extensions": [".ts", ".tsx", ".cts", ".mts", ".d.ts", ".js", ".cjs", ".mjs", ".jsx", ".coffee"], "import/external-module-folders": ["node_modules", "node_modules/@types"], "import/parsers": { "@typescript-eslint/parser": [".ts", ".tsx", ".d.ts"], }, "import/resolver": { node: { - extensions: [".ts", ".tsx", ".d.ts", ".js", ".jsx", ".coffee"], + extensions: [".ts", ".tsx", ".cts", ".mts", ".d.ts", ".js", ".cjs", ".mjs", ".jsx", ".coffee"], }, }, } diff --git a/src/plugin-node-rules.ts b/src/plugin-node-rules.cts similarity index 100% rename from src/plugin-node-rules.ts rename to src/plugin-node-rules.cts diff --git a/src/typescript.ts b/src/typescript.cts similarity index 95% rename from src/typescript.ts rename to src/typescript.cts index 62ee676..eb6c33d 100644 --- a/src/typescript.ts +++ b/src/typescript.cts @@ -1,8 +1,8 @@ -import { eslintRulesExtra } from "./official-eslint-rules" -import { pluginImportRulesExtra, pluginImportTypeScriptRulesExtra } from "./plugin-import-rules" -import { pluginNodeRules } from "./plugin-node-rules" +import { eslintRulesExtra } from "./official-eslint-rules.cjs" +import { pluginImportRulesExtra, pluginImportTypeScriptRulesExtra } from "./plugin-import-rules.cjs" +import { pluginNodeRules } from "./plugin-node-rules.cjs" import makeSynchronous from "make-synchronous" -import { findOneFile } from "./utils" +import { findOneFile } from "./utils.cjs" import type { GlobifiedEntry } from "globify-gitignore" const tsFiles = ["**/*.tsx", "**/*.ts"] diff --git a/src/utils.ts b/src/utils.cts similarity index 100% rename from src/utils.ts rename to src/utils.cts diff --git a/src/yaml.ts b/src/yaml.cts similarity index 100% rename from src/yaml.ts rename to src/yaml.cts diff --git a/strict-react.js b/strict-react.js index f48f826..0c7b6ff 100644 --- a/strict-react.js +++ b/strict-react.js @@ -1 +1 @@ -module.exports = require("./dist/index-strict-react.js").default +module.exports = require("./dist/index-strict-react.cjs").default diff --git a/strict.js b/strict.js index da82f88..6ee21ba 100644 --- a/strict.js +++ b/strict.js @@ -1 +1 @@ -module.exports = require("./dist/index-strict.js").default +module.exports = require("./dist/index-strict.cjs").default