diff --git a/BUILD.bazel b/BUILD.bazel index e4f53aa15..0fadb0c43 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -273,7 +273,6 @@ npm_link_all_packages( js_binary( name = "generate-style-code-script", data = [ - ":node_modules/argparse", ":node_modules/csscolorparser", ":style-code", ":style-spec", @@ -283,9 +282,6 @@ js_binary( js_binary( name = "generate-shader-code-script", - data = [ - ":node_modules/argparse", - ], entry_point = "shaders/generate_shader_code.mjs", ) diff --git a/package-lock.json b/package-lock.json index ae5151308..ed621e3dc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,10 +22,8 @@ "@mapbox/mapbox-gl-styles": "2.1.1", "@mapbox/mvt-fixtures": "3.10.0", "@octokit/rest": "^20.1.0", - "@types/argparse": "^2.0.16", "@types/ejs": "^3.1.5", "@types/node": "^22.9.0", - "argparse": "^2.0.1", "csscolorparser": "^1.0.3", "ejs": "^3.1.10", "express": "^4.19.2", @@ -2063,13 +2061,6 @@ "node": ">=16.0.0" } }, - "node_modules/@types/argparse": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-2.0.16.tgz", - "integrity": "sha512-aMqBra2JlqpFeCWOinCtpRpiCkPIXH8hahW2+FkGzvWjfE5sAqtOcrjN5DRcMnTQqFDe6gb1CVYuGnBH0lhXwA==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/ejs": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz", @@ -2115,12 +2106,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "node_modules/arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", diff --git a/package.json b/package.json index 37bceb5fe..eb097bb48 100644 --- a/package.json +++ b/package.json @@ -19,10 +19,8 @@ "@mapbox/flow-remove-types": "^2.0.0", "@mapbox/mvt-fixtures": "3.10.0", "@octokit/rest": "^20.1.0", - "@types/argparse": "^2.0.16", "@types/ejs": "^3.1.5", "@types/node": "^22.9.0", - "argparse": "^2.0.1", "csscolorparser": "^1.0.3", "ejs": "^3.1.10", "express": "^4.19.2", diff --git a/platform/darwin/BUILD.bazel b/platform/darwin/BUILD.bazel index 6b19d73d9..7680a0881 100644 --- a/platform/darwin/BUILD.bazel +++ b/platform/darwin/BUILD.bazel @@ -330,7 +330,6 @@ js_binary( data = [ "scripts/style-spec-cocoa-conventions-v8.json", "scripts/style-spec-overrides-v8.json", - "//:node_modules/argparse", "//:node_modules/csscolorparser", "//:node_modules/lodash", "//:style-code", diff --git a/platform/darwin/scripts/generate-style-code.mjs b/platform/darwin/scripts/generate-style-code.mjs index f532739cd..82c6bc4e5 100644 --- a/platform/darwin/scripts/generate-style-code.mjs +++ b/platform/darwin/scripts/generate-style-code.mjs @@ -1,4 +1,4 @@ -import { ArgumentParser } from "argparse"; +import { parseArgs } from "node:util"; import path from "node:path"; import _ from "lodash"; import colorParser from "csscolorparser"; @@ -29,16 +29,16 @@ function setupGlobalEjsHelpers() { setupGlobalEjsHelpers(); // Parse command line -const args = (() => { - const parser = new ArgumentParser({ - description: "MapLibre Shader Tools" - }); - parser.add_argument("--out", "--o", { - help: "Directory root to write generated code.", - required: false - }); - return parser.parse_args(); -})(); +const args = parseArgs({ + options: { + out: { + type: 'string', + short: 'o', + description: 'Directory root to write generated code.' + } + }, + allowPositionals: false +}); const prefix = 'MLN'; const suffix = 'StyleLayer'; diff --git a/platform/node/package-lock.json b/platform/node/package-lock.json index 79ad39806..8c311fc19 100644 --- a/platform/node/package-lock.json +++ b/platform/node/package-lock.json @@ -23,7 +23,6 @@ "@octokit/plugin-retry": "^7.1.0", "@octokit/rest": "^20.1.0", "@types/node": "^22.9.0", - "argparse": "^2.0.1", "csscolorparser": "^1.0.3", "d3-queue": "3.0.7", "diff": "5.2.0", @@ -2353,12 +2352,6 @@ "node": ">=4" } }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "node_modules/array-buffer-byte-length": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", diff --git a/platform/node/package.json b/platform/node/package.json index 95bbb9894..800d07984 100644 --- a/platform/node/package.json +++ b/platform/node/package.json @@ -34,7 +34,6 @@ "@octokit/plugin-retry": "^7.1.0", "@octokit/rest": "^20.1.0", "@types/node": "^22.9.0", - "argparse": "^2.0.1", "csscolorparser": "^1.0.3", "d3-queue": "3.0.7", "diff": "5.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 639742ea7..35603d8db 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,18 +42,12 @@ importers: '@octokit/rest': specifier: ^20.1.0 version: 20.1.2 - '@types/argparse': - specifier: ^2.0.16 - version: 2.0.17 '@types/ejs': specifier: ^3.1.5 version: 3.1.5 '@types/node': specifier: ^22.9.0 version: 22.18.12 - argparse: - specifier: ^2.0.1 - version: 2.0.1 csscolorparser: specifier: ^1.0.3 version: 1.0.3 @@ -572,9 +566,6 @@ packages: resolution: {integrity: sha512-4aUIteuyxtBUhVdiQqcDhKFitwfd9hqoSDYY2KRXiWtgoWJ9Bmise+KfEPDiVHWeJepvF8xJO9/9+WDIciMFFw==} engines: {node: '>=18.0.0'} - '@types/argparse@2.0.17': - resolution: {integrity: sha512-fueJssTf+4dW4HODshEGkIZbkLKHzgu1FvCI4cTc/MKum/534Euo3SrN+ilq8xgyHnOjtmg33/hee8iXLRg1XA==} - '@types/ejs@3.1.5': resolution: {integrity: sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==} @@ -589,9 +580,6 @@ packages: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - array-buffer-byte-length@1.0.2: resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} engines: {node: '>= 0.4'} @@ -2445,8 +2433,6 @@ snapshots: dependencies: tslib: 2.8.1 - '@types/argparse@2.0.17': {} - '@types/ejs@3.1.5': {} '@types/node@22.18.12': @@ -2462,8 +2448,6 @@ snapshots: dependencies: color-convert: 1.9.3 - argparse@2.0.1: {} - array-buffer-byte-length@1.0.2: dependencies: call-bound: 1.0.4 diff --git a/scripts/generate-style-code.mjs b/scripts/generate-style-code.mjs index bc22b257d..9b96cd39e 100644 --- a/scripts/generate-style-code.mjs +++ b/scripts/generate-style-code.mjs @@ -1,4 +1,4 @@ -import { ArgumentParser } from "argparse"; +import { parseArgs } from "node:util"; import * as path from "node:path"; import spec from "./style-spec.mjs"; import colorParser from "csscolorparser"; @@ -7,14 +7,17 @@ import { camelize, camelizeWithLeadingLowercase, readAndCompile, writeIfModified // Parse command line const args = (() => { - const parser = new ArgumentParser({ - description: "MapLibre Shader Tools" + const { values } = parseArgs({ + args: process.argv.slice(2), + options: { + out: { + type: 'string', + short: 'o' + } + }, + allowPositionals: false }); - parser.add_argument("--out", "--o", { - help: "Directory root to write generated code.", - required: false - }); - return parser.parse_args(); + return values; })(); function parseCSSColor(/** @type {string} **/ str) { diff --git a/shaders/generate_shader_code.mjs b/shaders/generate_shader_code.mjs index 78e97f301..7e7873ca3 100644 --- a/shaders/generate_shader_code.mjs +++ b/shaders/generate_shader_code.mjs @@ -1,6 +1,6 @@ console.log("Generating shaders..."); -import { ArgumentParser } from "argparse"; +import { parseArgs } from "node:util"; import path from "node:path"; import fs from "node:fs"; @@ -194,25 +194,26 @@ const strip = (source) => { }; // Parse command line -const args = (() => { - const parser = new ArgumentParser({ - description: "MapLibre Shader Tools" - }); - parser.add_argument("--out", "--o", { - help: "Directory root to write generated code.", - required: false - }); - parser.add_argument("--compress", "--c", { - help: "Compress shader text with zlib and output byte arrays instead of strings", - required: false - }); - parser.add_argument("--strip", "--s", { - help: "Strip comments, new lines and whitespace", - required: false, - action: "store_true" - }); - return parser.parse_args(); -})(); +const args = parseArgs({ + options: { + out: { + type: 'string', + short: 'o', + description: 'Directory root to write generated code.' + }, + compress: { + type: 'string', + short: 'c', + description: 'Compress shader text with zlib and output byte arrays instead of strings' + }, + strip: { + type: 'boolean', + short: 's', + description: 'Strip comments, new lines and whitespace' + } + }, + allowPositionals: false +}); // Generate shader source headers