{"id":15746,"library":"osls","title":"OSLS (Open-Source Serverless) Framework","description":"OSLS (Open-Source Serverless) Framework, currently at version 3.63.2, is a community-maintained, open-source fork of the Serverless Framework v3. It acts as a drop-in replacement for users who cannot or choose not to upgrade to Serverless Framework v4. The project primarily focuses on supporting AWS Lambda deployments, offering up-to-date compatibility with new AWS runtimes and bug fixes. It distinguishes itself by being lighter and faster than the original v3, having removed enterprise features (like Serverless Dashboard and Components), auto-updating, and unused dependencies. Maintained by the Bref community, its release cadence involves frequent patch and minor updates to ensure continued compatibility and security. It supports various languages including Node.js, TypeScript, Python, Go, and Java, leveraging an approachable YAML syntax for defining serverless applications and their infrastructure.","status":"active","version":"3.63.2","language":"javascript","source_language":"en","source_url":"https://github.com/oss-serverless/serverless","tags":["javascript","serverless","lambda","aws","amazon","azure","google-cloud","apache-open-whisk","iot","typescript"],"install":[{"cmd":"npm install osls","lang":"bash","label":"npm"},{"cmd":"yarn add osls","lang":"bash","label":"yarn"},{"cmd":"pnpm add osls","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"OSLS is intended for global installation and direct command-line execution, replacing the original `serverless` CLI. Local installations are not automatically picked up unless using `npx` or explicit path.","wrong":"npm install osls\nserverless deploy","symbol":"serverless (CLI)","correct":"npm install -g osls\nserverless deploy"},{"note":"Used for type-checking `serverless.yml` configurations or for programmatic generation of service configurations within TypeScript projects.","wrong":"import { ServerlessConfig } from 'osls';","symbol":"ServerlessConfig (type)","correct":"import type { ServerlessConfig } from 'osls';"},{"note":"This class is primarily used for developing custom plugins, allowing programmatic interaction with the framework's core instance, logging, and configuration within a plugin context.","wrong":"const Serverless = require('osls');\nimport Serverless from 'osls';","symbol":"Serverless (class)","correct":"import { Serverless } from 'osls';"}],"quickstart":{"code":"// serverless.yml\nservice: my-first-osls-app\nframeworkVersion: \"3\"\n\nprovider:\n  name: aws\n  runtime: nodejs20.x\n  region: us-east-1\n  stage: dev\n\nfunctions:\n  hello:\n    handler: handler.hello\n    events:\n      - httpApi:\n          path: /hello\n          method: get\n\n// handler.js\n'use strict';\n\nmodule.exports.hello = async (event) => {\n  return {\n    statusCode: 200,\n    body: JSON.stringify(\n      {\n        message: 'Hello from OSLS!',\n        input: event,\n      },\n      null,\n      2\n    ),\n  };\n};\n\n// --- Terminal Commands ---\nnpm install -g osls\n# Navigate to your project directory\n# cd my-first-osls-app\nserverless deploy --verbose\n# Note the endpoint URL from the deploy output\nserverless invoke --function hello --log\nserverless remove","lang":"typescript","description":"This quickstart demonstrates how to install OSLS globally, define a basic AWS Lambda function with an API Gateway endpoint using `serverless.yml`, deploy it, invoke it, and then remove the deployed resources."},"warnings":[{"fix":"Migrate to Serverless Framework v4 if these features are critical to your workflow, or explore third-party monitoring and management solutions for your serverless applications.","message":"OSLS has removed Serverless Dashboard/Enterprise features. Functionality such as monitoring, debugging, and collaboration tools previously available in the Serverless Dashboard are no longer supported.","severity":"breaking","affected_versions":">=3.0"},{"fix":"Refactor your application to use standard Serverless Framework resources, cloud provider-native constructs (e.g., CloudFormation), or alternative infrastructure-as-code tools.","message":"Support for Serverless Components has been entirely removed in OSLS. Projects relying on Serverless Components will not be deployable with this framework.","severity":"breaking","affected_versions":">=3.0"},{"fix":"Ensure OSLS is installed globally using `npm install -g osls`. Always invoke commands directly via `serverless <command>` after global installation.","message":"OSLS does not automatically use local `serverless` installations found in `node_modules`. It explicitly removes this behavior to prevent accidental execution of different versions.","severity":"gotcha","affected_versions":">=3.0"},{"fix":"Users targeting other cloud providers (e.g., Azure, Google Cloud, Apache OpenWhisk) should use the original Serverless Framework v4 or provider-specific serverless deployment tools.","message":"OSLS is primarily maintained and optimized for AWS Lambda deployments. While the original Serverless Framework supported multiple cloud providers, OSLS's focus is on AWS, with documentation and features tailored for it.","severity":"gotcha","affected_versions":">=3.0"}],"env_vars":null,"last_verified":"2026-04-21T00:00:00.000Z","next_check":"2026-07-20T00:00:00.000Z","problems":[{"fix":"Install OSLS globally using `npm install -g osls`.","cause":"The OSLS CLI is not installed globally or is not accessible in your system's PATH.","error":"serverless: command not found"},{"fix":"Configure your AWS credentials using `serverless config credentials --provider aws --key YOUR_AWS_ACCESS_KEY_ID --secret YOUR_AWS_SECRET_ACCESS_KEY`, or ensure environment variables (`AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`) or a valid AWS profile are set.","cause":"AWS credentials are not correctly configured or are not accessible by the OSLS CLI.","error":"InvalidParameterValueException: Missing required credentials for this provider."},{"fix":"Review the `serverless.yml` file at the specified line and column for incorrect spacing or tabs. YAML requires strict indentation using spaces.","cause":"The `serverless.yml` configuration file contains an indentation error, which is critical for YAML parsing.","error":"YAMLException: bad indentation of a mapping entry (line X, column Y)"}],"ecosystem":"npm"}