{"_id":"oxlint-config-universe","_rev":"8-18640c934082e43600326d3b187d38b5","name":"oxlint-config-universe","dist-tags":{"latest":"0.2.0"},"versions":{"0.0.1":{"name":"oxlint-config-universe","version":"0.0.1","keywords":["expo","oxlint","oxlint-config"],"author":{"name":"Expo"},"license":"MIT","_id":"oxlint-config-universe@0.0.1","maintainers":[{"name":"wschurman","email":"wschurman@gmail.com"}],"homepage":"https://github.com/expo/oxlint-config-universe","bugs":{"url":"https://github.com/expo/oxlint-config-universe/issues"},"dist":{"shasum":"5ffb73983cb9c6f12508ffaf6bc172dbbb792cbf","tarball":"https://registry.npmjs.org/oxlint-config-universe/-/oxlint-config-universe-0.0.1.tgz","fileCount":18,"integrity":"sha512-DjQhgwqATgtVZBv61yUSMZIVDfz8l6XrvfqzZysgnqPGoUsCV8g9z46ds/y2MsAXTk1zpj0wsKgfgUktXbUCrg==","signatures":[{"sig":"MEQCIAfXFYxmVyqCKnwGPb9Ia3tV7Col2ryXJrndtoSIx4YcAiBy/WvojdS0eyBielsBio+GiiiTWtSSRaBNL3mrqXhzGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17477},"jest":{"testMatch":["**/__tests__/*-test.js"]},"main":"index.js","type":"module","types":"./index.d.ts","volta":{"node":"22.18.0"},"exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web.d.ts","default":"./web.js"},"./node":{"types":"./node.d.ts","default":"./node.js"},"./native":{"types":"./native.d.ts","default":"./native.js"},"./default":{"types":"./default.d.ts","default":"./default.js"},"./typescript-analysis":{"types":"./shared/typescript-analysis.d.ts","default":"./shared/typescript-analysis.js"}},"gitHead":"b4b0fed68dccf26bf434a99c889ce2019b7b6669","scripts":{"lint":"oxlint . -c oxlint.config.js","test":"jest","format":"oxfmt --write .","format:check":"oxfmt --check ."},"_npmUser":{"name":"wschurman","email":"wschurman@gmail.com"},"repository":{"url":"git+https://github.com/expo/oxlint-config-universe.git","type":"git"},"_npmVersion":"10.9.3","description":"Shared oxlint configs for internal Expo projects.","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"glob":"^13.0.6","jest":"^29.7.0","oxfmt":"^0.44.0","oxlint":"^1.59.0","oxlint-tsgolint":"^0.20.0","@expo/spawn-async":"^1.7.2"},"peerDependencies":{"oxlint":">=1.59.0"},"_npmOperationalInternal":{"tmp":"tmp/oxlint-config-universe_0.0.1_1775665005054_0.13194550871640942","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"oxlint-config-universe","version":"0.0.2","keywords":["expo","oxlint","oxlint-config"],"author":{"name":"Expo"},"license":"MIT","_id":"oxlint-config-universe@0.0.2","maintainers":[{"name":"ide","email":"ide+npm@jameside.com"},{"name":"wschurman","email":"wschurman@gmail.com"}],"homepage":"https://github.com/expo/oxlint-config-universe","bugs":{"url":"https://github.com/expo/oxlint-config-universe/issues"},"dist":{"shasum":"2ed2f9869aa3ebd5edcb594b598b41d8ee44687a","tarball":"https://registry.npmjs.org/oxlint-config-universe/-/oxlint-config-universe-0.0.2.tgz","fileCount":18,"integrity":"sha512-7d5aHCbbS6Prs2kH9LrXSKoBVH6SkHC8yKz4uzqaB3h32rMWcSjeoEZIgQgEMoZsRCK1QljWuHA6ONrI5lcCgA==","signatures":[{"sig":"MEQCID6ghKfFAyYiW/IO2x9Rynkg/5xA0xdKaOhUev6H45KHAiBJG9AvWT95/ivb4Dija/sLJdC4HAmJ7+wirFqT5xuBVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17165},"jest":{"testMatch":["**/__tests__/*-test.js"]},"main":"index.js","type":"module","types":"./index.d.ts","volta":{"node":"22.18.0"},"exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web.d.ts","default":"./web.js"},"./node":{"types":"./node.d.ts","default":"./node.js"},"./native":{"types":"./native.d.ts","default":"./native.js"},"./default":{"types":"./default.d.ts","default":"./default.js"},"./typescript-analysis":{"types":"./shared/typescript-analysis.d.ts","default":"./shared/typescript-analysis.js"}},"gitHead":"124b945d17bd56af6a077e48075ca80312b63bb9","scripts":{"lint":"oxlint . -c oxlint.config.js","test":"jest","format":"oxfmt --write .","format:check":"oxfmt --check ."},"_npmUser":{"name":"wschurman","email":"wschurman@gmail.com"},"repository":{"url":"git+https://github.com/expo/oxlint-config-universe.git","type":"git"},"_npmVersion":"10.9.3","description":"Shared oxlint configs for internal Expo projects.","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"glob":"^13.0.6","jest":"^29.7.0","oxfmt":"^0.44.0","oxlint":"^1.59.0","oxlint-tsgolint":"^0.20.0","@expo/spawn-async":"^1.7.2"},"peerDependencies":{"oxlint":">=1.59.0"},"_npmOperationalInternal":{"tmp":"tmp/oxlint-config-universe_0.0.2_1775684849643_0.012288096136106041","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"oxlint-config-universe","version":"0.0.3","keywords":["expo","oxlint","oxlint-config"],"author":{"name":"Expo"},"license":"MIT","_id":"oxlint-config-universe@0.0.3","maintainers":[{"name":"ide","email":"ide+npm@jameside.com"},{"name":"brentvatne","email":"brentvatne@gmail.com"},{"name":"evanbacon","email":"baconbrix@gmail.com"},{"name":"expoadmin","email":"support@expo.io"},{"name":"exponent","email":"exponent.team@gmail.com"},{"name":"bycedric","email":"me@bycedric.com"},{"name":"kudochien","email":"ckchien@gmail.com"},{"name":"alanhughes","email":"hughesno1@gmail.com"},{"name":"tsapeta","email":"npm@tsapeta.com"},{"name":"expo-bot","email":"brent+expobotnpm@expo.io"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"wschurman","email":"wschurman@gmail.com"}],"homepage":"https://github.com/expo/oxlint-config-universe","bugs":{"url":"https://github.com/expo/oxlint-config-universe/issues"},"dist":{"shasum":"e937e4acbdf2a076dba2f59f47b13e9f60608015","tarball":"https://registry.npmjs.org/oxlint-config-universe/-/oxlint-config-universe-0.0.3.tgz","fileCount":18,"integrity":"sha512-EpKPtjNpDu2EfkmIsjGMAuM3QQ37fVaLdjg6sEK+lGf5QZpK+pX9DjG6F9zz29iLfdgvojAQveQZW6ViFbhd+Q==","signatures":[{"sig":"MEUCIQDJ0p/7LlycuNC52mJIcIiatZ+xOeAA1vd+FNUnt5ZbtAIgZPQ6q183lpm6k170+Y/ILeLiq5/pYt4XEFunMoW9ZlM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18205},"jest":{"testMatch":["**/__tests__/*-test.js"]},"main":"index.js","type":"module","types":"./index.d.ts","volta":{"node":"22.18.0"},"exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web.d.ts","default":"./web.js"},"./node":{"types":"./node.d.ts","default":"./node.js"},"./native":{"types":"./native.d.ts","default":"./native.js"},"./default":{"types":"./default.d.ts","default":"./default.js"},"./typescript-analysis":{"types":"./shared/typescript-analysis.d.ts","default":"./shared/typescript-analysis.js"}},"gitHead":"a082d4f808eaea495b5f62b5bad4342d69de7442","scripts":{"lint":"oxlint . -c oxlint.config.js","test":"jest","format":"oxfmt --write .","format:check":"oxfmt --check ."},"_npmUser":{"name":"wschurman","email":"wschurman@gmail.com"},"repository":{"url":"git+https://github.com/expo/oxlint-config-universe.git","type":"git"},"_npmVersion":"10.9.3","description":"Shared oxlint configs for internal Expo projects.","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"glob":"^13.0.6","jest":"^29.7.0","oxfmt":"^0.44.0","oxlint":"^1.59.0","oxlint-tsgolint":"^0.20.0","@expo/spawn-async":"^1.7.2"},"peerDependencies":{"oxlint":">=1.59.0"},"_npmOperationalInternal":{"tmp":"tmp/oxlint-config-universe_0.0.3_1775755941576_0.21817459171477438","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"oxlint-config-universe","version":"0.2.0","keywords":["expo","oxlint","oxlint-config"],"author":{"name":"Expo"},"license":"MIT","_id":"oxlint-config-universe@0.2.0","maintainers":[{"name":"ide","email":"ide+npm@jameside.com"},{"name":"brentvatne","email":"brentvatne@gmail.com"},{"name":"expoadmin","email":"support@expo.io"},{"name":"exponent","email":"exponent.team@gmail.com"},{"name":"bycedric","email":"me@bycedric.com"},{"name":"kudochien","email":"ckchien@gmail.com"},{"name":"alanhughes","email":"hughesno1@gmail.com"},{"name":"tsapeta","email":"npm@tsapeta.com"},{"name":"expo-bot","email":"brent+expobotnpm@expo.io"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"ccheever","email":"ccheever@gmail.com"},{"name":"wschurman","email":"wschurman@gmail.com"}],"homepage":"https://github.com/expo/oxlint-config-universe","bugs":{"url":"https://github.com/expo/oxlint-config-universe/issues"},"dist":{"shasum":"1c1c284fc8f82d8ba8854c912079ad6defb38ed8","tarball":"https://registry.npmjs.org/oxlint-config-universe/-/oxlint-config-universe-0.2.0.tgz","fileCount":21,"integrity":"sha512-uGpKrct7Ny+NsU1QVcHfY3ONFu9q1ip26ymxwzNFgBPAhOqIPn8EM68GNy+G9AXf9usU4jbt14Kk5PUVBKFPPw==","signatures":[{"sig":"MEYCIQDkaFTHj7WAHB0y5F7F6rA6UJkIRVGWITKwtaGe6ioA2wIhAI3bF2Vm5xtMjGIwVJv8oWNuRl3RZckPJ9YJcrifZU2c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oxlint-config-universe@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":20209},"jest":{"testMatch":["**/__tests__/*-test.js"]},"main":"index.js","type":"module","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","default":"./index.js"},"./web":{"types":"./web.d.ts","default":"./web.js"},"./node":{"types":"./node.d.ts","default":"./node.js"},"./native":{"types":"./native.d.ts","default":"./native.js"},"./default":{"types":"./default.d.ts","default":"./default.js"},"./typescript-analysis":{"types":"./shared/typescript-analysis.d.ts","default":"./shared/typescript-analysis.js"}},"gitHead":"a00bdcd0b0c8619dbcd786023fac1a0c85d0aebf","scripts":{"lint":"oxlint . -c oxlint.config.js","test":"jest","format":"oxfmt --write .","build:types":"rm -f *.d.ts shared/*.d.ts && tsc -p tsconfig.build.json && oxfmt --write .","format:check":"oxfmt --check ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:66e36e8a-05d4-40b4-85dc-41f586c1601d"}},"repository":{"url":"git+https://github.com/expo/oxlint-config-universe.git","type":"git"},"_npmVersion":"11.17.0","description":"Shared oxlint configs for internal Expo projects.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"packageManager":"yarn@4.18.0+sha512.fcb8716fe7cd0eece141ffc18b92193a9df9204c1ba83189c288835223fc0bbe64af473bab0d5e9927a7daeb5caf2bb07eb2787cc9338ca040ea125f2a1f2f7e","devDependencies":{"glob":"^13.0.6","jest":"^29.7.0","oxfmt":"^0.64.0","oxlint":"^1.79.0","typescript":"7","oxlint-tsgolint":"^7.0.2001","@expo/spawn-async":"^1.7.2"},"peerDependencies":{"oxlint":">=1.79.0","oxlint-tsgolint":">=7.0.2001"},"peerDependenciesMeta":{"oxlint-tsgolint":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/oxlint-config-universe_0.2.0_1787360022354_0.06630479676753187","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-04-08T16:16:45.053Z","modified":"2026-09-23T11:29:00.536Z","0.0.1":"2026-04-08T16:16:45.214Z","0.0.2":"2026-04-08T21:47:29.808Z","0.0.3":"2026-04-09T17:32:21.695Z","0.2.0":"2026-08-22T00:53:42.518Z"},"bugs":{"url":"https://github.com/expo/oxlint-config-universe/issues"},"author":{"name":"Expo"},"license":"MIT","homepage":"https://github.com/expo/oxlint-config-universe","keywords":["expo","oxlint","oxlint-config"],"repository":{"url":"git+https://github.com/expo/oxlint-config-universe.git","type":"git"},"description":"Shared oxlint configs for internal Expo projects.","maintainers":[{"email":"ide+npm@jameside.com","name":"ide"},{"email":"brentvatne@gmail.com","name":"brentvatne"},{"email":"support@expo.io","name":"expoadmin"},{"email":"exponent.team@gmail.com","name":"exponent"},{"email":"me@bycedric.com","name":"bycedric"},{"email":"ckchien@gmail.com","name":"kudochien"},{"email":"hughesno1@gmail.com","name":"alanhughes"},{"email":"npm@tsapeta.com","name":"tsapeta"},{"email":"brent+expobotnpm@expo.io","name":"expo-bot"},{"email":"phil@kitten.sh","name":"philpl"},{"email":"ccheever@gmail.com","name":"ccheever"},{"email":"sz.dziedz@gmail.com","name":"szdziedzic"},{"email":"wschurman@gmail.com","name":"wschurman"}],"readme":"# oxlint-config-universe\n\nShared [oxlint](https://oxc.rs/) configs for Expo projects. This is the oxlint equivalent of [eslint-config-universe](../eslint-config-universe).\n\n## Installation\n\n```sh\nnpm install --save-dev oxlint-config-universe oxlint\n```\n\n## Usage\n\nCreate an `oxlint.config.ts` (or `.js`) in your project root:\n\n```ts\nimport { defineConfig } from 'oxlint';\nimport native from 'oxlint-config-universe/native';\n\nexport default defineConfig({\n  extends: [native],\n  // your overrides here\n});\n```\n\n### Available presets\n\n| Preset                           | Use for                     |\n| -------------------------------- | --------------------------- |\n| `oxlint-config-universe/default` | General TypeScript projects |\n| `oxlint-config-universe/native`  | React Native / Expo apps    |\n| `oxlint-config-universe/node`    | Node.js projects            |\n| `oxlint-config-universe/web`     | Web / React projects        |\n\nYou can also import all presets from the main entry:\n\n```ts\nimport { native } from 'oxlint-config-universe';\n```\n\n## Type-aware TypeScript rules\n\nFor type-aware linting (rules that use the TypeScript type checker, like `no-floating-promises`), import the `typescript-analysis` shared config:\n\n```ts\nimport { defineConfig } from 'oxlint';\nimport native from 'oxlint-config-universe/native';\nimport typescriptAnalysis from 'oxlint-config-universe/typescript-analysis';\n\nexport default defineConfig({\n  extends: [native, typescriptAnalysis],\n});\n```\n\nThis enables `typeAware: true` and adds rules like `await-thenable`, `no-floating-promises`, `no-misused-promises`, `prefer-nullish-coalescing`, etc. This requires [type-aware linting](https://oxc.rs/docs/guide/usage/type-aware-linting.html).\n\n## Formatting\n\nThis config intentionally omits all formatting/style rules (spacing, semicolons, indentation, commas, etc.). Use [oxfmt](https://oxc.rs/docs/guide/usage/formatter.html) for code formatting.\n\n## Rules not covered by oxlint\n\nThe following rules from `eslint-config-universe` do not have `oxlint-config-universe` coverage. If you need them, you'll need to keep ESLint running alongside oxlint for these specific rules, or accept the gap.\n\n### Core ESLint rules\n\n| Rule              | Notes                                                                                   |\n| ----------------- | --------------------------------------------------------------------------------------- |\n| `no-dupe-args`    | Not implemented in oxlint                                                               |\n| `no-implied-eval` | Only available with type-aware, present in `oxlint-config-universe/typescript-analysis` |\n| `no-octal`        | Not implemented                                                                         |\n| `no-octal-escape` | Not implemented                                                                         |\n\n### Import rules\n\n| Rule           | Notes                                                                                               |\n| -------------- | --------------------------------------------------------------------------------------------------- |\n| `import/order` | Not implemented — use [oxfmt `sortImports`](https://oxc.rs/docs/guide/usage/formatter.html) instead |\n\nRecommended oxfmt config to match eslint-config-universe import/order configuration fairly closely:\n\n```json\n\"sortImports\": {\n  \"groups\": [\n    [\"builtin\", \"external\"],\n    [\"internal\", \"subpath\"],\n    [\"parent\", \"sibling\", \"index\"],\n    \"unknown\"\n  ],\n  \"ignoreCase\": false\n}\n```\n\n### React rules\n\n| Rule                                | Notes                                 |\n| ----------------------------------- | ------------------------------------- |\n| `react/jsx-no-bind`                 | Not implemented                       |\n| `react/jsx-uses-react`              | Obsolete with React 17+ JSX transform |\n| `react/jsx-uses-vars`               | Handled inherently by oxlint          |\n| `react/no-access-state-in-setstate` | Not implemented                       |\n\n### Node rules\n\n| Rule                    | Notes           |\n| ----------------------- | --------------- |\n| `no-buffer-constructor` | Not implemented |\n\n### Prettier integration\n\nThe `prettier/prettier` rule and eslint-config-prettier are not applicable. Use [oxfmt](https://oxc.rs/docs/guide/usage/formatter.html) for formatting instead.\n","readmeFilename":"README.md"}