{"_id":"@autometa/playwright-loader","_rev":"6-4127a8117bc4cb5d6f394c0c683576ef","name":"@autometa/playwright-loader","dist-tags":{"rc":"1.0.0-rc.0","latest":"1.0.0-rc.5"},"versions":{"1.0.0-rc.0":{"name":"@autometa/playwright-loader","version":"1.0.0-rc.0","license":"MIT","_id":"@autometa/playwright-loader@1.0.0-rc.0","maintainers":[{"name":"benah","email":"benaherne@outlook.ie"}],"dist":{"shasum":"cc2ebf3e8b01cca76f010cce8797d1b1a0e6f594","tarball":"https://registry.npmjs.org/@autometa/playwright-loader/-/playwright-loader-1.0.0-rc.0.tgz","fileCount":18,"integrity":"sha512-7CVn00vib3q3NnQYdgeXNDtE5ky9O+cju6UeNuw7NB40HHXjj/rJ8XKuajFEtYQUFysI/zTDbDQMwqlhK9YVjA==","signatures":[{"sig":"MEQCIGnTTdQ4O5VWpERGda4Ku+B+NggacP4bXUJoPqjW9xV3AiAVzREWQbswF/LYFRBiTlueJaj4Smu+rZy5FrjxOKW2Rg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225513},"main":"dist/index.cjs","type":"module","_from":"file:autometa-playwright-loader-1.0.0-rc.0.tgz","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./register":{"import":"./dist/register.js","default":"./dist/register.js","require":"./dist/register.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint . --max-warnings 0","test":"vitest run --passWithNoTests","build":"tsup && pnpm run build:types","clean":"rimraf dist","test:ui":"vitest --ui --passWithNoTests","coverage":"vitest run --coverage --passWithNoTests","lint:fix":"eslint . --fix","prettify":"prettier --config .prettierrc 'src/**/*.ts' --write","test:watch":"vitest --passWithNoTests","type-check":"tsc --noEmit","build:types":"rimraf tsconfig.types.tsbuildinfo && tsc --build tsconfig.types.json","build:watch":"tsup --watch","type-check:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"benah","email":"benaherne@outlook.ie"},"_resolved":"/private/var/folders/5r/qkpdcmf16sd7vjrwd54r1kzc0000gq/T/f2b610174ee684776dc938c8979d59ba/autometa-playwright-loader-1.0.0-rc.0.tgz","_integrity":"sha512-7CVn00vib3q3NnQYdgeXNDtE5ky9O+cju6UeNuw7NB40HHXjj/rJ8XKuajFEtYQUFysI/zTDbDQMwqlhK9YVjA==","_npmVersion":"10.9.2","description":"Node.js loader for Autometa - transforms .feature files for Playwright","directories":{},"_nodeVersion":"23.7.0","dependencies":{"jiti":"^1.21.0","fast-glob":"^3.3.2","@autometa/config":"1.0.0-rc.0","@autometa/runner":"1.0.0-rc.0","@autometa/gherkin":"1.0.0-rc.0","@autometa/playwright-executor":"1.0.0-rc.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.2.0","eslint":"^8.37.0","rimraf":"^4.1.2","vitest":"1.4.0","tsconfig":"0.7.0","typescript":"^4.9.5","@types/node":"^18.11.18","tsup-config":"0.1.0","eslint-config-custom":"0.6.0"},"peerDependencies":{"@playwright/test":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/playwright-loader_1.0.0-rc.0_1768395962078_0.4198737430579462","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.1":{"name":"@autometa/playwright-loader","version":"1.0.0-rc.1","license":"MIT","_id":"@autometa/playwright-loader@1.0.0-rc.1","maintainers":[{"name":"benah","email":"benaherne@outlook.ie"}],"dist":{"shasum":"9dded3bb1560484e2524c81ef4a6fc1014eb4d54","tarball":"https://registry.npmjs.org/@autometa/playwright-loader/-/playwright-loader-1.0.0-rc.1.tgz","fileCount":18,"integrity":"sha512-KyszXULbfJpiKSBmHvuBFj78eLMU93/+h5OFHozJrIsb2yt1qRg1lyh8CFZ7fOl4PFRdIQyPHEKJIe7tNASLlQ==","signatures":[{"sig":"MEUCIGph8IP7ZsyzJ1npGUuQu5z+MMKM9Rf05xcVXAAyJqlDAiEApGRvGH8+Lr7mPx61lqwV01uBP0eV4HegrQmTpddkwoQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225513},"main":"dist/index.cjs","type":"module","_from":"file:autometa-playwright-loader-1.0.0-rc.1.tgz","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./register":{"import":"./dist/register.js","default":"./dist/register.js","require":"./dist/register.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint . --max-warnings 0","test":"vitest run --passWithNoTests","build":"tsup && pnpm run build:types","clean":"rimraf dist","test:ui":"vitest --ui --passWithNoTests","coverage":"vitest run --coverage --passWithNoTests","lint:fix":"eslint . --fix","prettify":"prettier --config .prettierrc 'src/**/*.ts' --write","test:watch":"vitest --passWithNoTests","type-check":"tsc --noEmit","build:types":"rimraf tsconfig.types.tsbuildinfo && tsc --build tsconfig.types.json","build:watch":"tsup --watch","type-check:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"benah","email":"benaherne@outlook.ie"},"_resolved":"/private/var/folders/5r/qkpdcmf16sd7vjrwd54r1kzc0000gq/T/ff468053cffe51c382a9c8d03ddaffdc/autometa-playwright-loader-1.0.0-rc.1.tgz","_integrity":"sha512-KyszXULbfJpiKSBmHvuBFj78eLMU93/+h5OFHozJrIsb2yt1qRg1lyh8CFZ7fOl4PFRdIQyPHEKJIe7tNASLlQ==","_npmVersion":"10.9.2","description":"Node.js loader for Autometa - transforms .feature files for Playwright","directories":{},"_nodeVersion":"23.7.0","dependencies":{"jiti":"^1.21.0","fast-glob":"^3.3.2","@autometa/config":"1.0.0-rc.1","@autometa/runner":"1.0.0-rc.1","@autometa/gherkin":"1.0.0-rc.1","@autometa/playwright-executor":"1.0.0-rc.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.2.0","eslint":"^8.37.0","rimraf":"^4.1.2","vitest":"1.4.0","tsconfig":"0.7.0","typescript":"^4.9.5","@types/node":"^18.11.18","tsup-config":"0.1.0","eslint-config-custom":"0.6.0"},"peerDependencies":{"@playwright/test":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/playwright-loader_1.0.0-rc.1_1768396603499_0.9957064368185808","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.2":{"name":"@autometa/playwright-loader","version":"1.0.0-rc.2","license":"MIT","_id":"@autometa/playwright-loader@1.0.0-rc.2","maintainers":[{"name":"benah","email":"benaherne@outlook.ie"}],"dist":{"shasum":"e77b18dae321f2f77dbf5c1d3052744034a7fb8b","tarball":"https://registry.npmjs.org/@autometa/playwright-loader/-/playwright-loader-1.0.0-rc.2.tgz","fileCount":18,"integrity":"sha512-gC2XWo/USvWC2sKW87PzcCTEy2CrG5o/m78Fw4xX8PkADO8L6yNhCceJC3noL9SZP0W/k5C62uCNRWv4DsLLng==","signatures":[{"sig":"MEUCIQCkS2MsUazxzixmIKdKRK0Yw1IVhiyM9d/60L3AjznL6wIgAmvVE9KCu/bM0cBs02ytINjem9GRI4zQZAvf1opvndg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225513},"main":"dist/index.cjs","type":"module","_from":"file:autometa-playwright-loader-1.0.0-rc.2.tgz","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./register":{"import":"./dist/register.js","default":"./dist/register.js","require":"./dist/register.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint . --max-warnings 0","test":"vitest run --passWithNoTests","build":"tsup && pnpm run build:types","clean":"rimraf dist","test:ui":"vitest --ui --passWithNoTests","coverage":"vitest run --coverage --passWithNoTests","lint:fix":"eslint . --fix","prettify":"prettier --config .prettierrc 'src/**/*.ts' --write","test:watch":"vitest --passWithNoTests","type-check":"tsc --noEmit","build:types":"rimraf tsconfig.types.tsbuildinfo && tsc --build tsconfig.types.json","build:watch":"tsup --watch","type-check:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"benah","email":"benaherne@outlook.ie"},"_resolved":"/private/var/folders/5r/qkpdcmf16sd7vjrwd54r1kzc0000gq/T/74ba749be1008d5265a71d3eb8e1ca27/autometa-playwright-loader-1.0.0-rc.2.tgz","_integrity":"sha512-gC2XWo/USvWC2sKW87PzcCTEy2CrG5o/m78Fw4xX8PkADO8L6yNhCceJC3noL9SZP0W/k5C62uCNRWv4DsLLng==","_npmVersion":"10.9.2","description":"Node.js loader for Autometa - transforms .feature files for Playwright","directories":{},"_nodeVersion":"23.7.0","dependencies":{"jiti":"^1.21.0","fast-glob":"^3.3.2","@autometa/config":"1.0.0-rc.2","@autometa/runner":"1.0.0-rc.2","@autometa/gherkin":"1.0.0-rc.2","@autometa/playwright-executor":"1.0.0-rc.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.2.0","eslint":"^8.37.0","rimraf":"^4.1.2","vitest":"1.4.0","tsconfig":"0.7.0","typescript":"^4.9.5","@types/node":"^18.11.18","tsup-config":"0.1.0","eslint-config-custom":"0.6.0"},"peerDependencies":{"@playwright/test":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/playwright-loader_1.0.0-rc.2_1768495469998_0.946072784440025","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.3":{"name":"@autometa/playwright-loader","version":"1.0.0-rc.3","license":"MIT","_id":"@autometa/playwright-loader@1.0.0-rc.3","maintainers":[{"name":"benah","email":"benaherne@outlook.ie"}],"dist":{"shasum":"2c067de917057d2454b73e5825fd72fbc630e27d","tarball":"https://registry.npmjs.org/@autometa/playwright-loader/-/playwright-loader-1.0.0-rc.3.tgz","fileCount":18,"integrity":"sha512-J6FyvAGOfhnfPiyJ/BeEKr2R5dD0Os4wiQUGgHTEoB7sK8Hp9sla6baZwNMuUmC0RI9qDMEcJOn0N77nPfPODg==","signatures":[{"sig":"MEYCIQCCURmwyAm3vYAXxuuunSswFfHRPkbe+DyR1A2G6cwhmwIhAPI6318RWPzeteMQ0xGHZLti0B0BQeIrHjAlSrzTEm9O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225513},"main":"dist/index.cjs","type":"module","_from":"file:autometa-playwright-loader-1.0.0-rc.3.tgz","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./register":{"import":"./dist/register.js","default":"./dist/register.js","require":"./dist/register.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint . --max-warnings 0","test":"vitest run --passWithNoTests","build":"tsup && pnpm run build:types","clean":"rimraf dist","test:ui":"vitest --ui --passWithNoTests","coverage":"vitest run --coverage --passWithNoTests","lint:fix":"eslint . --fix","prettify":"prettier --config .prettierrc 'src/**/*.ts' --write","test:watch":"vitest --passWithNoTests","type-check":"tsc --noEmit","build:types":"rimraf tsconfig.types.tsbuildinfo && tsc --build tsconfig.types.json","build:watch":"tsup --watch","type-check:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"benah","email":"benaherne@outlook.ie"},"_resolved":"/private/var/folders/5r/qkpdcmf16sd7vjrwd54r1kzc0000gq/T/5c37db78e22a3c89322e0e27944fe03f/autometa-playwright-loader-1.0.0-rc.3.tgz","_integrity":"sha512-J6FyvAGOfhnfPiyJ/BeEKr2R5dD0Os4wiQUGgHTEoB7sK8Hp9sla6baZwNMuUmC0RI9qDMEcJOn0N77nPfPODg==","_npmVersion":"10.9.2","description":"Node.js loader for Autometa - transforms .feature files for Playwright","directories":{},"_nodeVersion":"23.7.0","dependencies":{"jiti":"^1.21.0","fast-glob":"^3.3.2","@autometa/config":"1.0.0-rc.2","@autometa/runner":"1.0.0-rc.3","@autometa/gherkin":"1.0.0-rc.2","@autometa/playwright-executor":"1.0.0-rc.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.2.0","eslint":"^8.37.0","rimraf":"^4.1.2","vitest":"1.4.0","tsconfig":"0.7.0","typescript":"^4.9.5","@types/node":"^18.11.18","tsup-config":"0.1.0","eslint-config-custom":"0.6.0"},"peerDependencies":{"@playwright/test":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/playwright-loader_1.0.0-rc.3_1768580256658_0.8944916044989553","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.4":{"name":"@autometa/playwright-loader","version":"1.0.0-rc.4","license":"MIT","_id":"@autometa/playwright-loader@1.0.0-rc.4","maintainers":[{"name":"benah","email":"benaherne@outlook.ie"}],"dist":{"shasum":"153e79e1c14da6cdda7ea01c281fe64c17f66c21","tarball":"https://registry.npmjs.org/@autometa/playwright-loader/-/playwright-loader-1.0.0-rc.4.tgz","fileCount":18,"integrity":"sha512-ff0YEwZrx/pF9DVnr/fikwVmYK+CFKHeCnCfNBLOwKEncRJqW9Sz5o7XyLMcAFnmXrDH4rRoOvdhdbiRo9zoXg==","signatures":[{"sig":"MEUCIGByzD57yUAmd9aCsFQZftqJnu1PPpb6yXkGwXIyK8pAAiEA9oLW5InT5f2Re3t9Wm6G+adSa2b9pqCWhjKw0XaLs2Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225513},"main":"dist/index.cjs","type":"module","_from":"file:autometa-playwright-loader-1.0.0-rc.4.tgz","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./register":{"import":"./dist/register.js","default":"./dist/register.js","require":"./dist/register.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint . --max-warnings 0","test":"vitest run --passWithNoTests","build":"tsup && pnpm run build:types","clean":"rimraf dist","test:ui":"vitest --ui --passWithNoTests","coverage":"vitest run --coverage --passWithNoTests","lint:fix":"eslint . --fix","prettify":"prettier --config .prettierrc 'src/**/*.ts' --write","test:watch":"vitest --passWithNoTests","type-check":"tsc --noEmit","build:types":"rimraf tsconfig.types.tsbuildinfo && tsc --build tsconfig.types.json","build:watch":"tsup --watch","type-check:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"benah","email":"benaherne@outlook.ie"},"_resolved":"/private/var/folders/5r/qkpdcmf16sd7vjrwd54r1kzc0000gq/T/58cb527ead366fba54eff01d1b8571aa/autometa-playwright-loader-1.0.0-rc.4.tgz","_integrity":"sha512-ff0YEwZrx/pF9DVnr/fikwVmYK+CFKHeCnCfNBLOwKEncRJqW9Sz5o7XyLMcAFnmXrDH4rRoOvdhdbiRo9zoXg==","_npmVersion":"10.9.2","description":"Node.js loader for Autometa - transforms .feature files for Playwright","directories":{},"_nodeVersion":"23.7.0","dependencies":{"jiti":"^1.21.0","fast-glob":"^3.3.2","@autometa/config":"1.0.0-rc.3","@autometa/runner":"1.0.0-rc.4","@autometa/gherkin":"1.0.0-rc.2","@autometa/playwright-executor":"1.0.0-rc.4"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.2.0","eslint":"^8.37.0","rimraf":"^4.1.2","vitest":"1.4.0","tsconfig":"0.7.0","typescript":"^4.9.5","@types/node":"^18.11.18","tsup-config":"0.1.0","eslint-config-custom":"0.6.0"},"peerDependencies":{"@playwright/test":"^1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/playwright-loader_1.0.0-rc.4_1770247100144_0.041620501838859125","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.5":{"name":"@autometa/playwright-loader","version":"1.0.0-rc.5","description":"Node.js loader for Autometa - transforms .feature files for Playwright","type":"module","main":"dist/index.cjs","module":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs","default":"./dist/index.js","types":"./dist/index.d.ts"},"./register":{"import":"./dist/register.js","require":"./dist/register.cjs","default":"./dist/register.js"}},"license":"MIT","dependencies":{"fast-glob":"^3.3.2","jiti":"^1.21.0","@autometa/runner":"1.0.0-rc.5","@autometa/config":"1.0.0-rc.3","@autometa/playwright-executor":"1.0.0-rc.4","@autometa/gherkin":"1.0.0-rc.2"},"devDependencies":{"@types/node":"^18.11.18","eslint":"^8.37.0","rimraf":"^4.1.2","tsup":"^7.2.0","typescript":"^4.9.5","vitest":"1.4.0","eslint-config-custom":"0.6.0","tsconfig":"0.7.0","tsup-config":"0.1.0"},"peerDependencies":{"@playwright/test":"^1.40.0"},"scripts":{"type-check":"tsc --noEmit","type-check:watch":"tsc --noEmit --watch","build":"tsup && pnpm run build:types","build:types":"rimraf tsconfig.types.tsbuildinfo && tsc --build tsconfig.types.json","build:watch":"tsup --watch","dev":"tsup --watch","test":"vitest run --passWithNoTests","test:watch":"vitest --passWithNoTests","test:ui":"vitest --ui --passWithNoTests","coverage":"vitest run --coverage --passWithNoTests","lint":"eslint . --max-warnings 0","lint:fix":"eslint . --fix","prettify":"prettier --config .prettierrc 'src/**/*.ts' --write","clean":"rimraf dist"},"_id":"@autometa/playwright-loader@1.0.0-rc.5","_integrity":"sha512-7eincbNQ7YL290gm2LtIqdhT710PPkQuayEm4g1FRrRZD0yy/+9Q17euZWh3EdXEEmg35LqyONdr3qpeSoNlYQ==","_resolved":"/private/var/folders/5r/qkpdcmf16sd7vjrwd54r1kzc0000gq/T/c000c713ff78b51dccbc03eb862afc79/autometa-playwright-loader-1.0.0-rc.5.tgz","_from":"file:autometa-playwright-loader-1.0.0-rc.5.tgz","_nodeVersion":"23.7.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-7eincbNQ7YL290gm2LtIqdhT710PPkQuayEm4g1FRrRZD0yy/+9Q17euZWh3EdXEEmg35LqyONdr3qpeSoNlYQ==","shasum":"e1cef1e5c446151cfebeefc6a58a94d0502e14db","tarball":"https://registry.npmjs.org/@autometa/playwright-loader/-/playwright-loader-1.0.0-rc.5.tgz","fileCount":18,"unpackedSize":225513,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDUONFRaASN3Ym38QOymyOPWKn6bPKMCtA53GJDpryUWAiB6Eu4ubmY2Vu6yezT4+uNbRhct+z1wKn9ff4AUh0a5NA=="}]},"_npmUser":{"name":"benah","email":"benaherne@outlook.ie"},"directories":{},"maintainers":[{"name":"benah","email":"benaherne@outlook.ie"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/playwright-loader_1.0.0-rc.5_1770680107791_0.2807980730819779"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-14T13:06:01.997Z","modified":"2026-02-09T23:35:08.039Z","1.0.0-rc.0":"2026-01-14T13:06:02.240Z","1.0.0-rc.1":"2026-01-14T13:16:43.654Z","1.0.0-rc.2":"2026-01-15T16:44:30.153Z","1.0.0-rc.3":"2026-01-16T16:17:36.799Z","1.0.0-rc.4":"2026-02-04T23:18:20.301Z","1.0.0-rc.5":"2026-02-09T23:35:07.938Z"},"license":"MIT","description":"Node.js loader for Autometa - transforms .feature files for Playwright","maintainers":[{"name":"benah","email":"benaherne@outlook.ie"}],"readme":"# @autometa/playwright-loader\n\nNode.js module loader hooks for transforming `.feature` files into Playwright test suites.\n\n## Overview\n\nThis package provides the infrastructure to run Gherkin feature files directly with Playwright by leveraging Node.js customization hooks to transform `.feature` imports on-the-fly.\n\n## Installation\n\n```bash\npnpm add @autometa/playwright-loader @playwright/test\n```\n\n## Usage\n\n### Option 1: Import in playwright.config.ts\n\n```typescript\nimport '@autometa/playwright-loader/register';\nimport { defineConfig } from '@playwright/test';\n\nexport default defineConfig({\n  testMatch: '**/*.feature',\n});\n```\n\n### Option 2: Use with NODE_OPTIONS\n\n```bash\nNODE_OPTIONS=\"--import @autometa/playwright-loader/register\" npx playwright test\n```\n\n### Option 3: Use with autometa CLI\n\n```typescript\n// autometa.config.ts\nimport { defineConfig } from '@autometa/app';\n\nexport default defineConfig({\n  runner: 'playwright',\n  roots: {\n    features: ['features'],\n    steps: ['steps'],\n  },\n});\n```\n\nThen run:\n\n```bash\npnpm autometa run\n```\n\n## How It Works\n\n1. **Node.js Module Hooks**: The loader uses Node.js's `module.register()` API to intercept `.feature` file imports.\n\n2. **Resolve Hook**: When a `.feature` file is imported, the resolve hook marks it with a custom format.\n\n3. **Load Hook**: The load hook transforms the `.feature` content into a Playwright test module:\n   - Parses the Gherkin content\n   - Loads step definitions from `autometa.config.ts`\n   - Generates `test.describe()` and `test()` blocks\n\n4. **Playwright Integration**: The generated code uses Playwright's fixtures (`page`, `context`, etc.) and assertions.\n\n## Requirements\n\n- Node.js 18.19+ or 20.6+ (for module customization hooks)\n- Playwright 1.40+\n- TypeScript (recommended)\n\n## Architecture\n\n```\n.feature file import\n        │\n        ▼\n┌───────────────────┐\n│   resolve hook    │ ← Intercepts .feature specifiers\n└───────────────────┘\n        │\n        ▼\n┌───────────────────┐\n│    load hook      │ ← Transforms to Playwright test code\n└───────────────────┘\n        │\n        ▼\n┌───────────────────┐\n│  Playwright test  │ ← Native execution with fixtures\n└───────────────────┘\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}