{"id":33139136,"url":"https://github.com/hdngr/sriracha","last_synced_at":"2026-02-01T10:37:16.876Z","repository":{"id":57368618,"uuid":"44585925","full_name":"hdngr/sriracha","owner":"hdngr","description":"A super spicy admin backend for Express and Mongoose.","archived":false,"fork":false,"pushed_at":"2016-07-24T04:36:39.000Z","size":1173,"stargazers_count":150,"open_issues_count":13,"forks_count":20,"subscribers_count":6,"default_branch":"master","last_synced_at":"2026-01-24T04:21:35.031Z","etag":null,"topics":[],"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/hdngr.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":"Contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-20T06:12:26.000Z","updated_at":"2025-09-14T11:10:27.000Z","dependencies_parsed_at":"2022-09-05T19:20:30.900Z","dependency_job_id":null,"html_url":"https://github.com/hdngr/sriracha","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/hdngr/sriracha","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hdngr%2Fsriracha","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hdngr%2Fsriracha/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hdngr%2Fsriracha/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hdngr%2Fsriracha/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hdngr","download_url":"https://codeload.github.com/hdngr/sriracha/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hdngr%2Fsriracha/sbom","scorecard":{"id":458845,"data":{"date":"2025-08-11","repo":{"name":"github.com/hdngr/sriracha","commit":"f77d9fc8a7ff1ffdefa7462342b542159f6cad24"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-19T10:32:43.055Z","repository_id":57368618,"created_at":"2025-08-19T10:32:43.055Z","updated_at":"2025-08-19T10:32:43.055Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28976333,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T09:57:52.632Z","status":"ssl_error","status_checked_at":"2026-02-01T09:57:49.143Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":[],"created_at":"2025-11-15T12:00:23.993Z","updated_at":"2026-02-01T10:37:16.868Z","avatar_url":"https://github.com/hdngr.png","language":"JavaScript","funding_links":[],"categories":["中间件","📦 Legacy \u0026 Inactive Projects"],"sub_categories":[],"readme":"# Sriracha\nA super spicy admin backend for Express and Mongoose.\n\n![Image of Sriracha](_img/sriracha.jpg)\n\n  [![Build Status](https://travis-ci.org/hdngr/sriracha.svg?branch=master)](https://travis-ci.org/hdngr/sriracha)\n  [![Coverage Status](https://coveralls.io/repos/hdngr/sriracha/badge.svg?branch=master\u0026service=github)](https://coveralls.io/github/hdngr/sriracha?branch=master)\n  [![Dependency Status](https://david-dm.org/hdngr/sriracha.svg)](https://david-dm.org/hdngr/sriracha)\n  [![devDependency Status](https://david-dm.org/hdngr/sriracha/dev-status.svg)](https://david-dm.org/hdngr/sriracha#info=devDependencies)\n  [![npm version](https://badge.fury.io/js/sriracha.svg)](https://badge.fury.io/js/sriracha)\n\nSriracha is an Express app that can be mounted as middleware to any url in your application.  The admin site's routes and editing interface are generated dynamically based on your Mongoose Models.  Options are available to control the look and feel of the admin site.\n\n## Quick Start\n1. Install Sriracha:\n\n  ```\n  npm install --save sriracha\n  ```\n\n2. Include Sriracha in your express app and mount it to a url.\n\n  ```\n  var express = require('express');\n  var admin = require('sriracha');\n\n  app = express();\n  ...\n  app.use('/admin', admin());\n  ```\n\n3. Login with username `admin` and password `admin`.\n\n  Sriracha is running at `yourapp/admin`!\n\n![Image of Sriracha Landing Page](_img/landing.png)\n\n## Setting Options Globally\nOptions can be set globally through the options object passed to the middleware.\n\n  ```\n  var options = {...};\n  app.use('/admin', admin(options));\n  ```\n\n**username**\u003cbr\u003e\n*default*: `'admin'` User name used to access admin backend.\n\n**password**\u003cbr\u003e\n*default*: `'admin'` Password used to access the admin backend.\n\n**hideFields**:\u003cbr\u003e\n*default*: `['_id', '_v']` Fields that are hidden in all documents and collections.\n\n**\\\u003ccollection\\\u003e.searchField**:\u003cbr\u003e\n*default*: `undefined` Sriracha implements a simple (for now) autocomplete query against the specified field.\n\nFor instance, to search against the *email* field in the *User* model, you would supply the following option:\n\n```\nvar options = {\n...,\nUser: {\n  searchField: 'email'\n}\n...\n}\n```\n\n**\\\u003ccollection\\\u003e.admin**\u003cbr\u003e\n*default*: `undefined` A setting of false will hide this field from the admin.\n\n## Field Types\nField types are set automatically by Sriracha based on the Mongo schema type.  However, they can also be customized.  Using the 'adminFieldType' option.  See the [setting options on a schema](#setting-options-on-a-schema) for examples of how to set custom field types.\n\n Sriracha currently supports the following field types:\n\n **text**\u003cbr\u003e\n*default*: String and ObjectId schema types.\nA simple string input field.\n\n![text field](_img/fields/text.png)\n\n**textarea**\u003cbr\u003e\n*default*: none\nThe text area field allows easy inline editing of larger portions of text.  The textarea field uses [TinyMCE](https://www.tinymce.com/) and stores it's results as HTML.\n\n![textarea field](_img/fields/textarea.png)\n\n**date**\u003cbr\u003e\n*default*: Date schema type.\nA date picker field using the [datepicker jquery plugin](https://eonasdan.github.io/bootstrap-datetimepicker).\n\n![date field](_img/fields/date.png)\n\n**array**\u003cbr\u003e\n*default*: Array schema type.\nAn input that accepts a comma separated list of values.\n\n![date field](_img/fields/array.png)\n\n**checkbox**\u003cbr\u003e\n*default*: Boolean schema type.\nA checkbox that setts a boolean field to `true` or `false.`\n\n**ref**\u003cbr\u003e\n*default*: Reference to other documents.\nAn input of tags representing references to other documents.\n\n![date field](_img/fields/ref.png)\n\n## Setting Options on a Schema\nAll `\u003ccollection\u003e` level options can be set on an individual schema as well. They will take precedence over the same options if they are also defined globally.  \n\nTo set schema level options, provide the option, prefixed with `admin`.\n\nFor example, the following schema would set the `lastName` to the search field for users, and would hide the `email` and `onboarding.signupDate` fields.\n\n  ```\n  ...\n  var Schema = mongoose.Schema;\n\n  var UserSchema = new Schema({\n    lastName: {\n      type: String,\n      default: '',\n      adminSearchField: true\n    },\n    ...,\n    email: {\n      type: String,\n      admin: false\n    }\n    onboarding: {\n      signupDate: {\n        type: Date,\n        admin: false\n      },\n      hasLoggedIn: {\n        type: Boolean,\n        default: false\n      }\n    },\n  });\n  ...\n  ```\n\n\n## Examples\nExamples can be found in the `./examples` directory.  To run them:\n\n```\ngit clone \u003cthis-repo-or-your-fork\u003e\ncd \u003cthis-repo-or-your-fork\u003e\nnpm install\n# run the app with simple setup\ngulp simple\n# run the app with advanced setup\ngulp advanced\n```\n\n## Contributing\nContributing is anything from filing bugs, to requesting new features, to building features and their tests.  Read the [Contributing](./Contributing.md) doc to find out more.\n\n## Acknowledgments\nThanks [Iron Summit Media Strategies](http://www.ironsummitmedia.com/) for the awesome [Start Bootstrap Themes](http://startbootstrap.com/).\n\nSiracha started with [SB Admin](http://startbootstrap.com/template-overviews/sb-admin/) and I used [Jade Converter](http://html2jade.org/) to turn it into Jade.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhdngr%2Fsriracha","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhdngr%2Fsriracha","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhdngr%2Fsriracha/lists"}