Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
c633535
feat: cloudinary api wrappers and image optimization flow
weaponsforge Aug 17, 2026
3febe45
chore: delete resources in manager
weaponsforge Aug 17, 2026
59608a0
fix: public id name
weaponsforge Aug 18, 2026
3aebe0d
docs: add comments
weaponsforge Aug 18, 2026
8fad125
chore: use transformation types from cloudinary
weaponsforge Aug 18, 2026
a206dd5
chore: remove unused types
weaponsforge Aug 18, 2026
08c196f
fix: image download in provided localDestination
weaponsforge Aug 18, 2026
c5dd235
chore: use custom extension in image download
weaponsforge Aug 18, 2026
1b685bf
docs: installation and usage guide
weaponsforge Aug 18, 2026
5fc693e
perf: optimize custom parseArgs parsing
weaponsforge Aug 18, 2026
010a975
feat: use native parseArgs in the optimize script
weaponsforge Aug 18, 2026
b15d455
chore: commit .env.example
weaponsforge Aug 18, 2026
6966be1
chore: add sample assets
weaponsforge Aug 18, 2026
6cbb1af
feat: build production image
weaponsforge Aug 18, 2026
e65b4bf
Merge pull request #1 from weaponsforge/feat/cloudinary-scripts
weaponsforge Aug 18, 2026
11c908f
chore: run lint tests in gh actions
weaponsforge Aug 18, 2026
43fdf59
Merge pull request #2 from weaponsforge/feat/gh-actions
weaponsforge Aug 18, 2026
6c1bd58
chore: remove unused import
weaponsforge Aug 18, 2026
a7a7500
chore: rename dev container
weaponsforge Aug 18, 2026
a8f7753
feat: prepare app for publish to npm registry
weaponsforge Aug 18, 2026
2844198
docs: update npx usage
weaponsforge Aug 18, 2026
d2f9ed1
feat: publish to npm registry on new releases
weaponsforge Aug 18, 2026
c7ab802
chore: include license and readme published npm files
weaponsforge Aug 18, 2026
67bf1c4
docs: internal link to code samples
weaponsforge Aug 18, 2026
3324665
Merge pull request #3 from weaponsforge/feat/npm-registry
weaponsforge Aug 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Bug Report
description: Create a bug report
labels: ['bug']
body:
- type: markdown
attributes:
value: |
Before opening a new issue:

- Do a search of existing issues.
- Pull the latest updates from this repository's `dev` branch.

- type: textarea
attributes:
label: To Reproduce
description: A step-by-step description of how to reproduce the issue, or a link to the reproducible repository.
placeholder: |
1. Start the application in development (npm run dev -- -f ./assets/suns.jpg -u)
2. Press enter
3. An error appears: "[ERROR] [CLOUD-IMAGE-UPLOAD] [UPLOAD] ENOENT: no such file or directory, open 'C:\lab\image-transformer\app\assets\suns.jpg'"
validations:
required: true

- type: textarea
attributes:
label: Current vs. Expected behavior
description: A clear and concise description of what the bug is, and what you expected to happen.
placeholder: 'Following the steps from the previous section, I expected A to happen, but I observed B instead'
validations:
required: true

- type: textarea
attributes:
label: Provide environment information
description: Please run `npm run info` in the root directory of your project and paste the results.
render: bash
placeholder: |
Node version: v24.11.0
Platform: win32
Arch: x64
V8 version: 13.6.233.10-node.28
npm version: 11.6.1
validations:
required: true

- type: dropdown
attributes:
label: Which area(s) are affected? (Select all that apply)
multiple: true
options:
- 'Not sure'
- 'CLI/NPM scripts usage'
- 'Cloudinary credentials'
- 'Image input/output'
- 'Docker'
- 'Others'
validations:
required: true

- type: textarea
attributes:
label: Additional context
description: |
Any extra information that might help us investigate.
placeholder: |
I tested my reproduction against different `cloudinary` releases, and the first one that introduced the bug was "v2.9.0", since reverting to "v2.10.0" works.
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Feature Request
description: Suggest a new feature or improvement to the project
labels: ['enhancement']
body:
- type: textarea
attributes:
label: What problem will this feature address?
description: A clear and concise description of what the problem is.
placeholder: |
I'm always frustrated when I can't do X
validations:
required: true

- type: textarea
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.
placeholder: Add X to the core
validations:
required: true

- type: textarea
attributes:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered.
placeholder: |
Maybe use Y as a workaround?
validations:
required: true

- type: textarea
attributes:
label: Additional context
description: Add any other context or screenshots about the feature request here.
validations:
required: false
24 changes: 24 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
## Summary
<!-- Provide a short summary of your changes and the motivation behind them. -->

## Related Issues
<!-- List any related issues, e.g. Fixes #123 or Closes #456 -->

## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Refactor
- [ ] Documentation
- [ ] Other (please describe):

## Checklist
- [ ] I have tested my changes locally
- [ ] I have linked relevant issues
- [ ] I have added screenshots for UI changes (if applicable)

## Screenshots (if applicable)
<!-- Add before/after screenshots or GIFs here -->

## Additional Context
<!-- Add any other context or information about the PR here -->
72 changes: 72 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Deploy Release

# This workflow will trigger on any tag/release created from the `main` branch
on:
release:
types: [published]

jobs:
lint-test-app:
name: Lint and Test App
if: github.event.release.target_commitish == 'main'
runs-on: ubuntu-latest
permissions:
checks: write
pull-requests: write
steps:
- name: Checkout the repository
uses: actions/checkout@v6

- name: Use NodeJS v24.11.0
uses: actions/setup-node@v6
with:
node-version: 24.11.0
registry-url: https://registry.npmjs.org/

- name: Install Dependencies
run: |
cd app
npm ci

- name: Lint
run: |
cd app
npm run lint

- name: Check types
run: |
cd app
npm run types:check

publish-npm:
name: Publish to NPM registry
if: github.event.release.target_commitish == 'main'
needs: [lint-test-app]
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- name: Checkout the repository
uses: actions/checkout@v6
with:
ref: ${{ github.event.release.tag_name }}

- name: Use NodeJS v24.11.0
uses: actions/setup-node@v6
with:
node-version: 24.11.0
registry-url: https://registry.npmjs.org/

- name: Build distribution package
run: |
cd app
npm ci
npm run build

- name: Publish package
run: |
cp LICENSE app/
cp docs/README_NPM.md app/README.md
cd app
npm publish --provenance --access public
35 changes: 35 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Run CI Tests

on:
push:
branches-ignore:
- main

jobs:
lint-app:
name: Lint App
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v6

- name: Use NodeJS v24.11.0
uses: actions/setup-node@v6
with:
node-version: 24.11.0
registry-url: https://registry.npmjs.org/

- name: Install Dependencies
run: |
cd app
npm ci

- name: Lint
run: |
cd app
npm run lint

- name: Check types
run: |
cd app
npm run types:check
17 changes: 17 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "attach",
"name": "Attach to Docker",
"port": 9229,
"address": "localhost",
"localRoot": "${workspaceFolder}/app",
"remoteRoot": "/opt/app"
},
]
}
Loading