convert to esm
This commit is contained in:
parent
3368076913
commit
1b2f6292bb
@ -2,4 +2,4 @@ root: true
|
||||
extends: silverwind
|
||||
|
||||
ignorePatterns:
|
||||
- /updates
|
||||
- /dist/**/*
|
||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,3 +4,4 @@
|
||||
/package-lock.json
|
||||
/updates
|
||||
/yarn-error.log
|
||||
/dist
|
||||
|
10
Makefile
10
Makefile
@ -1,3 +1,5 @@
|
||||
NODE_OPTIONS=--experimental-vm-modules --no-warnings
|
||||
|
||||
node_modules: yarn.lock
|
||||
@yarn -s --pure-lockfile
|
||||
@touch node_modules
|
||||
@ -14,15 +16,17 @@ unittest: node_modules
|
||||
yarn -s run jest --color --watchAll
|
||||
|
||||
build: node_modules
|
||||
yarn -s run ncc build updates.js -q -m -o .
|
||||
@mv index.js updates
|
||||
yarn -s run ncc build updates.js -q -m -o dist
|
||||
@mv dist/index.js dist/updates.cjs
|
||||
@rm -rf dist/updates
|
||||
@chmod +x dist/updates.cjs
|
||||
|
||||
publish: node_modules
|
||||
git push -u --tags origin master
|
||||
npm publish
|
||||
|
||||
update: node_modules build
|
||||
node updates -cu
|
||||
node dist/updates.cjs -cu
|
||||
@rm yarn.lock
|
||||
@yarn -s
|
||||
@touch node_modules
|
||||
|
35
package.json
35
package.json
@ -5,9 +5,10 @@
|
||||
"author": "silverwind",
|
||||
"repository": "silverwind/updates",
|
||||
"license": "BSD-2-Clause",
|
||||
"bin": "./updates",
|
||||
"bin": "./dist/updates.js",
|
||||
"type": "module",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
"node": ">= 12.20.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "make test"
|
||||
@ -23,35 +24,35 @@
|
||||
"packages"
|
||||
],
|
||||
"files": [
|
||||
"updates"
|
||||
"dist"
|
||||
],
|
||||
"devDependencies": {
|
||||
"@vercel/ncc": "0.27.0",
|
||||
"ansi-regex": "5.0.0",
|
||||
"@babel/core": "7.13.16",
|
||||
"@vercel/ncc": "0.28.3",
|
||||
"ansi-regex": "6.0.0",
|
||||
"del": "6.0.0",
|
||||
"eslint": "7.21.0",
|
||||
"eslint-config-silverwind": "29.0.0",
|
||||
"eslint": "7.24.0",
|
||||
"eslint-config-silverwind": "32.2.1",
|
||||
"execa": "5.0.0",
|
||||
"fetch-enhanced": "5.0.1",
|
||||
"hosted-git-info": "3.0.8",
|
||||
"jest": "26.6.3",
|
||||
"fetch-enhanced": "6.0.0",
|
||||
"hosted-git-info": "4.0.2",
|
||||
"jest": "27.0.0-next.8",
|
||||
"jest-extended": "0.11.5",
|
||||
"minimist": "1.2.5",
|
||||
"node-fetch": "2.6.1",
|
||||
"rc": "1.2.8",
|
||||
"registry-auth-token": "4.2.1",
|
||||
"restana": "4.8.1",
|
||||
"semver": "7.3.4",
|
||||
"semver": "7.3.5",
|
||||
"server-destroy": "1.0.1",
|
||||
"tempy": "1.0.0",
|
||||
"tempy": "1.0.1",
|
||||
"text-table": "0.2.0",
|
||||
"versions": "8.4.4"
|
||||
"versions": "8.4.5"
|
||||
},
|
||||
"jest": {
|
||||
"verbose": false,
|
||||
"setupFilesAfterEnv": ["jest-extended"],
|
||||
"testTimeout": 60000,
|
||||
"setupFilesAfterEnv": [
|
||||
"jest-extended"
|
||||
]
|
||||
"transform": {},
|
||||
"verbose": false
|
||||
}
|
||||
}
|
||||
|
25
test.js
25
test.js
@ -1,17 +1,18 @@
|
||||
"use strict";
|
||||
import del from "del";
|
||||
import execa from "execa";
|
||||
import restana from "restana";
|
||||
import tempy from "tempy";
|
||||
import {join, resolve, dirname} from "path";
|
||||
import fs, {readFileSync} from "fs";
|
||||
import enableDestroy from "server-destroy";
|
||||
import {fileURLToPath} from "url";
|
||||
|
||||
const del = require("del");
|
||||
const execa = require("execa");
|
||||
const restana = require("restana");
|
||||
const tempy = require("tempy");
|
||||
const {join} = require("path");
|
||||
const {writeFile, readFile} = require("fs").promises;
|
||||
const enableDestroy = require("server-destroy");
|
||||
|
||||
const testFile = "./fixtures/test.json";
|
||||
const testPkg = require(testFile);
|
||||
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||
const {writeFile, readFile} = fs.promises;
|
||||
const testFile = resolve(__dirname, "fixtures/test.json");
|
||||
const testPkg = JSON.parse(readFileSync(testFile, "utf8"));
|
||||
const testDir = tempy.directory();
|
||||
const script = join(__dirname, "updates");
|
||||
const script = join(__dirname, "dist/updates.cjs");
|
||||
|
||||
const dependencyTypes = [
|
||||
"dependencies",
|
||||
|
42
updates.js
42
updates.js
@ -1,20 +1,21 @@
|
||||
#!/usr/bin/env node
|
||||
const ansiRegex = require("ansi-regex");
|
||||
const dns = require("dns");
|
||||
const fetchEnhanced = require("fetch-enhanced");
|
||||
const minimist = require("minimist");
|
||||
const nodeFetch = require("node-fetch");
|
||||
const rat = require("registry-auth-token");
|
||||
const rc = require("rc");
|
||||
const ru = require("registry-auth-token/registry-url");
|
||||
const semver = require("semver");
|
||||
const textTable = require("text-table");
|
||||
const {cwd: cwdFn, stdout, argv, env, exit} = require("process");
|
||||
const {fromUrl} = require("hosted-git-info");
|
||||
const {join, dirname} = require("path");
|
||||
const {lstatSync, readFileSync, truncateSync, writeFileSync, accessSync} = require("fs");
|
||||
const {platform} = require("os");
|
||||
const {version} = require("./package.json");
|
||||
|
||||
import ansiRegex from "ansi-regex";
|
||||
import dns from "dns";
|
||||
import fetchEnhanced from "fetch-enhanced";
|
||||
import minimist from "minimist";
|
||||
import nodeFetch from "node-fetch";
|
||||
import rat from "registry-auth-token";
|
||||
import rc from "rc";
|
||||
import ru from "registry-auth-token/registry-url.js";
|
||||
import semver from "semver";
|
||||
import textTable from "text-table";
|
||||
import {cwd as cwdFn, stdout, argv, env, exit} from "process";
|
||||
import {fromUrl} from "hosted-git-info";
|
||||
import {join, dirname, resolve} from "path";
|
||||
import {lstatSync, readFileSync, truncateSync, writeFileSync, accessSync} from "fs";
|
||||
import {platform} from "os";
|
||||
import {fileURLToPath} from "url";
|
||||
|
||||
const fetch = fetchEnhanced(nodeFetch);
|
||||
|
||||
@ -172,6 +173,7 @@ if (args.help) {
|
||||
}
|
||||
|
||||
if (args.version) {
|
||||
const {version} = JSON.parse(readFileSync(resolve(dirname(fileURLToPath(import.meta.url)), "package.json"), "utf8"));
|
||||
console.info(version);
|
||||
exit(0);
|
||||
}
|
||||
@ -249,13 +251,9 @@ try {
|
||||
finish(new Error(`Error parsing package.json: ${err.message}`));
|
||||
}
|
||||
|
||||
function flat(arr) {
|
||||
return [].concat(...arr);
|
||||
}
|
||||
|
||||
let include, exclude;
|
||||
if (args.include && args.include !== true) include = new Set(flat((Array.isArray(args.include) ? args.include : [args.include]).map(item => item.split(","))));
|
||||
if (args.exclude && args.exclude !== true) exclude = new Set(flat((Array.isArray(args.exclude) ? args.exclude : [args.exclude]).map(item => item.split(","))));
|
||||
if (args.include && args.include !== true) include = new Set(((Array.isArray(args.include) ? args.include : [args.include]).map(item => item.split(","))).flat());
|
||||
if (args.exclude && args.exclude !== true) exclude = new Set(((Array.isArray(args.exclude) ? args.exclude : [args.exclude]).map(item => item.split(","))).flat());
|
||||
|
||||
function canInclude(name) {
|
||||
if (exclude && exclude.has(name)) return false;
|
||||
|
Loading…
Reference in New Issue
Block a user