Skip to content

Conversation

@Zhengqbbb
Copy link

@Zhengqbbb Zhengqbbb commented Jul 17, 2024

#348

I'm glad you can let me feel free do this work.

After some consideration, I think it would be more straightforward to directly include the CLI bundle file in the @resvg/resvg-js project and add a bin file. This way, CLI can directly use the core functions in ./index.js with the transform options:

  1. It's like adding a bin entry file in @resvg/resvg-js. bin => cli.js => parse options => index.js
  2. The CLI bundle file size is 24.6KB. View npm:publish-code.
  3. After downloading @resvg/resvg-js, users can directly call the CLI in their projects using yarn resvg-js or pnpm resvg-js.

I would like to hear your opinion. If you have any other ideas, feel free to tell me.
monorepo or create a new repo. IMO, placing it in the project as a separate file that can be called will not impact the main program's operation, and it will maintain uniformity in future maintenance and version control.


Next plan:

  • js or ts (I would like to hear your opinion. Initially, I found that index.js was written in JavaScript, but later the wasm was written in TypeScript.🫣)
  • Add test for cli/option.js. ensure CLI options can be transform ResvgOptions
  • README add usage

I released a pre-release version for testing, welcome to experience it

bunx @qbbsh/resvg-js -h
# or
npx @qbbsh/resvg-js -h

Base usage

base-usage.mp4

Advanced Usage pipeline

Use imagemagick to convert directly to webp format via pipeline. It can be used with other CLI tools for image cropping, conversion, editing ...

curl https://raw.githubusercontent.com/yisibl/resvg-js/main/example/text.svg | \
    npx @qbbsh/resvg-js --background "#fff" - | \
    magick  - webp:output.webp

magick output.webp -verbose info: | head
with-imagemagick.mp4

@vercel
Copy link

vercel bot commented Jul 17, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
resvg-js ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 23, 2024 3:57pm

@yisibl
Copy link
Member

yisibl commented Aug 12, 2024

I sincerely appreciate your contribution to the resvg-js ecosystem, but since this is a rust-oriented project, I'd like the CLI to be in a separate repository.

I can add you to the @resvg npm group and if you want, we can release @resvg/resvg-js-cli.

@Zhengqbbb
Copy link
Author

I sincerely appreciate your contribution to the resvg-js ecosystem, but since this is a rust-oriented project, I'd like the CLI to be in a separate repository.

I can add you to the @resvg npm group and if you want, we can release @resvg/resvg-js-cli.

Thanks !!! and how do I publish to @resvg org or add @resvg team?
My npm: https://www.npmjs.com/~qbb.sh

Zhengqbbb added a commit to Zhengqbbb/resvg-js-cli that referenced this pull request Aug 24, 2024
@yisibl yisibl force-pushed the main branch 2 times, most recently from 15dd771 to 34c1451 Compare January 9, 2026 09:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants