{"id":20618169,"url":"https://github.com/oawu/npm-uploader","last_synced_at":"2026-02-18T04:36:42.731Z","repository":{"id":57132669,"uuid":"331847604","full_name":"oawu/npm-uploader","owner":"oawu","description":"針對指定的目錄，將內容上傳至 AWS 或 GitHub Pages","archived":false,"fork":false,"pushed_at":"2025-04-11T03:20:25.000Z","size":60,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-17T20:44:15.048Z","etag":null,"topics":["aws","aws-s3","gh-pages","github","nodejs","npm","s3","uploader"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oawu.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-01-22T05:38:17.000Z","updated_at":"2025-04-11T03:20:26.000Z","dependencies_parsed_at":"2025-01-17T04:46:42.987Z","dependency_job_id":"a7154c04-e4d9-487b-89ab-2d958da4e4b1","html_url":"https://github.com/oawu/npm-uploader","commit_stats":null,"previous_names":["comdan66/node-uploader"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/oawu/npm-uploader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oawu%2Fnpm-uploader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oawu%2Fnpm-uploader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oawu%2Fnpm-uploader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oawu%2Fnpm-uploader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oawu","download_url":"https://codeload.github.com/oawu/npm-uploader/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oawu%2Fnpm-uploader/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29568744,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T04:18:28.490Z","status":"ssl_error","status_checked_at":"2026-02-18T04:13:49.018Z","response_time":162,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-s3","gh-pages","github","nodejs","npm","s3","uploader"],"created_at":"2024-11-16T12:07:27.981Z","updated_at":"2026-02-18T04:36:37.723Z","avatar_url":"https://github.com/oawu.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OA's Upload\n\n上傳無上限，不管是 S3 或 GitHub ☁️\n\n\n## 說明\n針對指定的目錄，將內容上傳至 [AWS S3](https://aws.amazon.com/tw/s3/) 或 [GitHub Pages](https://pages.github.com/)\n\n## 安裝\n\n```shell\nnpm install @oawu/uploader\n```\n\n\n## 使用\n\n引入 `require('@oawu/uploader')` 並選擇要上的平台，如下 S3 範例：\n\n```javascript\n  const { S3 } = require('@oawu/uploader')\n\n  const destDir = '/.../dir/'\n\n  const s3 = S3(destDir, {\n    bucket: '',\n    access: '',\n    secret: '',\n    region: ''\n  })\n\n  s3.execute(step, error =\u003e {\n    // Error or Success\n  })\n```\n\n\u003e execute 當有帶入 callback 時，會變成同步，反之則會變成非同步(async)\n\n### 共用參數\n\n* `destDir` ─ 上傳的目錄，此為 **必填**\n* `prefix` ─ 前綴路徑，此為 `''`\n* `ignoreNames` ─ 忽略的檔案名稱(主檔名＋副檔名)，預設 `[]`\n* `ignoreExts` ─ 忽略的副檔名，預設 `[]`\n* `ignoreDirs` ─ 忽略的目錄名稱，預設 `[]`\n\n### S3 參數\n\n* `bucket` ─ S3 的 **Bucket** 名稱，此為 **必填**\n* `access` ─ S3 的 **Access** Key，此為 **必填**\n* `secret` ─ S3 的 **Secret** Key，此為 **必填**\n* `region` ─ S3 的 **Region** Key，此為 **必填**\n* `option` ─ 上傳 S3 時要的參數，可參考 [`aws-sdk`](https://aws.amazon.com/tw/sdk-for-node-js/)，預設 `{}`\n\n### Github 參數\n\n* `account` ─ GitHub 上的帳號，此為 **必填**\n* `repository` ─ GitHub 上的倉庫，此為 **必填**\n* `branch` ─ GitHub 上的 pages 分支，預設 `gh-pages`\n* `message` ─ 紀錄時的文字訊息，預設 `🚀 部署！`\n\n\u003e 使用 Github 時，請先確保您的終端機可以正常 Push Git\n\n以下為 GitHub 範例：\n\n```javascript\n  const { GitHub } = require('@oawu/uploader')\n\n  const destDir = '/.../dir/'\n\n  const gitHub = GitHub(destDir, {\n    account: '',\n    repository: '',\n    isDisplay: true\n  })\n\n  gitHub.execute(step, error =\u003e {\n    // Error or Success\n  })\n```\n\n## step 為每一步驟的 callback，其格式如下：\n\n```\n async function(string, async function(setter));\n```\n\nsetter 格式如下：\n\n```\n{\n  total: _ =\u003e { }, // 數量\n  advance: _ =\u003e { }, // 進度\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foawu%2Fnpm-uploader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foawu%2Fnpm-uploader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foawu%2Fnpm-uploader/lists"}