
Research
Security News
The Growing Risk of Malicious Browser Extensions
Socket researchers uncover how browser extensions in trusted stores are used to hijack sessions, redirect traffic, and manipulate user behavior.
gulp-studio-push
Advanced tools
Modern version of the legendary push.php. Windows users can ditch Cygwin - no PHP here, only Node.
$ npm install gulp-studio-push --save-dev
$ echo '.studio-credentials' >> .gitignore # Add .studio-credentials to .gitignore file
Ignore patterns can be added to .studio-ignore
file.
.DS_Store
dist/img/*.gif
!dist/img/allowed.gif
gulp.task('push', function () {
const studioPush = require('gulp-studio-push');
const studioSettings = {
studio: 'foo.studio.crasman.fi',
proxy: 'http://foo.intra:8080/',
concurrentUploads: 4 // Default 5, max 5
// Only needed if you don't want to use the default ignore file (.studio-ignore)
//ignoreFile: '.studio-ignore-2',
folders : [{
folderId: '5807aedb2b089f6b6f44cfaf',
localFolder: 'dist',
includeSubFolders: true,
createdFolderSettings: { // Cache settings for created folders
'dist/master': { // RegExp match
fileCacheMaxAge: 604800 // Week for master files
},
'dist/release-.*?': { // RegExp match
fileCacheMaxAge: 604800 // Week for release-0.1, release-0.2 etc.
},
'dist/.*?': { // RegExp match
fileCacheMaxAge: 1 // 1 second for everything else (dev branches)
}
},
createdFileHeaders: { // (version ^1.5.0)
// For master and release-* branch Service Workers (sw.js or service-worker.js)
'dist/(master|release-.*)/(sw.js|service-worker.js)': { // RegExp match
'Service-Worker-Allowed': '/', // Allow from root of domain
'Cache-Control': 'public, max-age=60, s-maxage=60' // Use very short max age for Service Workers in production
},
// development branch Service Workers
'dist/.*/(sw.js|service-worker.js)': { // RegExp match
'Service-Worker-Allowed': '/', // Allow from root of domain
'Cache-Control': 'private, must-revalidate, no-cache, no-store, max-age=0, s-maxage=0' // no cache for development branch Service Workers
}
}
}]
};
return gulp.src('dist').pipe(studioPush(studioSettings));
});
const gulp = require('gulp');
const studioPush = require('gulp-studio-push');
const studioSettings = {
studio: 'foo.studio.crasman.fi',
proxy: 'http://foo.intra:8080/',
folders: [{
folderId: '568a7a2aadd4532b0f4f4f5b',
localFolder: 'dist/js',
includeSubFolders: true // Create and upload child folders too
}, {
folderId: '568a7a27add453aa1a4f4f58',
localFolder: 'dist/css'
}, {
folderId: '568a7a27add453aa1a4f4f58',
localFolder: 'dist/img'
}, {
folderId: '568a7a27add453aa1a4f4f58',
localFolder: 'other/folder'
}]
};
// Upload all folders
gulp.task('push', function () {
return gulp.src('.').pipe(studioPush(studioSettings));
});
// Upload dist/img folder
gulp.task('push-images', function () {
return gulp.src('dist/img').pipe(studioPush(studioSettings));
});
// Upload all folders starting with 'dist' (dist/js, dist/css, dist/img)
gulp.task('push-dist', function () {
return gulp.src('dist').pipe(studioPush(studioSettings));
});
// Upload css and js
gulp.task('push-foo', function () {
return gulp.src(['dist/js', 'dist/css']).pipe(studioPush(studioSettings));
});
FAQs
Push to Crasman Studio
We found that gulp-studio-push demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover how browser extensions in trusted stores are used to hijack sessions, redirect traffic, and manipulate user behavior.
Research
Security News
An in-depth analysis of credential stealers, crypto drainers, cryptojackers, and clipboard hijackers abusing open source package registries to compromise Web3 development environments.
Security News
pnpm 10.12.1 introduces a global virtual store for faster installs and new options for managing dependencies with version catalogs.