mirror of
https://github.com/webstudio-is/webstudio.git
synced 2025-03-14 09:57:02 +00:00
refactor: migrate curl parse to args-tokenizer (#4628)
Created new package https://github.com/TrySound/args-tokenizer for curl parser. Might be useful in combination with tinyexec.
This commit is contained in:
3
@types/arrgv.d.ts
vendored
3
@types/arrgv.d.ts
vendored
@ -1,3 +0,0 @@
|
||||
declare module "arrgv" {
|
||||
export default function arrgv(input: string): string[];
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
import type { ResourceRequest } from "@webstudio-is/sdk";
|
||||
import arrgv from "arrgv";
|
||||
import { tokenizeArgs } from "args-tokenizer";
|
||||
import { parse as parseArgs } from "ultraflag";
|
||||
|
||||
/*
|
||||
@ -30,15 +30,7 @@ export type CurlRequest = Pick<
|
||||
>;
|
||||
|
||||
export const parseCurl = (curl: string): undefined | CurlRequest => {
|
||||
// remove backslash followed by newline
|
||||
// https://github.com/astur/arrgv/issues/3
|
||||
curl = curl.replaceAll(/\\(?=\s)/g, "");
|
||||
let argv;
|
||||
try {
|
||||
argv = arrgv(curl);
|
||||
} catch {
|
||||
return;
|
||||
}
|
||||
const argv = tokenizeArgs(curl);
|
||||
if (argv.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
@ -75,7 +75,7 @@
|
||||
"@webstudio-is/sdk-components-react-radix": "workspace:*",
|
||||
"@webstudio-is/template": "workspace:*",
|
||||
"@webstudio-is/trpc-interface": "workspace:*",
|
||||
"arrgv": "^1.0.2",
|
||||
"args-tokenizer": "^0.1.0",
|
||||
"bcp-47": "^2.1.0",
|
||||
"change-case": "^5.4.4",
|
||||
"colord": "^2.9.3",
|
||||
|
17
pnpm-lock.yaml
generated
17
pnpm-lock.yaml
generated
@ -292,9 +292,9 @@ importers:
|
||||
'@webstudio-is/trpc-interface':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/trpc-interface
|
||||
arrgv:
|
||||
specifier: ^1.0.2
|
||||
version: 1.0.2
|
||||
args-tokenizer:
|
||||
specifier: ^0.1.0
|
||||
version: 0.1.0
|
||||
bcp-47:
|
||||
specifier: ^2.1.0
|
||||
version: 2.1.0
|
||||
@ -5111,6 +5111,9 @@ packages:
|
||||
argparse@2.0.1:
|
||||
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
|
||||
|
||||
args-tokenizer@0.1.0:
|
||||
resolution: {integrity: sha512-9yDBBeg+2WTmWXJMfdO3efV+VknAL2UlxS7Yxt5e/aYjMW3yDiQhGPuFg+wEuTGN3JxsRL/wjCg0qBDFklyXjw==}
|
||||
|
||||
aria-hidden@1.1.3:
|
||||
resolution: {integrity: sha512-RhVWFtKH5BiGMycI72q2RAFMLQi8JP9bLuQXgR5a8Znp7P5KOIADSJeyfI8PCVxLEp067B2HbP5JIiI/PXIZeA==}
|
||||
engines: {node: '>=8.5.0'}
|
||||
@ -5127,10 +5130,6 @@ packages:
|
||||
array-flatten@1.1.1:
|
||||
resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
|
||||
|
||||
arrgv@1.0.2:
|
||||
resolution: {integrity: sha512-a4eg4yhp7mmruZDQFqVMlxNRFGi/i1r87pt8SDHy0/I8PqSXoUTlWZRdAZo0VXgvEARcujbtTk8kiZRi1uDGRw==}
|
||||
engines: {node: '>=8.0.0'}
|
||||
|
||||
as-table@1.0.55:
|
||||
resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==}
|
||||
|
||||
@ -12008,6 +12007,8 @@ snapshots:
|
||||
|
||||
argparse@2.0.1: {}
|
||||
|
||||
args-tokenizer@0.1.0: {}
|
||||
|
||||
aria-hidden@1.1.3:
|
||||
dependencies:
|
||||
tslib: 1.14.1
|
||||
@ -12027,8 +12028,6 @@ snapshots:
|
||||
|
||||
array-flatten@1.1.1: {}
|
||||
|
||||
arrgv@1.0.2: {}
|
||||
|
||||
as-table@1.0.55:
|
||||
dependencies:
|
||||
printable-characters: 1.0.42
|
||||
|
Reference in New Issue
Block a user