From bae7d9fa7973dd23bde2d5684094608c95d11231 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Mon, 10 Jan 2022 09:07:58 -0800 Subject: [PATCH] [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`, `tape`; remove `jscs`; add `aud`, `nyc` --- .eslintrc | 2 +- .gitignore | 3 + .jscs.json | 175 -------------------------------------------------- .npmignore | 3 + .nycrc | 13 ++++ lib/extend.js | 2 +- package.json | 26 ++++---- 7 files changed, 33 insertions(+), 191 deletions(-) delete mode 100644 .jscs.json create mode 100644 .nycrc diff --git a/.eslintrc b/.eslintrc index 5815b7f..d0fd66d 100644 --- a/.eslintrc +++ b/.eslintrc @@ -16,5 +16,5 @@ "no-restricted-syntax": [2, "BreakStatement", "DebuggerStatement", "LabeledStatement", "WithStatement"], "sort-keys": 0, "spaced-comment": [1, "always", { "markers": ["*"] }] - } + }, } diff --git a/.gitignore b/.gitignore index 59b8049..9aaa016 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,6 @@ node_modules npm-shrinkwrap.json package-lock.json yarn.lock + +.nyc_output/ +coverage/ diff --git a/.jscs.json b/.jscs.json deleted file mode 100644 index 3cce01d..0000000 --- a/.jscs.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "es3": true, - - "additionalRules": [], - - "requireSemicolons": true, - - "disallowMultipleSpaces": true, - - "disallowIdentifierNames": [], - - "requireCurlyBraces": { - "allExcept": [], - "keywords": ["if", "else", "for", "while", "do", "try", "catch"] - }, - - "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"], - - "disallowSpaceAfterKeywords": [], - - "disallowSpaceBeforeComma": true, - "disallowSpaceAfterComma": false, - "disallowSpaceBeforeSemicolon": true, - - "disallowNodeTypes": [ - "DebuggerStatement", - "LabeledStatement", - "SwitchCase", - "SwitchStatement", - "WithStatement" - ], - - "requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] }, - - "requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true }, - "requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true }, - "disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true }, - "requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true }, - "disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true }, - - "requireSpaceBetweenArguments": true, - - "disallowSpacesInsideParentheses": true, - - "disallowSpacesInsideArrayBrackets": true, - - "disallowQuotedKeysInObjects": { "allExcept": ["reserved"] }, - - "disallowSpaceAfterObjectKeys": true, - - "requireCommaBeforeLineBreak": true, - - "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"], - "requireSpaceAfterPrefixUnaryOperators": [], - - "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"], - "requireSpaceBeforePostfixUnaryOperators": [], - - "disallowSpaceBeforeBinaryOperators": [], - "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], - - "requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], - "disallowSpaceAfterBinaryOperators": [], - - "disallowImplicitTypeConversion": ["binary", "string"], - - "disallowKeywords": ["with", "eval"], - - "requireKeywordsOnNewLine": [], - "disallowKeywordsOnNewLine": ["else"], - - "requireLineFeedAtFileEnd": true, - - "disallowTrailingWhitespace": true, - - "disallowTrailingComma": true, - - "excludeFiles": ["node_modules/**", "vendor/**"], - - "disallowMultipleLineStrings": true, - - "requireDotNotation": { "allExcept": ["keywords"] }, - - "requireParenthesesAroundIIFE": true, - - "validateLineBreaks": "LF", - - "validateQuoteMarks": { - "escape": true, - "mark": "'" - }, - - "disallowOperatorBeforeLineBreak": [], - - "requireSpaceBeforeKeywords": [ - "do", - "for", - "if", - "else", - "switch", - "case", - "try", - "catch", - "finally", - "while", - "with", - "return" - ], - - "validateAlignedFunctionParameters": { - "lineBreakAfterOpeningBraces": true, - "lineBreakBeforeClosingBraces": true - }, - - "requirePaddingNewLinesBeforeExport": true, - - "validateNewlineAfterArrayElements": { - "maximum": 6 - }, - - "requirePaddingNewLinesAfterUseStrict": true, - - "disallowArrowFunctions": true, - - "disallowMultiLineTernary": true, - - "validateOrderInObjectKeys": false, - - "disallowIdenticalDestructuringNames": true, - - "disallowNestedTernaries": { "maxLevel": 1 }, - - "requireSpaceAfterComma": { "allExcept": ["trailing"] }, - "requireAlignedMultilineParams": false, - - "requireSpacesInGenerator": { - "afterStar": true - }, - - "disallowSpacesInGenerator": { - "beforeStar": true - }, - - "disallowVar": false, - - "requireArrayDestructuring": false, - - "requireEnhancedObjectLiterals": false, - - "requireObjectDestructuring": false, - - "requireEarlyReturn": false, - - "requireCapitalizedConstructorsNew": { - "allExcept": ["Function", "String", "Object", "Symbol", "Number", "Date", "RegExp", "Error", "Boolean", "Array"] - }, - - "requireImportAlphabetized": false, - - "requireSpaceBeforeObjectValues": true, - "requireSpaceBeforeDestructuredValues": true, - - "disallowSpacesInsideTemplateStringPlaceholders": true, - - "disallowArrayDestructuringReturn": false, - - "requireNewlineBeforeSingleStatementsInIf": false, - - "disallowUnusedVariables": true, - - "requireSpacesInsideImportedObjectBraces": true, - - "requireUseStrict": true -} - diff --git a/.npmignore b/.npmignore index f1250e5..9015e06 100644 --- a/.npmignore +++ b/.npmignore @@ -2,3 +2,6 @@ support test examples *.sock + +.nyc_output/ +coverage/ diff --git a/.nycrc b/.nycrc new file mode 100644 index 0000000..1d57cab --- /dev/null +++ b/.nycrc @@ -0,0 +1,13 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "lines": 86, + "statements": 85.93, + "functions": 82.43, + "branches": 76.06, + "exclude": [ + "coverage", + "dist" + ] +} diff --git a/lib/extend.js b/lib/extend.js index 394a9fc..5df4f76 100644 --- a/lib/extend.js +++ b/lib/extend.js @@ -25,7 +25,7 @@ var setProperty = function setP(target, name, value) { writable: true }); } else { - target[name] = value; + target[name] = value; // eslint-disable-line no-param-reassign } }; diff --git a/package.json b/package.json index dd93c66..ae9f702 100644 --- a/package.json +++ b/package.json @@ -16,12 +16,13 @@ "is": "^3.2.1" }, "devDependencies": { - "@ljharb/eslint-config": "^13.0.0", - "covert": "^1.1.0", - "eslint": "^5.8.0", - "jscs": "^3.0.7", - "safe-publish-latest": "^1.1.2", - "tape": "^4.9.1" + "@ljharb/eslint-config": "^20.1.0", + "aud": "^1.1.5", + "eslint": "^8.6.0", + "in-publish": "^2.0.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^4.14.0" }, "repository": { "type": "git", @@ -35,16 +36,13 @@ ], "main": "index", "scripts": { - "prepublish": "safe-publish-latest", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "lint": "eslint --ext=js,mjs .", "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", "test": "npm run --silent tests-only", - "posttest": "npm run coverage-quiet", - "tests-only": "node test", - "coverage": "covert test/index.js", - "coverage-quiet": "covert test/index.js --quiet", - "lint": "npm run jscs && npm run eslint .", - "jscs": "jscs *.js */*.js", - "eslint": "eslint" + "posttest": "aud --production" }, "engines": { "node": ">=0.4.0"