convert to esm

This commit is contained in:
silverwind 2021-04-20 20:48:48 +02:00
parent 3368076913
commit 1b2f6292bb
Signed by untrusted user: silverwind
GPG Key ID: 2E62B41C93869443
7 changed files with 934 additions and 1101 deletions

@ -2,4 +2,4 @@ root: true
extends: silverwind
ignorePatterns:
- /updates
- /dist/**/*

1
.gitignore vendored

@ -4,3 +4,4 @@
/package-lock.json
/updates
/yarn-error.log
/dist

@ -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

@ -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

@ -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",

@ -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;

1920
yarn.lock

File diff suppressed because it is too large Load Diff