{"id":16636773,"url":"https://github.com/takamin/frontup","last_synced_at":"2026-05-07T08:38:28.465Z","repository":{"id":34639678,"uuid":"181291673","full_name":"takamin/frontup","owner":"takamin","description":"A command to upload files to a S3 bucket and create invalidation of AWS CloudFront distribution.","archived":false,"fork":false,"pushed_at":"2023-04-30T21:43:04.000Z","size":467,"stargazers_count":1,"open_issues_count":9,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-15T04:46:56.892Z","etag":null,"topics":["aws","cloudfront","npm","s3","uploader"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/takamin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-14T10:19:23.000Z","updated_at":"2022-02-23T01:10:05.000Z","dependencies_parsed_at":"2022-08-28T12:51:41.361Z","dependency_job_id":null,"html_url":"https://github.com/takamin/frontup","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/takamin%2Ffrontup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/takamin%2Ffrontup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/takamin%2Ffrontup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/takamin%2Ffrontup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/takamin","download_url":"https://codeload.github.com/takamin/frontup/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247271527,"owners_count":20911587,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","cloudfront","npm","s3","uploader"],"created_at":"2024-10-12T06:22:48.005Z","updated_at":"2026-05-07T08:38:28.425Z","avatar_url":"https://github.com/takamin.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"frontup\n=======\n\nA command to upload files to a S3 bucket and create invalidation of AWS\nCloudFront distribution.\n\nThis command needs official AWS-CLI.\nAnd you must setup the profile (~/.aws) to connect for AWS.\n\nCurrently, this command invalidates all content paths after uploading.\n\n## INSTALL\n\n`npm install --global frontup`\n\nor \n\n`npm install --save-dev frontup`\n\nIf the global install fails, once uninstalling might be a solution.\n\n## USAGE\n\n```console\n$ frontup -h\nUsage: frontup [frontup_config_js] [OPTION]\nAWS S3 contents uploader distributed by AWS cloudfront distribution.\n\nPARAMETERS:\n  frontup_config_js (Optional)\n    A configuration filename.\n    Default: \"./frontup.config.js\"\n\nOPTIONS:\n  -n, --dry-run Do not upload any files, but print the files and target keys\n  -v, --version display version\n  -h, --help    display this help\n\nA configuration file must be decalared as a CommonJs module.\nIt must export an object like below.\n\n  module.exports = {\n      \"CloudFrontDistributionId\": \"\u003ccloudfront-distribution-id\u003e\",\n      \"S3BucketName\": \"\u003cs3-bucket-name\u003e\",\n      \"Files\": {\n          \"\u003cdestination-s3-key\u003e\": \"\u003crelative-path-name\u003e\",\n          \"\u003cdestination-s3-key\u003e\": [\n              \"\u003crelative-path-name\u003e\",\n                  .\n                  .\n                  .\n          ],\n          \"\u003cdestination-s3-key\u003e\": {\n              \"path\": \"\u003crelative-path-name\u003e\",\n              \"exclude\": [\n                  \"\u003cregular-expression-to-exclude\u003e\",\n                      .\n                      .\n                      .\n              ],\n          },\n          .\n          .\n          .\n      },\n  };\n\nInstallation: npm install frontup\nRespository:  https://github.com/takamin/frontup\n```\n\nHere is an example of configuration file.\n\n__frontup.config.js__:\n\n```javascript\nmodule.exports = {\n    \"CloudFrontDistributionId\": \"\u003ccloudfront-distribution-id\u003e\",\n    \"S3BucketName\": \"\u003cs3-bucket-name\u003e\",\n    \"Files\": {\n        \"\u003cdestination-s3-key\u003e\": \"\u003crelative-path-name\u003e\",\n        \"\u003cdestination-s3-key\u003e\": [\n            \"\u003crelative-path-name\u003e\",\n                .\n                .\n                .\n        ],\n        \"\u003cdestination-s3-key\u003e\": {\n            \"path\": \"\u003crelative-path-name\u003e\",\n            \"exclude\": [\n                \"\u003cregular-expression-to-exclude\u003e\",\n                    .\n                    .\n                    .\n            ],\n        },\n        .\n        .\n        .\n    },\n};\n```\n\n__`cloudfront-distribution-id`:__\n\nThe id of CloudFront distribution.\n\n__`s3-bucket-name`:__\n\nThe S3 bucket name which the contents published by the ClodFront distribution\nare stored.\n\n__`destination-s3-key`:__\n\nThe destination S3 Key.\nIf this must be a folder key, it should be ended with a slash(`/`).\n\n__`relative-path-name`:__\n\nThe name to upload file or directory.\nThis must be a relative pathname from the current working directory.\n__Do not start with `./`, `../` or `/`__ for the pathname.\n\nIf the pathname is directory, all the files will be uploaded.\n\n__`regular-expression-to-exclude`__\n\nTo exclude specific files, Write regular expressions matching to the excluding\nfile name.\n\n## LICENSE\n\nCopyright (c) 2019 Koji Takami\n\nThis software is released under the [MIT License](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftakamin%2Ffrontup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftakamin%2Ffrontup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftakamin%2Ffrontup/lists"}