{"id":23138346,"url":"https://github.com/deployable/node-deployable-assets","last_synced_at":"2026-04-08T16:31:03.702Z","repository":{"id":57107579,"uuid":"79504916","full_name":"deployable/node-deployable-assets","owner":"deployable","description":":scroll: Web asset build pipeline and API using gulp, sass, babel","archived":false,"fork":false,"pushed_at":"2017-08-13T09:30:12.000Z","size":143,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-15T18:52:34.556Z","etag":null,"topics":["babel","bootstrap","gulp-tasks","nodejs","sass","webpack"],"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/deployable.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":"2017-01-19T23:18:10.000Z","updated_at":"2017-02-23T03:58:16.000Z","dependencies_parsed_at":"2022-08-20T17:11:23.980Z","dependency_job_id":null,"html_url":"https://github.com/deployable/node-deployable-assets","commit_stats":null,"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"purl":"pkg:github/deployable/node-deployable-assets","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deployable%2Fnode-deployable-assets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deployable%2Fnode-deployable-assets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deployable%2Fnode-deployable-assets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deployable%2Fnode-deployable-assets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deployable","download_url":"https://codeload.github.com/deployable/node-deployable-assets/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deployable%2Fnode-deployable-assets/sbom","scorecard":{"id":334933,"data":{"date":"2025-08-11","repo":{"name":"github.com/deployable/node-deployable-assets","commit":"328f7efe3e868e9322f62ed10112703a613f7fad"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.7,"checks":[{"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":"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":"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":"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":"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":"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":"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":"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"}},{"name":"Vulnerabilities","score":0,"reason":"85 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-8w4h-3cm3-2pm2","Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-3mgp-fx93-9xv5","Warn: Project is vulnerable to: GHSA-4p24-vmcr-4gqj","Warn: Project is vulnerable to: GHSA-7mvr-5x2g-wfc8","Warn: Project is vulnerable to: GHSA-ph58-4vrj-w6hr","Warn: Project is vulnerable to: GHSA-9v3m-8fp8-mj99","Warn: Project is vulnerable to: GHSA-9mvj-f7w8-pvh2","Warn: Project is vulnerable to: GHSA-832h-xg76-4gv6","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-cwfw-4gq5-mrqx","Warn: Project is vulnerable to: GHSA-g95f-p29q-9xw4","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-9vvw-cc9w-f27h","Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c","Warn: Project is vulnerable to: GHSA-hr2v-3952-633q","Warn: Project is vulnerable to: GHSA-h6ch-v84p-w6p9","Warn: Project is vulnerable to: GHSA-4gmj-3p3h-gm8h","Warn: Project is vulnerable to: GHSA-qrmc-fj45-qfc2","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-8r6j-v8pm-fqw3","Warn: Project is vulnerable to: MAL-2023-462","Warn: Project is vulnerable to: GHSA-xf7w-r453-m56c","Warn: Project is vulnerable to: GHSA-qh2h-chj9-jffq","Warn: Project is vulnerable to: GHSA-q42p-pg8m-cqh6","Warn: Project is vulnerable to: GHSA-w457-6q6x-cgp9","Warn: Project is vulnerable to: GHSA-62gr-4qp9-h98f","Warn: Project is vulnerable to: GHSA-f52g-6jhx-586p","Warn: Project is vulnerable to: GHSA-2cf5-4w76-r9qv","Warn: Project is vulnerable to: GHSA-3cqr-58rm-57f8","Warn: Project is vulnerable to: GHSA-g9r4-xpmj-mj65","Warn: Project is vulnerable to: GHSA-q2c6-c6pm-g3gh","Warn: Project is vulnerable to: GHSA-765h-qjxv-5f44","Warn: Project is vulnerable to: GHSA-f2jv-r9rf-7988","Warn: Project is vulnerable to: GHSA-44pw-h2cw-w3vq","Warn: Project is vulnerable to: GHSA-jp4x-w63m-7wgm","Warn: Project is vulnerable to: GHSA-c429-5p7v-vgjp","Warn: Project is vulnerable to: GHSA-43f8-2h32-f4cj","Warn: Project is vulnerable to: GHSA-qqgx-2p2h-9c37","Warn: Project is vulnerable to: GHSA-4hpf-3wq7-5rpr","Warn: Project is vulnerable to: GHSA-f522-ffg8-j8r6","Warn: Project is vulnerable to: GHSA-6c3j-c64m-qhgq","Warn: Project is vulnerable to: GHSA-gxr4-xjj5-5px2","Warn: Project is vulnerable to: GHSA-jpcq-cgw6-v4j6","Warn: Project is vulnerable to: GHSA-2pr6-76vf-7546","Warn: Project is vulnerable to: GHSA-8j8c-7jfh-h6hx","Warn: Project is vulnerable to: GHSA-896r-f27r-55mw","Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h","Warn: Project is vulnerable to: GHSA-282f-qqgm-c34q","Warn: Project is vulnerable to: GHSA-76p3-8jx3-jpfq","Warn: Project is vulnerable to: GHSA-jf85-cpcp-j695","Warn: Project is vulnerable to: GHSA-fvqr-27wr-82fm","Warn: Project is vulnerable to: GHSA-4xc9-xhrj-v574","Warn: Project is vulnerable to: GHSA-x5rq-j2xg-h7qm","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw","Warn: Project is vulnerable to: GHSA-5947-m4fg-xhqg","Warn: Project is vulnerable to: GHSA-779f-wgxg-qr8f","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-hxm2-r34f-qmc5","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-vh95-rmgr-6w4m","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-w9mr-4mfr-499f","Warn: Project is vulnerable to: GHSA-9v62-24cr-58cx","Warn: Project is vulnerable to: GHSA-r8f7-9pfq-mjmv","Warn: Project is vulnerable to: GHSA-gqgv-6jq5-jjj9","Warn: Project is vulnerable to: GHSA-hrpp-h998-j3pp","Warn: Project is vulnerable to: GHSA-6g33-f262-xjp4","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-2m39-62fm-q8r3","Warn: Project is vulnerable to: GHSA-mf6x-7mm4-x2g7","Warn: Project is vulnerable to: GHSA-j44m-qm6p-hp7m","Warn: Project is vulnerable to: GHSA-3jfq-g458-7qm9","Warn: Project is vulnerable to: GHSA-5955-9wpr-37jh","Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36","Warn: Project is vulnerable to: GHSA-g7q5-pjjr-gqvp","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-7p7h-4mm5-852v","Warn: Project is vulnerable to: GHSA-xc7v-wxcw-j472","Warn: Project is vulnerable to: GHSA-c4w7-xm78-47vh","Warn: Project is vulnerable to: GHSA-p9pc-299p-vxgp"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-18T04:29:52.278Z","repository_id":57107579,"created_at":"2025-08-18T04:29:52.279Z","updated_at":"2025-08-18T04:29:52.279Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31564774,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"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":["babel","bootstrap","gulp-tasks","nodejs","sass","webpack"],"created_at":"2024-12-17T13:10:42.330Z","updated_at":"2026-04-08T16:31:03.679Z","avatar_url":"https://github.com/deployable.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Deployable Assets](https://github.com/deployable/node-deployable-assets)\n\n## Web Asset Builder.\n\nBuilt on [gulp](https://gulpjs.com). Supports [babel](https://babeljs.io/), [webpack](https://webpack.github.io/),\n [sass](https://sass-lang.com/) and `shell` commands out of the box.\n\nOrganises your gulp tasks into groups of tasks, `groupname:taskname`\n\nGroup destination can filter down to tasks if you don't override it.\n\nGroup sources filter up so you can access all group sources programatically.\n\nA `:watch` task can be added to groups, or tasks. This will monitor the src files\nand build as needed.\n\nAsync sequences can be applied to a group to run sub tasks in order.\n\n## Install\n\n    npm install @deployable/assets --save-dev\n    npm install @deployable/asset --save\n\n    yarn add @deployable/assets --dev\n    yarn add @deployable/asset\n\n## Usage\n\n### Creating a gulp definition\n\ngulpfile.js\n\n*Note*: Adding the type of gulp task must always be the last step of a task chain. This\nstep builds a gulp task from the previously set varaibles.\n\n```javascript\n\nconst { Gulp } = require('@deployable/assets')\nconst { gulp } = Gulp\n\nlet gulp_def = new Gulp()\n\nlet group = gulp_def.addGroup('sitecss')\n\n// Run a command\ngroup.task('runit')\n  .createShellTask(['bower install'])\n\n// Copy files\ngroup.task('copyit')\n  .addSrc('bower_components/somecss/dist/*.css')\n  .setDest('public/css')\n  .createCopyTask()\n\n// Sass\ngroup.task('buildit')\n  .addSrc('src/sass/*.scss')\n  .setDest('public/css')\n  .createSassTask()\n\n// Custom task, still in a group\nlet task = group.task('custom')\ntask\n  .addSrc('src/sass/*.scss')\n  .setDest('public/css')\n  .createCustom(()=\u003e{\n    gulp.src(task.src)\n      .pipe(whatever())\n      .pipe(dest(task.dest))\n  })\n\n// Add a group task so `gulp sitecss` works\ngroup.sequence('sitecss:runit', ['sitecss:copyit', 'sitecss:buildit'], 'sitecss:custom')\n\n```\n\n\n### Running gulp tasks\n\nThis builds the tasks group `sitecss`. Tasks `copyit` and `buildit` will\nbe attached to a group. The tasks are available to run as `sitecss:copyit`\nand `sitecss:buildit` in gulp.\n\n    gulp sitecss:copyit\n\nThe parent `sitecss` task will automatically run all tasks in the\ngroup asynchronously.\n\n    gulp sitecss\n\n\n### Asynchronouse Sequence control\n\nYou can control the [sequence](https://www.npmjs.com/package/gulp-sequence)\nof events with `.sequence()`\n\n```javascript\ngroup.sequence( 'copyit', 'buildit', 'otherthing' )\n```\n\n```javascript\ngroup.sequence( 'copyit', [ 'buildit', 'otherthing' ] )\n```\n\n\n### Deployable Gulp\n\nThe package provides the Deployable Assets gulp setup as a class which includes jquery, bootstrap, bootstrap-sass, babel\nand the pre defined tasks to build sources into assets.\n\n```javascript\n\nconst { DeployableGulp } = require('deployable-assets')\nlet gulp_def = new DeployableGulp()\n\n```\n\nThe following tasks are provided\n\n```bash\ngulp bower        # bower + copy\n\ngulp js           # babel\ngulp js:babel\n\ngulp css          # sass\ngulp css:sass     # sass\n\ngulp assets       # bower + js + css\ngulp assets:watch # long running wathcing build\n\n```\n\n\n### Asset Helpers\n\nThe [@deployable/asset](https://github.com/deployable/node-deployable-asset)\npackage provides helper functionsto use in your application to refernce assets.\nAll references to your asset paths should be replaced by the helper so assets\ncan be served from any location, including the possibiilty of moving them to a CDN.\n\n```javascript\n\nconst assetHelpers  = require('@deployable/asset')({ prefix: 'https://cdn.com/3e4a6' })\n\nassetHelpers.js('js/test.js') // =\u003e https://cdn.com/3e4a6/js/test.js\nassetHelpers.css('css/test.css') // =\u003e https://cdn.com/3e4a6/css/test.css\nassetHelpers.path('fonts/arial.webf') // =\u003e https://cdn.com/3e4a6/fonts/arial.webf\n\n```\n\n## API\n\n    let glp = new Gulp()\n\n    let group = glp.addGroup('sitecss')\n\n    group.task('testTask')\n      .addSrc('bower_components/jquery/dist/*.js')\n      .setDest('public/js')\n      .addCopyTask()\n\n\n## About\n\ndeployable-assets is released under the MIT license.\n\nCopyright 2016 Matt Hoyle - code aatt deployable.co\n\nhttps://github.com/deployable/node-deployable-assets\nhttps://deployable.co/code/node-deployable-assets\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeployable%2Fnode-deployable-assets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeployable%2Fnode-deployable-assets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeployable%2Fnode-deployable-assets/lists"}