I know that gulp require a vinyl source stream to work properly, but is there an easy way to use an already existant vinyl file or a json object instead of the well known gulp.src that only takes globs?
How to use objects list as gulp source stream
1.1k views Asked by Simon B.Robert At
2
There are 2 answers
0
blackmiaool
On
Since gulp uses vinyl files as input and actually uses some of its properties(such as .base), it's inevitable to create vinyl files to make use of gulp. So I recommend this access to achieve your goal:
'use strict';
const gulp = require('gulp');
const header = require('gulp-header');//https://www.npmjs.com/package/gulp-header
gulp.task('default', function () {
gulp.src("a.json")//empty file
.pipe(header(JSON.stringify({a:1,b:2})))//inject your own content
.pipe(gulp.dest("dist/"))
});
Create a empty file a.json and use it as source. Then inject your own content with gulp-header and do whatever you want with it.
If you want to avoid extra files(a.json), try this:
'use strict';
const gulp = require('gulp');
const transform = require('gulp-transform');
const rename = require("gulp-rename");
gulp.task('default', function () {
return gulp.src("./gulpfile.js")
.pipe(transform(() => JSON.stringify({a:1,b:2})))
.pipe(rename("a.json"))
.pipe(gulp.dest("dist/"))
});
Related Questions in JAVASCRIPT
- Using Puppeteer to scrape a public API only when the data changes
- inline SVG text (js)
- An array of images and a for loop display the buttons. How to assign each button to open its own block by name?
- Storing the preferred font-size in localStorage
- Simple movie API request not showing up in the console log
- Authenticate Flask rest API
- Deploying sveltekit app with gunjs on vercel throws cannot find module './lib/text-encoding'
- How to request administrator rights?
- mp4 embedded videos within github pages website not loading
- Scrimba tutorial was working, suddenly stopped even trying the default
- In Datatables, start value resets to 0, when column sorting
- How do I link two models in mongoose?
- parameter values only being sent to certain columns in google sheet?
- Run main several times of wasm in browser
- Variable inside a Variable, not updating
Related Questions in NODE.JS
- Using Puppeteer to scrape a public API only when the data changes
- How to request administrator rights?
- How do I link two models in mongoose?
- Variable inside a Variable, not updating
- Unable to Post Form Data to MongoDB because of picturepath
- Connection terminated unexpectedly while performing multi row insert using pg-promise
- Processing multiple forms in nodejs and postgresql
- Node.js Server + Socket.IO + Android Mobile Applicatoin XHR Polling Error...?
- How to change the Font Weight of a SelectValue component in React when a SelectItem is selected?
- My unban and ban commands arent showing when i put the slash
- how to make read only file/directory in Mac writable
- How can I outsource worker processes within a for loop?
- Get remote MKV file metadata using nodejs
- Adding google-profanity-words to web page
- Products aren't displayed after fetching data from mysql db (node.js & express)
Related Questions in GULP
- the gulp-pug doesn't work and say unexpected token "indent"
- Use Gulp Newer on Array of Sources
- When I try to install gulp, these errors come up and I cant figure out how to fix them
- How do I run PurgeCSS on local URLs?
- how do I run gulp with error globalThis is not defined
- im getting 'local gulp not found' in an old angularjs code despite doing npm install and also installing gulp packages
- Can I use sass instead of node-sass in suiteCommerce project?
- How to build SAPUI5 application that should only have "component-preload.js"?
- gulpfile not compiling js and css on save
- Error when compliling sass - node and gulp
- regeneratorRuntime is not defined with gulp
- BrowserSync not working when on LTE connection or no Internet Connection
- How to minify html files in folders and subfolders using gulp?
- Expose $ and jQuery to global scope with Typescript, Browserify and Gulp
- Bundling separate vendor file with gulp+browserify
Related Questions in NODE-STREAMS
- How to handle errors inside a NodeJS stream?
- Node Streams - Piping readstream, compression, cipher, writeStream - Buffer size problems
- Node.js: Pipe stream with parsed data to another stream
- How to flush an expressjs response partially piped stream?
- How to add chunk to variable while reading a readable stream in node?
- Scalability of Node.js Endpoint for File Operations
- Convert .csv file into .xlsx using streams
- Can I use Node.JS PassThrough stream as a simple input buffer?
- Dealing with giant JSON files in Node.js
- Why is the callback for `stream.write` not called in Object mode
- Error: node:stream/promises - Error: Module build failed: UnhandledSchemeError
- NodeJS: JSONStream processes data but somehow prevents following commands and ends program
- How do I reduce the memory footprint of a Node Lambda doing multi-part upload on large file streams?
- Stream Pipeline stops midway
- How can I wait for multiple async operations in Writable stream in Node.js?
Related Questions in VINYL
- The `.pipe()` method has deprecated in Gulp/Vinyl, but what it the alternative?
- What is the difference between len() and count() for the Vinyl engine?
- Clip-path inset circle
- Pattern synonym binds differently from normal pattern
- How can I constrain Vinyl / Composite Records?
- througt module accepts only 8/16 files
- How to generalize an Opaleye Query in Haskell (Using Vinyl)?
- How to use objects list as gulp source stream
- Gulp vinyl ftp - how to use clean function?
- Gulp Task completes with no error but no file is saved to destination
- vinyl ftp Cannot create a file when that file already exists
- My gulp plugin with through2 returns file in strange XML-like format
- How can process.stdin be used as the start point for a gulp task?
- Gulp vinyl ftp - Remove local deleted files
- vinyl-ftp does not upload the exists folder
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
After several researches I did not found any good solution for that problem so I decided to share my solution with you.
That problem is solved in 2 steps
1: You need to convert what ever you want to pipe in gulp to a vinyl file. This can be done like so
For more information about that step: https://github.com/gulpjs/vinyl
2: Create a stream out of your vinyl files
I found that those steps can be repetitive and can make code less readable so I decided to encapsulate those steps in an npm package that does this for you.
https://www.npmjs.com/package/gulp-to-stream