{"_id":"@art-design-digital/payload-plugin-google-for-jobs-v3","name":"@art-design-digital/payload-plugin-google-for-jobs-v3","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.1":{"name":"@art-design-digital/payload-plugin-google-for-jobs-v3","version":"1.0.1","description":"A Payload plugin for Google for Jobs. ","license":"MIT","type":"module","exports":{".":{"import":"./src/index.ts","types":"./src/index.ts","default":"./src/index.ts"},"./client":{"import":"./src/exports/client.ts","types":"./src/exports/client.ts","default":"./src/exports/client.ts"},"./rsc":{"import":"./src/exports/rsc.ts","types":"./src/exports/rsc.ts","default":"./src/exports/rsc.ts"}},"main":"./src/index.ts","types":"./src/index.ts","scripts":{"build":"pnpm copyfiles && pnpm build:types && pnpm build:swc","build:swc":"swc ./src -d ./dist --config-file .swcrc --strip-leading-paths","build:types":"tsc --outDir dist --rootDir ./src","clean":"rimraf {dist,*.tsbuildinfo}","copyfiles":"copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/","dev":"next dev dev --turbo","dev:generate-importmap":"pnpm dev:payload generate:importmap","dev:generate-types":"pnpm dev:payload generate:types","dev:payload":"cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload","generate:importmap":"pnpm dev:generate-importmap","generate:types":"pnpm dev:generate-types","lint":"eslint","lint:fix":"eslint ./src --fix","prepublishOnly":"pnpm clean && pnpm build","test":"pnpm test:int && pnpm test:e2e","test:e2e":"playwright test","test:int":"vitest"},"devDependencies":{"@eslint/eslintrc":"^3.2.0","@payloadcms/db-mongodb":"3.37.0","@payloadcms/db-postgres":"3.37.0","@payloadcms/db-sqlite":"3.37.0","@payloadcms/eslint-config":"3.9.0","@payloadcms/next":"3.37.0","@payloadcms/richtext-lexical":"3.37.0","@payloadcms/ui":"3.37.0","@playwright/test":"1.56.1","@swc-node/register":"1.10.9","@swc/cli":"0.6.0","@types/node":"^22.5.4","@types/react":"19.1.8","@types/react-dom":"19.1.6","copyfiles":"2.4.1","cross-env":"^7.0.3","eslint":"^9.23.0","eslint-config-next":"15.4.7","graphql":"^16.8.1","mongodb-memory-server":"10.1.4","next":"15.4.7","open":"^10.1.0","payload":"3.37.0","prettier":"^3.4.2","qs-esm":"7.0.2","react":"19.1.0","react-dom":"19.1.0","rimraf":"3.0.2","sharp":"0.34.2","sort-package-json":"^2.10.0","typescript":"5.7.3","vite-tsconfig-paths":"^5.1.4","vitest":"^3.1.2"},"peerDependencies":{"payload":"^3.37.0"},"engines":{"node":"^18.20.2 || >=20.9.0","pnpm":"^9 || ^10"},"publishConfig":{"exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts","default":"./dist/index.js"},"./client":{"import":"./dist/exports/client.js","types":"./dist/exports/client.d.ts","default":"./dist/exports/client.js"},"./rsc":{"import":"./dist/exports/rsc.js","types":"./dist/exports/rsc.d.ts","default":"./dist/exports/rsc.js"}},"main":"./dist/index.js","types":"./dist/index.d.ts"},"pnpm":{"onlyBuiltDependencies":["sharp","esbuild","unrs-resolver"]},"registry":"https://registry.npmjs.org/","dependencies":{"@payloadcms/translations":"^3.65.0"},"_id":"@art-design-digital/payload-plugin-google-for-jobs-v3@1.0.1","gitHead":"f38facd7dce4ddb7f341ea7731354e379e59ea6d","_nodeVersion":"20.19.6","_npmVersion":"10.8.2","dist":{"integrity":"sha512-EHRAEPK8fNGRfxLZS/llfwIfDKXvvLIVmQ1NgQZRPLPSwTLnItXQdF16lX5EnmTBjyrv71MOHQ8icsq3yJW7fQ==","shasum":"cd30ab1bc6bef9be08bb93dce9af2236de5d0991","tarball":"https://registry.npmjs.org/@art-design-digital/payload-plugin-google-for-jobs-v3/-/payload-plugin-google-for-jobs-v3-1.0.1.tgz","fileCount":65,"unpackedSize":137542,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCs7mJHVu7cKnv/mvWRz/U7zdiLKIVHMcwoWgaIBdsdvwIhAPeGmYrj4+uz8TBsdA/0ico/zwnL0F+7yJeMv0+iZbtJ"}]},"_npmUser":{"name":"tobedamobe","email":"tobe_damobe@me.com"},"directories":{},"maintainers":[{"name":"skouzzi","email":"bob-4-u@hotmail.de"},{"name":"tobedamobe","email":"tobe_damobe@me.com"},{"name":"artdesigndigitalgmbh","email":"info@ad-digital.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/payload-plugin-google-for-jobs-v3_1.0.1_1765288401542_0.727287996236194"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-09T13:53:21.485Z","1.0.1":"2025-12-09T13:53:21.736Z","modified":"2025-12-09T13:53:21.996Z"},"maintainers":[{"name":"skouzzi","email":"bob-4-u@hotmail.de"},{"name":"tobedamobe","email":"tobe_damobe@me.com"},{"name":"artdesigndigitalgmbh","email":"info@ad-digital.de"}],"description":"A Payload plugin for Google for Jobs. ","license":"MIT","readme":"# Payload Plugin Google for Jobs v3\n\nA [Payload CMS](https://payloadcms.com) v3 plugin that adds [Google for Jobs](https://developers.google.com/search/docs/appearance/structured-data/job-posting) structured data fields to your job posting collections.\n\n## Features\n\n- Adds all necessary fields for Google for Jobs structured data to existing collections\n- Fields are added in a dedicated \"Google for Jobs\" tab\n- Full i18n support (EN, DE, ES, FR, NL)\n- Optional localization for the job description field\n- Conditional salary fields (single value or range)\n\n## Installation\n\n```bash\nnpm install @art-design-digital/payload-plugin-google-for-jobs-v3\n# or\npnpm add @art-design-digital/payload-plugin-google-for-jobs-v3\n# or\nyarn add @art-design-digital/payload-plugin-google-for-jobs-v3\n```\n\n## Usage\n\nAdd the plugin to your Payload config:\n\n```ts\nimport { buildConfig } from 'payload'\nimport { googleForJobsPlugin } from '@art-design-digital/payload-plugin-google-for-jobs-v3'\n\nexport default buildConfig({\n  // ... your config\n  plugins: [\n    googleForJobsPlugin({\n      // Add Google for Jobs fields to these collections\n      collections: ['jobs'],\n      // Optional: Enable localization for the description field\n      localized: true,\n      // Optional: Disable the plugin\n      disabled: false,\n    }),\n  ],\n})\n```\n\n## Configuration Options\n\n| Option        | Type       | Default    | Description                                             |\n| ------------- | ---------- | ---------- | ------------------------------------------------------- |\n| `collections` | `string[]` | (required) | Collection slugs to add Google for Jobs fields to       |\n| `localized`   | `boolean`  | `false`    | Enable localization for the description field           |\n| `disabled`    | `boolean`  | `false`    | Disable the plugin (schema is preserved for migrations) |\n\n## Added Fields\n\nThe plugin adds the following fields to your collections in a \"Google for Jobs\" tab:\n\n### Required Fields\n\n| Field             | Type     | Description                                                                                           |\n| ----------------- | -------- | ----------------------------------------------------------------------------------------------------- |\n| `jobCategory`     | select   | Category: Job, Apprenticeship, or Dual Study                                                          |\n| `employmentType`  | select   | Employment type (multi-select): Full-time, Part-time, Contractor, Temporary, Intern, Volunteer, Other |\n| `description`     | richText | Job description (optionally localized)                                                                |\n| `jobLocationType` | select   | Workplace type: Remote, On-site, or Hybrid                                                            |\n\n### Recommended Fields\n\n| Field                          | Type     | Description                                                   |\n| ------------------------------ | -------- | ------------------------------------------------------------- |\n| `identifier`                   | text     | Unique job ID from your internal system                       |\n| `validThrough`                 | date     | Application deadline                                          |\n| `applicantLocationRequirements`| text     | Geographic restrictions for remote workers (visible for remote/hybrid jobs) |\n| `directApply`                  | checkbox | Whether applicants can apply directly via the job URL         |\n| `salaryRange`                  | checkbox | Toggle between single salary and salary range                 |\n| `baseSalaryMinValue`           | number   | Minimum salary (visible when `salaryRange` is true)           |\n| `baseSalaryMaxValue`           | number   | Maximum salary (visible when `salaryRange` is true)           |\n| `baseSalaryValue`              | number   | Salary (visible when `salaryRange` is false)                  |\n| `baseSalaryUnitText`           | select   | Salary unit: Hour, Day, Week, Month, or Year                  |\n\n## Google for Jobs Values\n\nThe following values are used for Google for Jobs structured data:\n\n### Employment Type\n\n- `FULL_TIME` - Full-time\n- `PART_TIME` - Part-time\n- `CONTRACTOR` - Freelancer/Contractor\n- `TEMPORARY` - Temporary\n- `INTERN` - Internship\n- `VOLUNTEER` - Volunteer\n- `OTHER` - Other\n\n### Job Location Type\n\n- `TELECOMMUTE` - Remote/Home office\n- `ONSITE` - On-site\n- `HYBRID` - Hybrid\n\n### Salary Unit\n\n- `HOUR` - Per hour\n- `DAY` - Per day\n- `WEEK` - Per week\n- `MONTH` - Per month\n- `YEAR` - Per year\n\n## i18n Support\n\nThe plugin includes translations for:\n\n- English (en)\n- German (de)\n- Spanish (es)\n- French (fr)\n- Dutch (nl)\n\nAll field labels, descriptions, and options are translated based on your Payload admin language setting.\n\n## TypeScript\n\nThe plugin exports types for use in your project:\n\n```ts\nimport type { GoogleForJobsPluginConfig } from '@art-design-digital/payload-plugin-google-for-jobs-v3'\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-055cb572e21d68c8f0e43a9d76e1dc30"}