{"id":13515954,"url":"https://github.com/simplify-framework/simplify","last_synced_at":"2025-04-09T22:05:53.662Z","repository":{"id":46329061,"uuid":"243235147","full_name":"simplify-framework/simplify","owner":"simplify-framework","description":"Simplify Framework (JavaScript) SDK help developers to provision runtime code as a container or lambda, deploy code in the AWS Cloud or Kubernetes. Using your own, pre-defined, tailored, customized, well-written code to deliver project within itself (True-DevOps).","archived":false,"fork":false,"pushed_at":"2023-04-10T21:13:59.000Z","size":124,"stargazers_count":9,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-09T22:05:43.596Z","etag":null,"topics":["api-gateway","aws","devops","javascript","nodejs","openapi","sdk","simplify-framework"],"latest_commit_sha":null,"homepage":"","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/simplify-framework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"open_collective":"duong-dinh-cuong"}},"created_at":"2020-02-26T10:27:48.000Z","updated_at":"2023-07-30T10:01:25.000Z","dependencies_parsed_at":"2024-01-13T19:25:47.381Z","dependency_job_id":"0d494eea-1b87-456c-b6bb-f5055eaa003b","html_url":"https://github.com/simplify-framework/simplify","commit_stats":{"total_commits":107,"total_committers":5,"mean_commits":21.4,"dds":0.03738317757009346,"last_synced_commit":"a8d8d685bff467a707829e8bab3244c54bb288d9"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplify-framework%2Fsimplify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplify-framework%2Fsimplify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplify-framework%2Fsimplify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplify-framework%2Fsimplify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simplify-framework","download_url":"https://codeload.github.com/simplify-framework/simplify/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248119296,"owners_count":21050755,"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":["api-gateway","aws","devops","javascript","nodejs","openapi","sdk","simplify-framework"],"created_at":"2024-08-01T05:01:17.842Z","updated_at":"2025-04-09T22:05:53.636Z","avatar_url":"https://github.com/simplify-framework.png","language":"JavaScript","funding_links":["https://opencollective.com/duong-dinh-cuong"],"categories":["JavaScript"],"sub_categories":[],"readme":"# Simplify Framework - JavaScript SDK\n  \n![NPM Downloads](https://img.shields.io/npm/dw/simplify-sdk)\n![Package Version](https://img.shields.io/github/package-json/v/simplify-framework/simplify?color=green)\n\n*This is a JavaScript SDK that help DevOps easier by integrating deployment process inline to your code. You will never want to be locked into any vendor for a tool. In FaaS architecture, a function can be very small but a project needs some (3-100) functions to orchestrate a workload. One CI/CD tool for all of them is quite vague to deploy your project when you just need to update one line of a function.*\n\nBy using this SDK, you can breakdown your CI/CD tool as a function. Once again, FaaS concept now being applied for DevOps process. When you are micro focused into a function, a micro CI/CD function is beside of you. You're always feel safe and be efficiency. Simplify CodeGen generates a first code for you. It works well enough until you need to customize for your best fit. Happy OpenSource ￦\n\nTo start, choose one of two serverless models: OpenAPI or GraphQL \n- [simplify-openapi](https://github.com/simplify-framework/openapi)\n- [simplify-graphql](https://github.com/simplify-framework/graphql)\n\n### Simplify - JavaScript SDK ###\n\n`npm install simplify-sdk`\n\n### Deploy for AWS Lambda Configuration: config.json\n\n```Json\n{\n    \"Profile\": \"${DEPLOYMENT_PROFILE}\",\n    \"Region\": \"${DEPLOYMENT_REGION}\",\n    \"Bucket\": {\n        \"Name\": \"${DEPLOYMENT_BUCKET}\",\n        \"Key\": \"builds/${DATE_TODAY}\"\n    },\n    \"Function\": {\n        \"FunctionName\": \"${FUNCTION_NAME}\",\n        \"Handler\": \"index.handler\",\n        \"MemorySize\": 256,\n        \"Publish\": true,\n        \"Role\": \"${FUNCTION_ROLE}\",\n        \"Runtime\": \"nodejs12.x\",\n        \"Tags\": {\n            \"Group\": \"Simplify\"\n        },\n        \"Timeout\": 15,\n        \"TracingConfig\": {\n            \"Mode\": \"PassThrough\"\n        },\n        \"Environment\": {\n            \"Variables\": {\n                \"ENV\": \"development\"\n            }\n        }\n    }\n}\n```\n\n### Deoloy AWS Lambda Function example: main.js\n```Javascript\n'use strict';\nconst path = require('path')\nconst fs = require('fs')\nconst simplify = require('simplify-sdk')\nconst provider = require('simplify-sdk/provider')\n\nconst YOUR_DEPLOYMENT_REGION = \"eu-west-1\"\nconst YOUR_DEPLOYMENT_BUCKET = \"your-deployment-bucket-2873821\"\nconst YOUR_FUNCTION_NAME = \"YourLambdaFunction-1WDRZ5J5OUN5H\"\nconst YOUR_FUNCTION_ROLE = \"arn:aws:iam::01234567890:role/YourLambdaExecutionRole\"\nvar YOUR_FUNCTION_SHA256 = \"LOAD_FROM_OUTPUT_FILE__data.YOUR_FUNCTION_SHA256\"\n\nvar config = simplify.getInputConfig(path.join(__dirname, 'config.json'), {\n    DEPLOYMENT_BUCKET: YOUR_DEPLOYMENT_BUCKET,\n    DEPLOYMENT_REGION: YOUR_DEPLOYMENT_REGION,\n    FUNCTION_NAME: YOUR_FUNCTION_NAME,\n    FUNCTION_ROLE: YOUR_FUNCTION_ROLE\n})\n\nprovider.setConfig(config).then(sessionCreds =\u003e {\n    simplify.uploadDirectoryAsZip({\n        adaptor: provider.getStorage(), ...{\n            bucketKey: config.Bucket.Key,\n            inputDirectory: 'src',\n            outputFilePath: 'dist',\n            hashInfo: { FileSha256: YOUR_FUNCTION_SHA256 }\n        }\n    }).then(uploadInfor =\u003e {\n        simplify.createOrUpdateFunction({\n            adaptor: provider.getFunction(),\n            ...{\n                functionConfig: config.Function,\n                bucketName: config.Bucket.Name,\n                bucketKey: uploadInfor.Key\n            }\n        }).then(function (data) {\n            // Handle data response: save output to file...\n            data.YOUR_FUNCTION_SHA256 = uploadInfor.FileSha256\n            console.log(`Update-Function: ${data}`)\n        }, function(err) {\n            console.error(`Update-ERROR: ${err}`);\n        })\n    }).catch(err =\u003e {\n        console.error(`UploadZip-ERROR: ${err}`);\n    })\n})\n```\n\nThí library curently support for AWS Lambda only.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplify-framework%2Fsimplify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimplify-framework%2Fsimplify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplify-framework%2Fsimplify/lists"}