{"id":20309,"library":"prettier-config-udemy-website","title":"Udemy Prettier Config","description":"Udemy's shared Prettier configuration for ES2015 JavaScript code. Version 1.0.8 is the latest stable release. The package is maintained by Udemy for internal projects but is publicly available. It relies on Prettier as a peer dependency and uses CommonJS module.exports. The config can be extended and overridden in a .prettierrc.js file.","status":"active","version":"1.0.8","language":"javascript","source_language":"en","source_url":"https://github.com/udemy/js-tooling","tags":["javascript"],"install":[{"cmd":"npm install prettier-config-udemy-website","lang":"bash","label":"npm"},{"cmd":"yarn add prettier-config-udemy-website","lang":"bash","label":"yarn"},{"cmd":"pnpm add prettier-config-udemy-website","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"CommonJS-only package. Use require() as shown. ESM imports will fail.","wrong":"import config from 'prettier-config-udemy-website';","symbol":"default","correct":"const config = require('prettier-config-udemy-website');"},{"note":"Recommended usage in .prettierrc.js: spread the config and override as needed.","wrong":"module.exports = { ...require('prettier-config-udemy-website'), printWidth: 140 };","symbol":"config spread","correct":"module.exports = { ...require('prettier-config-udemy-website'), printWidth: 140 };"},{"note":"Package does not export types. Use require() and optionally declare module.","wrong":"import type { PrettierConfig } from 'prettier-config-udemy-website';","symbol":"type import (TypeScript)","correct":"const config = require('prettier-config-udemy-website');"}],"quickstart":{"code":"// .prettierrc.js\nmodule.exports = {\n  ...require('prettier-config-udemy-website'),\n  printWidth: 140,\n  tabWidth: 4\n};","lang":"javascript","description":"Creates a .prettierrc.js that extends Udemy's Prettier config with custom overrides."},"warnings":[{"fix":"Check Prettier version compatibility. Consider using official @udemy/prettier-config if available.","message":"Only compatible with Prettier v1.x? Version 1.0.8 may not support Prettier v2+ options like 'embeddedLanguageFormatting'.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use require() or ensure your project uses CommonJS (e.g., .prettierrc.js).","message":"CommonJS only. Direct import using ESM (import) will throw SyntaxError.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Create a declaration: declare module 'prettier-config-udemy-website' { const config: Record<string, any>; export = config; }","message":"No TypeScript definitions. Using with TypeScript may require a custom .d.ts file.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Consider using Prettier's built-in 'prettier.config.js' or forking the config.","message":"Package is unmaintained (last release 6+ years ago). May not include modern Prettier options.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Change to: module.exports = { ...require('prettier-config-udemy-website'), ... };","cause":"Using ESM import with a CommonJS package in a .prettierrc.js file that is treated as CJS by default.","error":"SyntaxError: Cannot use import statement outside a module"},{"fix":"Run: yarn add prettier-config-udemy-website --dev","cause":"The package is not installed or not in node_modules.","error":"Error: Cannot find module 'prettier-config-udemy-website'"},{"fix":"Ensure spread syntax is used correctly: module.exports = { ...require('prettier-config-udemy-website'), printWidth: 140 };","cause":"The config object is not spread correctly; perhaps require returned an object with no own properties.","error":"TypeError: Cannot read properties of undefined (reading 'printWidth')"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}