{"_id":"@audioboom/typings-for-css-modules-loader","_rev":"7-1f4096dd7a491602e74d2226a21322ce","name":"@audioboom/typings-for-css-modules-loader","dist-tags":{"latest":"3.0.4"},"versions":{"3.0.0":{"name":"@audioboom/typings-for-css-modules-loader","version":"3.0.0","keywords":["Typescript","TypeScript","CSS Modules","CSSModules","CSS Modules typings","Webpack","Webpack loader","Webpack css module typings loader","typescript webpack typings","css modules webpack typings"],"author":{"name":"Jonathan del Strother","email":"jdelStrother@gmail.com"},"license":"MIT","_id":"@audioboom/typings-for-css-modules-loader@3.0.0","maintainers":[{"name":"jdelstrother","email":"jdelStrother@gmail.com"}],"homepage":"https://github.com/audioBoom/typings-for-css-modules-loader#readme","bugs":{"url":"https://github.com/audioBoom/typings-for-css-modules-loader/issues"},"dist":{"shasum":"da227c7f5a6b4e71585a0912aa60ff9b7256186a","tarball":"https://registry.npmjs.org/@audioboom/typings-for-css-modules-loader/-/typings-for-css-modules-loader-3.0.0.tgz","fileCount":7,"integrity":"sha512-0+kIBJk3bIOdNhkZyr5Vgg898RfXiLovGAC8IbRRDKcSJaMj6xcXfHaVuPnFuS8qZZWsP743cDK2NlluM7HcQw==","signatures":[{"sig":"MEYCIQCwZPSH1rLgZgh4YTQN8MdTjhgxFDP5xVeuggSVzjJNZwIhAMOgFt/z8/muA0DCakCa2A5UO8j1luUcoQNWEtCDGGPW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@audioboom%2ftypings-for-css-modules-loader@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22752},"main":"src/index.js","gitHead":"ad72892007754ea76c44dd20cbac1a9974c96f34","scripts":{"//":"experimental-vm-modules is needed for prettier v3 in jest","test":"NODE_OPTIONS=--experimental-vm-modules jest","release":"release-it"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44705823-3298-4e56-a7aa-5c31c7e3a73b"}},"release-it":{"git":{"changelog":"npx auto-changelog --stdout --commit-limit false --unreleased --template https://raw.githubusercontent.com/release-it/release-it/master/templates/changelog-compact.hbs"},"npm":{"skipChecks":true},"hooks":{"after:bump":"npx auto-changelog --commit-limit false https://raw.githubusercontent.com/release-it/release-it/master/templates/keepachangelog.hbs"},"github":{"release":true}},"repository":{"url":"git+https://github.com/audioBoom/typings-for-css-modules-loader.git","type":"git"},"_npmVersion":"11.13.0","description":"Webpack loader that generates TypeScript typings for CSS modules from css-loader on the fly","directories":{},"_nodeVersion":"24.16.0","dependencies":{"camelcase":"^5.3.1","loader-utils":"^1.4.2","schema-utils":"^2.0.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","memfs":"^3.4.13","eslint":"^10.4.1","globals":"^17.6.0","webpack":"^5.75.0","prettier":"*","@eslint/js":"^10.0.1","css-loader":"*","release-it":"^20.2.0","typescript":"^4.9.4","@types/jest":"^30.0.0","css-loader6":"npm:css-loader@^6.11.0","auto-changelog":"^2.2.1","eslint-plugin-jest":"^29.15.2","eslint-config-prettier":"^10.1.8"},"optionalDependencies":{"prettier":"*"},"_npmOperationalInternal":{"tmp":"tmp/typings-for-css-modules-loader_3.0.0_1780319468149_0.4994336254924736","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@audioboom/typings-for-css-modules-loader","version":"3.0.1","keywords":["Typescript","TypeScript","CSS Modules","CSSModules","CSS Modules typings","Webpack","Webpack loader","Webpack css module typings loader","typescript webpack typings","css modules webpack typings"],"author":{"name":"Jonathan del Strother","email":"jdelStrother@gmail.com"},"license":"MIT","_id":"@audioboom/typings-for-css-modules-loader@3.0.1","maintainers":[{"name":"jdelstrother","email":"jdelStrother@gmail.com"}],"homepage":"https://github.com/audioBoom/typings-for-css-modules-loader#readme","bugs":{"url":"https://github.com/audioBoom/typings-for-css-modules-loader/issues"},"dist":{"shasum":"6f75d3d81a95f43588deaf28dfae9e6f3f334b18","tarball":"https://registry.npmjs.org/@audioboom/typings-for-css-modules-loader/-/typings-for-css-modules-loader-3.0.1.tgz","fileCount":7,"integrity":"sha512-8AxBjkx/XZgtDAHcBbVcvX/c3EsSR+gNqokG2CThGeB84l4MXNkSRnDJcRdNMain/V2FPtWiiiDM7fwaWHOjaQ==","signatures":[{"sig":"MEQCICowhL5MSVJpVV54jFQWE1FMNXOqo9SsU8dNFpRggVmTAiAEBbXhuOWMk8BmqiENZf7kWDUEjNSF/1pmC41EmnUNPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@audioboom%2ftypings-for-css-modules-loader@3.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22752},"main":"src/index.js","gitHead":"ad72892007754ea76c44dd20cbac1a9974c96f34","scripts":{"//":"experimental-vm-modules is needed for prettier v3 in jest","test":"NODE_OPTIONS=--experimental-vm-modules jest","release":"release-it"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44705823-3298-4e56-a7aa-5c31c7e3a73b"}},"release-it":{"git":{"changelog":"npx auto-changelog --stdout --commit-limit false --unreleased --template https://raw.githubusercontent.com/release-it/release-it/master/templates/changelog-compact.hbs"},"npm":{"skipChecks":true},"hooks":{"after:bump":"npx auto-changelog --commit-limit false https://raw.githubusercontent.com/release-it/release-it/master/templates/keepachangelog.hbs"},"github":{"release":true}},"repository":{"url":"git+https://github.com/audioBoom/typings-for-css-modules-loader.git","type":"git"},"_npmVersion":"11.13.0","description":"Webpack loader that generates TypeScript typings for CSS modules from css-loader on the fly","directories":{},"_nodeVersion":"24.16.0","dependencies":{"camelcase":"^5.3.1","loader-utils":"^1.4.2","schema-utils":"^2.0.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","memfs":"^3.4.13","eslint":"^10.4.1","globals":"^17.6.0","webpack":"^5.75.0","prettier":"*","@eslint/js":"^10.0.1","css-loader":"*","release-it":"^20.2.0","typescript":"^4.9.4","@types/jest":"^30.0.0","css-loader6":"npm:css-loader@^6.11.0","auto-changelog":"^2.2.1","eslint-plugin-jest":"^29.15.2","eslint-config-prettier":"^10.1.8"},"optionalDependencies":{"prettier":"*"},"_npmOperationalInternal":{"tmp":"tmp/typings-for-css-modules-loader_3.0.1_1780319920480_0.09008335113999855","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@audioboom/typings-for-css-modules-loader","version":"3.0.2","keywords":["Typescript","TypeScript","CSS Modules","CSSModules","CSS Modules typings","Webpack","Webpack loader","Webpack css module typings loader","typescript webpack typings","css modules webpack typings"],"author":{"name":"Jonathan del Strother","email":"jdelStrother@gmail.com"},"license":"MIT","_id":"@audioboom/typings-for-css-modules-loader@3.0.2","maintainers":[{"name":"jdelstrother","email":"jdelStrother@gmail.com"}],"homepage":"https://github.com/audioBoom/typings-for-css-modules-loader#readme","bugs":{"url":"https://github.com/audioBoom/typings-for-css-modules-loader/issues"},"dist":{"shasum":"57702170efca17c17fd2994ec5f88341235d0c00","tarball":"https://registry.npmjs.org/@audioboom/typings-for-css-modules-loader/-/typings-for-css-modules-loader-3.0.2.tgz","fileCount":7,"integrity":"sha512-lZJJ/oNh97lnFB7LU+jYYX1qAFkGwkhUACyGMxdvcPZWdPgdVu5E9MtWnvG3IU5D3lC4BoEbPPPEOvjG7xuGBQ==","signatures":[{"sig":"MEUCID40DhGfqQXWuu1aC0UdY6+4GVLedekaolkx0RVoliUTAiEAs9kKCu6V5bfwmoEwsW6w/jsgqiHvDDbIys/7ZN+Xoks=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@audioboom%2ftypings-for-css-modules-loader@3.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22752},"main":"src/index.js","gitHead":"d5073d1b92fbdeeacd4866d4f173a0428d561f29","scripts":{"//":"experimental-vm-modules is needed for prettier v3 in jest","test":"NODE_OPTIONS=--experimental-vm-modules jest","release":"release-it"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44705823-3298-4e56-a7aa-5c31c7e3a73b"}},"release-it":{"git":{"changelog":"npx auto-changelog --stdout --commit-limit false --unreleased --template https://raw.githubusercontent.com/release-it/release-it/master/templates/changelog-compact.hbs"},"npm":{"skipChecks":true},"hooks":{"after:bump":"npx auto-changelog --commit-limit false https://raw.githubusercontent.com/release-it/release-it/master/templates/keepachangelog.hbs"},"github":{"release":true}},"repository":{"url":"git+https://github.com/audioBoom/typings-for-css-modules-loader.git","type":"git"},"_npmVersion":"11.13.0","description":"Webpack loader that generates TypeScript typings for CSS modules from css-loader on the fly","directories":{},"_nodeVersion":"24.16.0","dependencies":{"camelcase":"^5.3.1","loader-utils":"^1.4.2","schema-utils":"^2.0.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","memfs":"^3.4.13","eslint":"^10.4.1","globals":"^17.6.0","webpack":"^5.75.0","prettier":"*","@eslint/js":"^10.0.1","css-loader":"*","release-it":"^20.2.0","typescript":"^4.9.4","@types/jest":"^30.0.0","css-loader6":"npm:css-loader@^6.11.0","auto-changelog":"^2.2.1","eslint-plugin-jest":"^29.15.2","eslint-config-prettier":"^10.1.8"},"optionalDependencies":{"prettier":"*"},"_npmOperationalInternal":{"tmp":"tmp/typings-for-css-modules-loader_3.0.2_1780320301801_0.943970038460886","host":"s3://npm-registry-packages-npm-production"}},"3.0.3":{"name":"@audioboom/typings-for-css-modules-loader","version":"3.0.3","keywords":["Typescript","TypeScript","CSS Modules","CSSModules","CSS Modules typings","Webpack","Webpack loader","Webpack css module typings loader","typescript webpack typings","css modules webpack typings"],"author":{"name":"Jonathan del Strother","email":"jdelStrother@gmail.com"},"license":"MIT","_id":"@audioboom/typings-for-css-modules-loader@3.0.3","maintainers":[{"name":"jdelstrother","email":"jdelStrother@gmail.com"}],"homepage":"https://github.com/audioBoom/typings-for-css-modules-loader#readme","bugs":{"url":"https://github.com/audioBoom/typings-for-css-modules-loader/issues"},"dist":{"shasum":"c855a8e6eb2f55095b30797f553333e0aaa6d6e3","tarball":"https://registry.npmjs.org/@audioboom/typings-for-css-modules-loader/-/typings-for-css-modules-loader-3.0.3.tgz","fileCount":7,"integrity":"sha512-Krvh6tGTE0HFP2faHUlxd7H28bFYUqYqxM10c6wViGuMdiY/5BSyPV+h0ex6N9lDuiQBk7O8K6z7DWK9Pva7/w==","signatures":[{"sig":"MEYCIQC9czTqefrtD6ymsdvk7ZxVWmCXsIBghNI/562P/hGZDgIhAJdHGIT3wJRIaiO+RRnujZD8zuFmkcWHeEXBkfK8OLr/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@audioboom%2ftypings-for-css-modules-loader@3.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22752},"main":"src/index.js","gitHead":"d5073d1b92fbdeeacd4866d4f173a0428d561f29","scripts":{"//":"experimental-vm-modules is needed for prettier v3 in jest","test":"NODE_OPTIONS=--experimental-vm-modules jest","release":"release-it"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44705823-3298-4e56-a7aa-5c31c7e3a73b"}},"release-it":{"git":{"changelog":"npx auto-changelog --stdout --commit-limit false --unreleased --template https://raw.githubusercontent.com/release-it/release-it/master/templates/changelog-compact.hbs"},"npm":{"skipChecks":true},"hooks":{"after:bump":"npx auto-changelog --commit-limit false https://raw.githubusercontent.com/release-it/release-it/master/templates/keepachangelog.hbs"},"github":{"release":true}},"repository":{"url":"git+https://github.com/audioBoom/typings-for-css-modules-loader.git","type":"git"},"_npmVersion":"11.13.0","description":"Webpack loader that generates TypeScript typings for CSS modules from css-loader on the fly","directories":{},"_nodeVersion":"24.16.0","dependencies":{"camelcase":"^5.3.1","loader-utils":"^1.4.2","schema-utils":"^2.0.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","memfs":"^3.4.13","eslint":"^10.4.1","globals":"^17.6.0","webpack":"^5.75.0","prettier":"*","@eslint/js":"^10.0.1","css-loader":"*","release-it":"^20.2.0","typescript":"^4.9.4","@types/jest":"^30.0.0","css-loader6":"npm:css-loader@^6.11.0","auto-changelog":"^2.2.1","eslint-plugin-jest":"^29.15.2","eslint-config-prettier":"^10.1.8"},"optionalDependencies":{"prettier":"*"},"_npmOperationalInternal":{"tmp":"tmp/typings-for-css-modules-loader_3.0.3_1780320486508_0.8451323281124163","host":"s3://npm-registry-packages-npm-production"}},"3.0.4":{"name":"@audioboom/typings-for-css-modules-loader","version":"3.0.4","description":"Webpack loader that generates TypeScript typings for CSS modules from css-loader on the fly","main":"src/index.js","scripts":{"//":"experimental-vm-modules is needed for prettier v3 in jest","test":"NODE_OPTIONS=--experimental-vm-modules jest","release":"release-it"},"author":{"name":"Jonathan del Strother","email":"jdelStrother@gmail.com"},"license":"MIT","keywords":["Typescript","TypeScript","CSS Modules","CSSModules","CSS Modules typings","Webpack","Webpack loader","Webpack css module typings loader","typescript webpack typings","css modules webpack typings"],"dependencies":{"camelcase":"^5.3.1","loader-utils":"^1.4.2","schema-utils":"^2.0.1"},"devDependencies":{"@eslint/js":"^10.0.1","@types/jest":"^30.0.0","auto-changelog":"^2.2.1","css-loader":"*","css-loader6":"npm:css-loader@^6.11.0","eslint":"^10.4.1","eslint-config-prettier":"^10.1.8","eslint-plugin-jest":"^29.15.2","globals":"^17.6.0","jest":"^30.4.2","memfs":"^3.4.13","prettier":"*","release-it":"^20.2.0","typescript":"^4.9.4","webpack":"^5.75.0"},"optionalDependencies":{"prettier":"*"},"repository":{"type":"git","url":"git+https://github.com/audioBoom/typings-for-css-modules-loader.git"},"bugs":{"url":"https://github.com/audioBoom/typings-for-css-modules-loader/issues"},"homepage":"https://github.com/audioBoom/typings-for-css-modules-loader#readme","release-it":{"npm":{"skipChecks":true},"github":{"release":true},"git":{"changelog":"npx auto-changelog --stdout --commit-limit false --unreleased --template https://raw.githubusercontent.com/release-it/release-it/master/templates/changelog-compact.hbs"},"hooks":{"after:bump":"npx auto-changelog --commit-limit false https://raw.githubusercontent.com/release-it/release-it/master/templates/keepachangelog.hbs"}},"publishConfig":{"access":"public","provenance":true},"gitHead":"ff2214092a929491828b452b9c90472d8a53fdbe","_id":"@audioboom/typings-for-css-modules-loader@3.0.4","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-7+OtxY4QlNtNPjwyvyr0GnMWB+JjyNSAsxkN0t4TjkwrKp5cnQ+yp4CaW3l/eDzDDk0nS5/5XChLx4VioLNg0Q==","shasum":"0e58e095e2a1b0e8ba5687097758ec84a203d3c5","tarball":"https://registry.npmjs.org/@audioboom/typings-for-css-modules-loader/-/typings-for-css-modules-loader-3.0.4.tgz","fileCount":7,"unpackedSize":22752,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@audioboom%2ftypings-for-css-modules-loader@3.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICxYiJRs5YRwz+k60bOCaeIQhNwGeNJQyngp6BZ5RdsaAiEA6no4SgWkvQIJFaj/k4D5mMPJORbItt4VyaohxQKeBEQ="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:44705823-3298-4e56-a7aa-5c31c7e3a73b"}},"directories":{},"maintainers":[{"name":"jdelstrother","email":"jdelStrother@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/typings-for-css-modules-loader_3.0.4_1780321472758_0.9486496135519313"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-01T10:33:37.294Z","modified":"2026-06-01T13:44:33.180Z","2.5.2":"2026-06-01T10:33:37.582Z","3.0.0":"2026-06-01T13:11:08.298Z","3.0.1":"2026-06-01T13:18:40.642Z","3.0.2":"2026-06-01T13:25:01.964Z","3.0.3":"2026-06-01T13:28:06.643Z","3.0.4":"2026-06-01T13:44:32.898Z"},"bugs":{"url":"https://github.com/audioBoom/typings-for-css-modules-loader/issues"},"author":{"name":"Jonathan del Strother","email":"jdelStrother@gmail.com"},"license":"MIT","homepage":"https://github.com/audioBoom/typings-for-css-modules-loader#readme","keywords":["Typescript","TypeScript","CSS Modules","CSSModules","CSS Modules typings","Webpack","Webpack loader","Webpack css module typings loader","typescript webpack typings","css modules webpack typings"],"repository":{"type":"git","url":"git+https://github.com/audioBoom/typings-for-css-modules-loader.git"},"description":"Webpack loader that generates TypeScript typings for CSS modules from css-loader on the fly","maintainers":[{"name":"jdelstrother","email":"jdelStrother@gmail.com"}],"readme":"[![npm][npm]][npm-url]\n\n# typings-for-css-modules-loader\n\nWebpack loader that generates TypeScript typings for CSS modules from css-loader on the fly\n\n## Disclaimer\n\nThis repository is a fork of the unmaintained https://github.com/TeamSupercell/typings-for-css-modules-loader repository,\nwhich in turn was a fork of the unmaintained https://github.com/Jimdo/typings-for-css-modules-loader repository.\n\nWill this be better-maintained? Possibly not.\n\n## Installation\n\nInstall via npm `npm install --save-dev @audioboom/typings-for-css-modules-loader`\n\n**webpack.config.js**\n\n```js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.css$/i,\n        use: [\n          \"style-loader\",\n          \"@audioboom/typings-for-css-modules-loader\",\n          {\n            loader: \"css-loader\",\n            options: { modules: true },\n          },\n        ],\n      },\n    ],\n  },\n};\n```\n\n## Options\n\n|                       Name                        |    Type     |                                   Description                                    |\n| :-----------------------------------------------: | :---------: | :------------------------------------------------------------------------------: |\n|              **[`banner`](#banner)**              | `{String}`  |             To add a 'banner' prefix to each generated `*.d.ts` file             |\n|           **[`formatter`](#formatter)**           | `{String}`  |   Formats the generated `*.d.ts` file with specified formatter, eg. `prettier`   |\n|                 **[`eol`](#eol)**                 | `{String}`  |             Newline character to be used in generated `*.d.ts` files             |\n|          **[`verifyOnly`](#verifyOnly)**          | `{Boolean}` | Validate generated `*.d.ts` files and fail if an update is needed (useful in CI) |\n|          **[`esmExports`](#esmExports)**          | `{Boolean}` |              ESM exports, default true. Set false for CJS exports.               |\n| **[`disableLocalsExport`](#disableLocalsExport)** | `{Boolean}` |                        Disable the use of locals export.                         |\n|  **[`prettierConfigFile`](#prettierConfigFile)**  | `{String}`  |                           Path to prettier config file                           |\n\n### `banner`\n\nTo add a \"banner\" prefix to each generated `*.d.ts` file, you can pass a string to this option as shown below. The prefix is quite literally prefixed into the generated file, so please ensure it conforms to the type definition syntax.\n\n```js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.css$/i,\n        use: [\n          {\n            loader: \"@audioboom/typings-for-css-modules-loader\",\n            options: {\n              banner:\n                \"// autogenerated by typings-for-css-modules-loader. \\n// Please do not change this file!\",\n            },\n          },\n          {\n            loader: \"css-loader\",\n            options: { modules: true },\n          },\n        ],\n      },\n    ],\n  },\n};\n```\n\n### `formatter`\n\nPossible options: `none` and `prettier` (requires `prettier` package to be installed). Defaults to prettier if `prettier` module can be resolved.\n\n```js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.css$/i,\n        use: [\n          {\n            loader: \"@audioboom/typings-for-css-modules-loader\",\n            options: {\n              formatter: \"prettier\",\n            },\n          },\n          {\n            loader: \"css-loader\",\n            options: { modules: true },\n          },\n        ],\n      },\n    ],\n  },\n};\n```\n\n### `eol`\n\nNewline character to be used in generated `*.d.ts` files. By default a value from `require('os').eol` is used.\nThis option is ignored when [`formatter`](#formatter) `prettier` is used.\n\n```js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.css$/i,\n        use: [\n          {\n            loader: \"@audioboom/typings-for-css-modules-loader\",\n            options: {\n              eol: \"\\r\\n\",\n            },\n          },\n          {\n            loader: \"css-loader\",\n            options: { modules: true },\n          },\n        ],\n      },\n    ],\n  },\n};\n```\n\n### `verifyOnly`\n\nValidate generated `*.d.ts` files and fail if an update is needed (useful in CI).\n\n```js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.css$/i,\n        use: [\n          {\n            loader: \"@audioboom/typings-for-css-modules-loader\",\n            options: {\n              verifyOnly: process.env.NODE_ENV === \"production\",\n            },\n          },\n          {\n            loader: \"css-loader\",\n            options: { modules: true },\n          },\n        ],\n      },\n    ],\n  },\n};\n```\n\n### `disableLocalsExport`\n\nDisable the use of locals export. Defaults to `false`.\nHas no effect when esmExports is true (which it is by default) - with esmExports, local exports are always disabled.\n\n```js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.css$/i,\n        use: [\n          {\n            loader: \"@audioboom/typings-for-css-modules-loader\",\n            options: {\n              esmExports: false,\n              disableLocalsExport: true,\n            },\n          },\n          {\n            loader: \"css-loader\",\n            options: { modules: true },\n          },\n        ],\n      },\n    ],\n  },\n};\n```\n\n### `prettierConfigFile`\n\nPath to the prettier config file\n\n```js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.css$/i,\n        use: [\n          {\n            loader: \"@audioboom/typings-for-css-modules-loader\",\n            options: {\n              prettierConfigFile: resolve(__dirname, \"../.prettierrc\"),\n            },\n          },\n          {\n            loader: \"css-loader\",\n            options: { modules: true },\n          },\n        ],\n      },\n    ],\n  },\n};\n```\n\n## Example\n\nImagine you have a file `~/my-project/src/component/MyComponent/myComponent.scss` in your project with the following content:\n\n```scss\n.some-class {\n  // some styles\n  &.someOtherClass {\n    // some other styles\n  }\n  &-sayWhat {\n    // more styles\n  }\n}\n```\n\nAdding the `typings-for-css-modules-loader` will generate a file `~/my-project/src/component/MyComponent/myComponent.scss.d.ts` that has the following content:\n\n```ts\ndeclare const CSS_some_class: string;\nexport { CSS_some_class as \"some-class\" };\nexport someOtherClass: string;\ndeclare const CSS_some_class: string;\nexport { CSS_some_class_sayWhat as \"some-class-sayWhat\" };\n```\n\n```ts\n// using wildcard export when used with style-loader or mini-css-extract-plugin\n// or default export only when typescript `esModuleInterop` enabled\nimport * as styles from \"./myComponent.scss\";\n\nconsole.log(styles[\"some-class\"]);\nconsole.log(styles.someOtherClass);\n```\n\n```ts\n// using locals export when used without style-loader or mini-css-extract-plugin\nimport { locals } from \"./myComponent.scss\";\n\nconsole.log(locals[\"some-class\"]);\nconsole.log(locals.someOtherClass);\n```\n\n### Example in Visual Studio Code\n\n![typed-css-modules](https://cloud.githubusercontent.com/assets/749171/16340497/c1cb6888-3a28-11e6-919b-f2f51a282bba.gif)\n\n## Upgrade from v1:\n\n- Update webpack config\n  - This package no longer replaces `css-loader`, but it has to be added alongside `css-loader`:\n  - `css-loader` is no longer a peer dependency due to the change above\n  - `css-loader` will need to be configured to output CSS Modules (e.g. `options: { modules: true; }`)\n\n```diff\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.css$/i,\n        use: [\n          \"style-loader\",\n          {\n            loader: \"@audioboom/typings-for-css-modules-loader\",\n            options: {\n              // pass all the options for `css-loader` to `css-loader`, eg.\n-             namedExport: true,\n-             modules: true\n            }\n          },\n+         {\n+           loader: \"css-loader\",\n+           options: {\n+             modules: true\n+           }\n+         },\n        ]\n      }\n    ]\n  }\n};\n```\n\n## Support\n\nAs the loader just acts as an intermediary it can handle all kind of css preprocessors (`sass`, `scss`, `stylus`, `less`, ...).\nThe only requirement is that those preprocessors have proper webpack loaders defined - meaning they can already be loaded by webpack anyways.\n\n## Requirements\n\nThe loader is supposed to be used with `css-loader`(https://github.com/webpack/css-loader). Thus it is a peer-dependency and the expected loader to create CSS Modules.\n\n## Known issues\n\n### Webpack rebuilds / builds slow\n\nAs the loader generates typing files, it is wise to tell webpack to ignore them.\nThe fix is luckily very simple. Webpack ships with a \"WatchIgnorePlugin\" out of the box.\nSimply add this to your webpack plugins:\n\n```\nplugins: [\n    new webpack.WatchIgnorePlugin([\n      /css\\.d\\.ts$/\n    ]),\n    ...\n  ]\n```\n\nwhere `css` is the file extension of your style files. If you use `sass` you need to put `sass` here instead. If you use `less`, `stylus` or any other style language use their file ending.\n\n### Typescript does not find the typings\n\nAs the webpack process is independent from your typescript \"runtime\" it may take a while for typescript to pick up the typings.\n\nIt is possible to write a custom webpack plugin using the `fork-ts-checker-service-before-start` hook from https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#plugin-hooks to delay the start of type checking until all the `*.d.ts` files are generated. Potentially, this plugin can be included in this repository.\n\n[npm]: https://img.shields.io/npm/v/@audioboom/typings-for-css-modules-loader.svg\n[npm-url]: https://npmjs.com/package/@audioboom/typings-for-css-modules-loader\n","readmeFilename":"README.md"}