{"id":14780,"library":"olo-gulp-helpers","title":"Olo Gulp Build Helpers","description":"This package provides a collection of internal helper functions and configurations specifically designed for Olo's Gulp build pipeline, with a particular focus on bundling frontend assets for their ASP.NET applications. While the current reported version is 0.9.1, its public release history indicates releases up to 0.2.3. The package aims to streamline the integration of modern web technologies such as TypeScript, Webpack, Karma, Mocha, and Sinon into Olo's existing build infrastructure. Its release cadence is sporadic and tied to Olo's internal development needs, rather than following a public roadmap. As an internal utility, its primary differentiator is its tailored fit for Olo's specific project requirements and development environment, making it less of a general-purpose Gulp library and more of an opinionated, company-specific solution for build automation.","status":"maintenance","version":"0.9.1","language":"javascript","source_language":"en","source_url":"https://github.com/ololabs/javascript","tags":["javascript","olo"],"install":[{"cmd":"npm install olo-gulp-helpers","lang":"bash","label":"npm"},{"cmd":"yarn add olo-gulp-helpers","lang":"bash","label":"yarn"},{"cmd":"pnpm add olo-gulp-helpers","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Primarily designed for CommonJS environments typical of Gulpfiles. ESM imports are generally not the intended usage.","wrong":"import oloGulpHelpers from 'olo-gulp-helpers';","symbol":"oloGulpHelpers","correct":"const oloGulpHelpers = require('olo-gulp-helpers');"},{"note":"Assumed named export for a specific helper function; actual exports may vary. ESM is generally not supported for older Gulp helpers.","wrong":"import { setupWebpack } from 'olo-gulp-helpers';","symbol":"setupWebpack","correct":"const { setupWebpack } = require('olo-gulp-helpers');"},{"note":"Hypothetical named export for defining common bundling tasks. Direct subpath imports are unlikely unless explicitly documented.","wrong":"import defineBundlingTasks from 'olo-gulp-helpers/bundling';","symbol":"defineBundlingTasks","correct":"const { defineBundlingTasks } = require('olo-gulp-helpers');"}],"quickstart":{"code":"const gulp = require('gulp');\nconst { setupWebpack, defineBundlingTasks } = require('olo-gulp-helpers');\n\n// Define paths for your project assets\nconst paths = {\n  scripts: 'src/scripts/**/*.js',\n  styles: 'src/styles/**/*.scss',\n  output: 'dist'\n};\n\n// Setup Webpack configuration using Olo's helpers\nconst webpackConfig = setupWebpack({\n  entry: './src/index.js',\n  output: { path: paths.output, filename: 'bundle.js' },\n  // Optionally pass environment variables, e.g., for API keys\n  apiUrl: process.env.API_URL ?? '' \n});\n\n// Define Gulp tasks using Olo's bundling helpers\nconst { compileScripts, compileStyles, watchFiles } = defineBundlingTasks(gulp, paths, webpackConfig);\n\n// Export public tasks\nexports.scripts = compileScripts;\nexports.styles = compileStyles;\nexports.watch = watchFiles;\nexports.default = gulp.series(compileStyles, compileScripts, watchFiles);","lang":"javascript","description":"Demonstrates a basic Gulpfile setup using `olo-gulp-helpers` to configure Webpack and define bundling and watch tasks for scripts and styles."},"warnings":[{"fix":"Thoroughly review internal Olo documentation or source code for changes between major/minor versions. Consult Olo's internal teams for guidance on upgrading.","message":"The package's stated version (0.9.1) significantly diverges from its public release history (up to 0.2.3). This suggests potential undocumented breaking changes or features introduced in intermediate versions which are not publicly detailed, making upgrades or initial integration unpredictable.","severity":"breaking","affected_versions":">=0.2.4"},{"fix":"Evaluate the source code for hardcoded assumptions or dependencies on Olo-specific tools/environments. Be prepared to fork and modify for external use cases, or consider a more generic Gulp helper.","message":"This package is specifically designed for 'Olo's gulp build pipeline' and 'ASP.NET sites'. It likely contains strong opinions, hardcoded paths, or specific configurations tailored to Olo's internal infrastructure. Using it outside of Olo's intended environment may lead to unexpected behavior or require significant customization.","severity":"gotcha","affected_versions":"All"},{"fix":"Ensure you are using at least version 0.2.2 or later. If maintaining older versions, explicitly test builds on all target operating systems (Linux, macOS, Windows) and consider manual path normalization within custom configurations.","message":"Version 0.2.2 fixed a 'path separator issue that prevented Sinon from being properly ignored by Webpack on Windows'. Older versions of this helper might exhibit cross-platform build failures, particularly on Windows, due to path resolution inconsistencies.","severity":"gotcha","affected_versions":"<0.2.2"},{"fix":"Confirm compatibility with your installed Gulp version. If encountering issues, check the `package.json` for `gulp` peer dependencies (if any) or consult Olo's internal guidance on compatible Gulp versions.","message":"The underlying Gulp ecosystem has evolved, with Gulp 4 and 5 introducing significant breaking changes (e.g., `gulp.task` API, series/parallel composition, Node.js version requirements). Older versions of `olo-gulp-helpers` may be incompatible with newer Gulp CLI or core library versions.","severity":"breaking","affected_versions":"Possibly all versions depending on Gulp setup"}],"env_vars":null,"last_verified":"2026-04-19T00:00:00.000Z","next_check":"2026-07-18T00:00:00.000Z","problems":[{"fix":"Run `npm install olo-gulp-helpers` or `yarn add olo-gulp-helpers` in your project. Ensure the `require` path is correct.","cause":"Package not installed or incorrect path in `require` statement.","error":"Error: Cannot find module 'olo-gulp-helpers'"},{"fix":"Install Gulp CLI globally: `npm install -g gulp-cli`. If it's installed, verify your system's PATH environment variable.","cause":"Gulp CLI is not globally installed or not in your system's PATH.","error":"No command 'gulp' found"},{"fix":"Verify the correct function name and its export status. Review the `olo-gulp-helpers` source code or internal documentation for available exports and their signatures.","cause":"Attempting to call a helper function that either doesn't exist, is misspelled, or is not exported by the package.","error":"TypeError: oloGulpHelpers.setupWebpack is not a function"},{"fix":"Ensure `olo-gulp-helpers` is at least version 0.2.2. Check Webpack configuration for proper aliasing or externalization of `sinon` if it's not meant to be bundled.","cause":"Webpack is failing to resolve or properly ignore the 'sinon' module, potentially due to incorrect configuration or a regression of the path separator issue mentioned in v0.2.2.","error":"Webpack compilation failed: 'sinon' module not found"}],"ecosystem":"npm"}