{"_id":"@campaign-lite/landing-page-common","_rev":"3-6f3bac3a7f82d4905da2dc4248e4a172","name":"@campaign-lite/landing-page-common","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@campaign-lite/landing-page-common","version":"1.0.0","keywords":[],"author":"","license":"ISC","_id":"@campaign-lite/landing-page-common@1.0.0","maintainers":[{"name":"ben-campaign-lite","email":"benjamin.chiappetta@qualfon.com"}],"dist":{"shasum":"b67fe1c26fd6efde4fb15f368bd9911aa4751e9d","tarball":"https://registry.npmjs.org/@campaign-lite/landing-page-common/-/landing-page-common-1.0.0.tgz","fileCount":18,"integrity":"sha512-Xdbps603zFit8fcSF6jjSExEOnG71mIt/XFpTi1JTDPVHoYoX2FnaC4mSQObHpQZyju66dR7MF4KmxzIoscUbQ==","signatures":[{"sig":"MEQCIEoZXlQesuBK+HcYucgRNM3B68kMKBSJ7EWs/Nh3q7/sAiAY4mcgETuDXp1MQz2Jt3sld5Nl1sTO+vi31MBZ8yfHXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22126},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9cc7f06f780e755999ec88b0443b924581c28b12","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run clean && tsc","clean":"rimraf dist","lint:fix":"eslint . --fix","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"ben-campaign-lite","email":"benjamin.chiappetta@qualfon.com"},"_npmVersion":"11.4.2","description":"Common modules for landing pages","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","rimraf":"^6.1.3","vitest":"^4.1.1","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/node":"^25.5.0","typescript-eslint":"^8.57.2"},"_npmOperationalInternal":{"tmp":"tmp/landing-page-common_1.0.0_1775831797212_0.6119207160685767","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@campaign-lite/landing-page-common","version":"1.0.1","keywords":[],"author":{"name":"Ben Chiappetta"},"license":"MIT","_id":"@campaign-lite/landing-page-common@1.0.1","maintainers":[{"name":"ben-campaign-lite","email":"benjamin.chiappetta@qualfon.com"}],"dist":{"shasum":"072288ff6238c6a164e316b580e67b8aa62de1de","tarball":"https://registry.npmjs.org/@campaign-lite/landing-page-common/-/landing-page-common-1.0.1.tgz","fileCount":18,"integrity":"sha512-BRT7hVJZye/NdHaelJd3rjIMO95my99sARPfMVutAyTWOu+g9O12TpeVq62nBblcx4LzKVD63r4cmh88j5WL4Q==","signatures":[{"sig":"MEQCID6xMDQXOiBxlgC6ZaiLlQUrkiQCCaFsz6l4e91PJz22AiB3WZn6+5sC3T93WRdGdirzEfz95M7Uj0B7LU/pGz6Mfg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22047},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5e4782fe3169f50d3604462933503519f2548c78","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run clean && tsc","clean":"rimraf dist","lint:fix":"eslint . --fix","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"ben-campaign-lite","email":"benjamin.chiappetta@qualfon.com"},"_npmVersion":"11.4.2","description":"Common modules for landing pages","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","rimraf":"^6.1.3","vitest":"^4.1.1","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/node":"^25.5.0","typescript-eslint":"^8.57.2"},"_npmOperationalInternal":{"tmp":"tmp/landing-page-common_1.0.1_1775832437034_0.06380614000266216","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@campaign-lite/landing-page-common","version":"1.1.0","description":"Common modules for landing pages","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"clean":"rimraf dist","build":"npm run clean && tsc","prepublishOnly":"npm run build","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","lint":"eslint .","lint:fix":"eslint . --fix"},"keywords":[],"author":{"name":"Ben Chiappetta"},"license":"MIT","devDependencies":{"@eslint/js":"^10.0.1","@types/node":"^25.5.0","eslint":"^10.1.0","rimraf":"^6.1.3","typescript":"^6.0.2","typescript-eslint":"^8.57.2","vitest":"^4.1.1"},"publishConfig":{"access":"public"},"_id":"@campaign-lite/landing-page-common@1.1.0","gitHead":"ef9338a4b6571bd28ea50bd9490d950dab86989a","_nodeVersion":"22.14.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-d8o7ocQSdYG/kcx6EGaq3uuzkz8HkyeifGzGvuHwUy+SRFXPSTk+L4avXzs6+oq8SFWLf/YCYv0kowGs20LOkA==","shasum":"ac10e34a2b2d44b76b26f5dcd634895ab696cc14","tarball":"https://registry.npmjs.org/@campaign-lite/landing-page-common/-/landing-page-common-1.1.0.tgz","fileCount":26,"unpackedSize":63231,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCLf5w0jH9SpyDU9wieYi00yHS4V1xPH8zPFuO/ZgplzAIgPjCJbDi4SSW8gB8nrZf0uKpeflQkBCxney+cd5tReHs="}]},"_npmUser":{"name":"ben-campaign-lite","email":"benjamin.chiappetta@qualfon.com"},"directories":{},"maintainers":[{"name":"ben-campaign-lite","email":"benjamin.chiappetta@qualfon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/landing-page-common_1.1.0_1782734411776_0.24699652583809995"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-10T14:36:37.112Z","modified":"2026-06-29T12:00:12.096Z","1.0.0":"2026-04-10T14:36:37.351Z","1.0.1":"2026-04-10T14:47:17.168Z","1.1.0":"2026-06-29T12:00:11.937Z"},"author":{"name":"Ben Chiappetta"},"license":"MIT","keywords":[],"description":"Common modules for landing pages","maintainers":[{"name":"ben-campaign-lite","email":"benjamin.chiappetta@qualfon.com"}],"readme":"# Landing Page Common\n\nThis package provides a library of common modules and utilities designed to be shared and imported across various landing page projects.\n\n## Installation\n\nYou can install this package into your other local projects or use it as a dependency once published.\n\n```bash\nnpm install @campaign-lite/landing-page-common\n```\n\n## Features\n\n- **TypeScript Native**: Built with TypeScript for full type safety.\n- **ESM Support**: Exports modern ES modules out of the box.\n- **CampaignLite Client**: Provides a client for interacting with the Campaign Lite API.\n\n## Usage\n\n### CampaignLite Client\n\nThe `CampaignLite` client is a wrapper for making authenticated requests to the Campaign Lite backend. It supports pagination, sorting, filtering, and bulk operations.\n\n#### Initialization\n\n```typescript\nimport { CampaignLite } from \"landing-page-common\";\n\n// Initialize with base URL\nconst client = new CampaignLite(\"https://api.campaignlite.app\");\n\n// Set the client name\nclient.client(\"qualfon\");\n\n// Set the endpoint path\nclient.endpoint(\"leads\");\n```\n\n#### Authentication\n\nYou can authenticate the client using either Basic Auth or an API Key, depending on how the Campaign Lite endpoint is configured.\n\n**Basic Auth:**\n\n```typescript\nclient.setBasicAuth(\"your-username\", \"your-password\");\n```\n\n**API Key:**\n\n```typescript\nclient.setApiKey(\"your-api-key\");\n```\n\n#### Fetching Data (GET)\n\nThe `fetch` method allows you to retrieve data with optional pagination, sorting, and filtering parameters.\n\n```typescript\nconst response = await client.fetch({\n  page: 0,\n  size: 50,\n  sortBy: \"createdAt\",\n  sortDirection: \"desc\",\n  startAtField: \"status\",\n  startAt: \"active\",\n});\n\nconst data = await response.json();\nconsole.log(data);\n```\n\n#### Pushing Data (POST)\n\nThe `push` method allows you to submit new records.\n\n**Single Record:**\n\n```typescript\nconst response = await client.push({\n  email: \"user@example.com\",\n  name: \"John Doe\",\n});\n```\n\n**Bulk Insert:**\n\n```typescript\nconst records = [\n  { email: \"user1@example.com\" },\n  { email: \"user2@example.com\" },\n];\n\n// Set the second parameter to true to enable the /bulk endpoint\nconst bulkResponse = await client.push(records, true);\n```\n\n## Available Scripts\n\n- `npm run build`: Cleans the `dist` directory and compiles the TypeScript code.\n- `npm run clean`: Removes the `dist` directory.\n- `npm test`: Runs the Vitest test suite.\n- `npm run test:coverage`: Runs the test suite and generates a coverage report.\n- `npm run lint`: Lints the codebase using ESLint.\n- `npm run lint:fix`: Automatically fixes linting errors where possible.\n\n## License\n\nISC\n","readmeFilename":"README.md"}