diff --git a/.storybook/main.js b/.storybook/main.js index 5ba252c..243322d 100644 --- a/.storybook/main.js +++ b/.storybook/main.js @@ -2,7 +2,7 @@ const path = require('path'); const config = { - stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx)'], + stories: ['../lib/**/*.mdx', '../lib/**/*.stories.@(js|jsx|ts|tsx)'], addons: [ '@storybook/addon-links', '@storybook/addon-essentials', diff --git a/src/components/general/HyperLink/HyperLink.spec.tsx b/lib/components/general/HyperLink/HyperLink.spec.tsx similarity index 100% rename from src/components/general/HyperLink/HyperLink.spec.tsx rename to lib/components/general/HyperLink/HyperLink.spec.tsx diff --git a/src/components/general/HyperLink/HyperLink.stories.tsx b/lib/components/general/HyperLink/HyperLink.stories.tsx similarity index 100% rename from src/components/general/HyperLink/HyperLink.stories.tsx rename to lib/components/general/HyperLink/HyperLink.stories.tsx diff --git a/src/components/general/HyperLink/HyperLink.tsx b/lib/components/general/HyperLink/HyperLink.tsx similarity index 100% rename from src/components/general/HyperLink/HyperLink.tsx rename to lib/components/general/HyperLink/HyperLink.tsx diff --git a/src/components/general/HyperLink/index.ts b/lib/components/general/HyperLink/index.ts similarity index 100% rename from src/components/general/HyperLink/index.ts rename to lib/components/general/HyperLink/index.ts diff --git a/src/components/general/LocalHostWarning/LocalHostWarning.spec.tsx b/lib/components/general/LocalHostWarning/LocalHostWarning.spec.tsx similarity index 100% rename from src/components/general/LocalHostWarning/LocalHostWarning.spec.tsx rename to lib/components/general/LocalHostWarning/LocalHostWarning.spec.tsx diff --git a/src/components/general/LocalHostWarning/LocalHostWarning.stories.tsx b/lib/components/general/LocalHostWarning/LocalHostWarning.stories.tsx similarity index 100% rename from src/components/general/LocalHostWarning/LocalHostWarning.stories.tsx rename to lib/components/general/LocalHostWarning/LocalHostWarning.stories.tsx diff --git a/src/components/general/LocalHostWarning/LocalHostWarning.tsx b/lib/components/general/LocalHostWarning/LocalHostWarning.tsx similarity index 100% rename from src/components/general/LocalHostWarning/LocalHostWarning.tsx rename to lib/components/general/LocalHostWarning/LocalHostWarning.tsx diff --git a/src/components/general/LocalHostWarning/index.ts b/lib/components/general/LocalHostWarning/index.ts similarity index 100% rename from src/components/general/LocalHostWarning/index.ts rename to lib/components/general/LocalHostWarning/index.ts diff --git a/src/components/general/SearchBar/SearchBar.tsx b/lib/components/general/SearchBar/SearchBar.tsx similarity index 98% rename from src/components/general/SearchBar/SearchBar.tsx rename to lib/components/general/SearchBar/SearchBar.tsx index a13f53a..f0d9ee3 100644 --- a/src/components/general/SearchBar/SearchBar.tsx +++ b/lib/components/general/SearchBar/SearchBar.tsx @@ -25,7 +25,6 @@ export interface SearchBarProps { const SearchBar = (props: SearchBarProps) => { const { groupFilters, - filterFacets, onSearch, searchTitle, placeholder, diff --git a/src/components/general/SearchBar/SearchBar.types.ts b/lib/components/general/SearchBar/SearchBar.types.ts similarity index 100% rename from src/components/general/SearchBar/SearchBar.types.ts rename to lib/components/general/SearchBar/SearchBar.types.ts diff --git a/src/components/general/SearchBar/Searchbar.spec.tsx b/lib/components/general/SearchBar/Searchbar.spec.tsx similarity index 100% rename from src/components/general/SearchBar/Searchbar.spec.tsx rename to lib/components/general/SearchBar/Searchbar.spec.tsx diff --git a/src/components/general/SearchBar/Searchbar.stories.tsx b/lib/components/general/SearchBar/Searchbar.stories.tsx similarity index 100% rename from src/components/general/SearchBar/Searchbar.stories.tsx rename to lib/components/general/SearchBar/Searchbar.stories.tsx diff --git a/src/components/general/SearchBar/index.ts b/lib/components/general/SearchBar/index.ts similarity index 100% rename from src/components/general/SearchBar/index.ts rename to lib/components/general/SearchBar/index.ts diff --git a/src/components/general/SearchBar/useSearchReducer.tsx b/lib/components/general/SearchBar/useSearchReducer.tsx similarity index 100% rename from src/components/general/SearchBar/useSearchReducer.tsx rename to lib/components/general/SearchBar/useSearchReducer.tsx diff --git a/src/components/general/SearchableList/README.md b/lib/components/general/SearchableList/README.md similarity index 100% rename from src/components/general/SearchableList/README.md rename to lib/components/general/SearchableList/README.md diff --git a/src/components/general/SearchableList/SearchableList.spec.tsx b/lib/components/general/SearchableList/SearchableList.spec.tsx similarity index 100% rename from src/components/general/SearchableList/SearchableList.spec.tsx rename to lib/components/general/SearchableList/SearchableList.spec.tsx diff --git a/src/components/general/SearchableList/SearchableList.stories.tsx b/lib/components/general/SearchableList/SearchableList.stories.tsx similarity index 100% rename from src/components/general/SearchableList/SearchableList.stories.tsx rename to lib/components/general/SearchableList/SearchableList.stories.tsx diff --git a/src/components/general/SearchableList/SearchableList.tsx b/lib/components/general/SearchableList/SearchableList.tsx similarity index 100% rename from src/components/general/SearchableList/SearchableList.tsx rename to lib/components/general/SearchableList/SearchableList.tsx diff --git a/src/components/general/SearchableList/index.ts b/lib/components/general/SearchableList/index.ts similarity index 100% rename from src/components/general/SearchableList/index.ts rename to lib/components/general/SearchableList/index.ts diff --git a/lib/components/general/index.ts b/lib/components/general/index.ts new file mode 100644 index 0000000..e2b5fe6 --- /dev/null +++ b/lib/components/general/index.ts @@ -0,0 +1,4 @@ +export * from './HyperLink'; +export * from './SearchBar'; +export * from './SearchableList'; +export * from './LocalHostWarning'; \ No newline at end of file diff --git a/src/components/helpers/ParseStylingToken/ParseStylingToken.ts b/lib/components/helpers/ParseStylingToken/ParseStylingToken.ts similarity index 100% rename from src/components/helpers/ParseStylingToken/ParseStylingToken.ts rename to lib/components/helpers/ParseStylingToken/ParseStylingToken.ts diff --git a/lib/components/index.ts b/lib/components/index.ts new file mode 100644 index 0000000..4f7dc9f --- /dev/null +++ b/lib/components/index.ts @@ -0,0 +1,2 @@ +export * from './general'; +export * from './stacks'; diff --git a/src/components/stacks/analytics/LineChart/LineChart.spec.tsx b/lib/components/stacks/analytics/LineChart/LineChart.spec.tsx similarity index 100% rename from src/components/stacks/analytics/LineChart/LineChart.spec.tsx rename to lib/components/stacks/analytics/LineChart/LineChart.spec.tsx diff --git a/src/components/stacks/analytics/LineChart/LineChart.stories.tsx b/lib/components/stacks/analytics/LineChart/LineChart.stories.tsx similarity index 100% rename from src/components/stacks/analytics/LineChart/LineChart.stories.tsx rename to lib/components/stacks/analytics/LineChart/LineChart.stories.tsx diff --git a/src/components/stacks/analytics/LineChart/LineChart.styles.ts b/lib/components/stacks/analytics/LineChart/LineChart.styles.ts similarity index 100% rename from src/components/stacks/analytics/LineChart/LineChart.styles.ts rename to lib/components/stacks/analytics/LineChart/LineChart.styles.ts diff --git a/src/components/stacks/analytics/LineChart/LineChart.tsx b/lib/components/stacks/analytics/LineChart/LineChart.tsx similarity index 100% rename from src/components/stacks/analytics/LineChart/LineChart.tsx rename to lib/components/stacks/analytics/LineChart/LineChart.tsx diff --git a/src/components/stacks/analytics/LineChart/index.ts b/lib/components/stacks/analytics/LineChart/index.ts similarity index 100% rename from src/components/stacks/analytics/LineChart/index.ts rename to lib/components/stacks/analytics/LineChart/index.ts diff --git a/lib/components/stacks/analytics/index.ts b/lib/components/stacks/analytics/index.ts new file mode 100644 index 0000000..7aa2cfa --- /dev/null +++ b/lib/components/stacks/analytics/index.ts @@ -0,0 +1 @@ +export * from './LineChart'; \ No newline at end of file diff --git a/lib/components/stacks/index.ts b/lib/components/stacks/index.ts new file mode 100644 index 0000000..5670098 --- /dev/null +++ b/lib/components/stacks/index.ts @@ -0,0 +1 @@ +export * from './analytics'; \ No newline at end of file diff --git a/lib/sdks/index.ts b/lib/sdks/index.ts new file mode 100644 index 0000000..f214882 --- /dev/null +++ b/lib/sdks/index.ts @@ -0,0 +1,2 @@ +export * from './sentry'; +export * from './segment'; diff --git a/src/sdks/segment/SegmentMarketplaceProvider.spec.tsx b/lib/sdks/segment/SegmentMarketplaceProvider.spec.tsx similarity index 100% rename from src/sdks/segment/SegmentMarketplaceProvider.spec.tsx rename to lib/sdks/segment/SegmentMarketplaceProvider.spec.tsx diff --git a/src/sdks/segment/SegmentMarketplaceProvider.tsx b/lib/sdks/segment/SegmentMarketplaceProvider.tsx similarity index 100% rename from src/sdks/segment/SegmentMarketplaceProvider.tsx rename to lib/sdks/segment/SegmentMarketplaceProvider.tsx diff --git a/lib/sdks/segment/index.ts b/lib/sdks/segment/index.ts new file mode 100644 index 0000000..3025eed --- /dev/null +++ b/lib/sdks/segment/index.ts @@ -0,0 +1 @@ +export { SegmentAnalyticsProvider } from './SegmentMarketplaceProvider'; \ No newline at end of file diff --git a/src/sdks/segment/segmentMarketplaceContext.tsx b/lib/sdks/segment/segmentMarketplaceContext.tsx similarity index 100% rename from src/sdks/segment/segmentMarketplaceContext.tsx rename to lib/sdks/segment/segmentMarketplaceContext.tsx diff --git a/src/sdks/segment/types.ts b/lib/sdks/segment/types.ts similarity index 100% rename from src/sdks/segment/types.ts rename to lib/sdks/segment/types.ts diff --git a/src/sdks/segment/typewriter/plan.json b/lib/sdks/segment/typewriter/plan.json similarity index 100% rename from src/sdks/segment/typewriter/plan.json rename to lib/sdks/segment/typewriter/plan.json diff --git a/src/sdks/segment/typewriter/segment.ts b/lib/sdks/segment/typewriter/segment.ts similarity index 100% rename from src/sdks/segment/typewriter/segment.ts rename to lib/sdks/segment/typewriter/segment.ts diff --git a/src/sdks/segment/utils/getUserCookieConsent.spec.ts b/lib/sdks/segment/utils/getUserCookieConsent.spec.ts similarity index 100% rename from src/sdks/segment/utils/getUserCookieConsent.spec.ts rename to lib/sdks/segment/utils/getUserCookieConsent.spec.ts diff --git a/src/sdks/segment/utils/getUserCookieConsent.ts b/lib/sdks/segment/utils/getUserCookieConsent.ts similarity index 100% rename from src/sdks/segment/utils/getUserCookieConsent.ts rename to lib/sdks/segment/utils/getUserCookieConsent.ts diff --git a/src/sdks/sentry/consolidateContentfulAppInfo/consolidateContentfulAppInfo.ts b/lib/sdks/sentry/consolidateContentfulAppInfo/consolidateContentfulAppInfo.ts similarity index 100% rename from src/sdks/sentry/consolidateContentfulAppInfo/consolidateContentfulAppInfo.ts rename to lib/sdks/sentry/consolidateContentfulAppInfo/consolidateContentfulAppInfo.ts diff --git a/lib/sdks/sentry/index.ts b/lib/sdks/sentry/index.ts new file mode 100644 index 0000000..386a0fa --- /dev/null +++ b/lib/sdks/sentry/index.ts @@ -0,0 +1 @@ +export { sentryMarketplaceAppsSDK } from './sentryMarketplaceAppsSDK'; \ No newline at end of file diff --git a/src/sdks/sentry/sentryMarketplaceAppsSDK.spec.ts b/lib/sdks/sentry/sentryMarketplaceAppsSDK.spec.ts similarity index 100% rename from src/sdks/sentry/sentryMarketplaceAppsSDK.spec.ts rename to lib/sdks/sentry/sentryMarketplaceAppsSDK.spec.ts diff --git a/src/sdks/sentry/sentryMarketplaceAppsSDK.ts b/lib/sdks/sentry/sentryMarketplaceAppsSDK.ts similarity index 100% rename from src/sdks/sentry/sentryMarketplaceAppsSDK.ts rename to lib/sdks/sentry/sentryMarketplaceAppsSDK.ts diff --git a/src/setupTests.ts b/lib/setupTests.ts similarity index 100% rename from src/setupTests.ts rename to lib/setupTests.ts diff --git a/lib/types/customTypes.ts b/lib/types/customTypes.ts new file mode 100644 index 0000000..739395d --- /dev/null +++ b/lib/types/customTypes.ts @@ -0,0 +1,12 @@ +export interface ContentfulNetworkHeaders { + 'X-Contentful-App'?: string; + 'X-Contentful-ContentType'?: string; + 'X-Contentful-Entry'?: string; + 'X-Contentful-Environment'?: string; + 'X-Contentful-EnvironmentAlias'?: string; + 'X-Contentful-Field'?: string; + 'X-Contentful-Location'?: string; + 'X-Contentful-Organization'?: string; + 'X-Contentful-Space'?: string; + 'X-Contentful-User'?: string; + } \ No newline at end of file diff --git a/lib/types/index.ts b/lib/types/index.ts new file mode 100644 index 0000000..c578c29 --- /dev/null +++ b/lib/types/index.ts @@ -0,0 +1 @@ +export * from './customTypes'; \ No newline at end of file diff --git a/src/vite-env.d.ts b/lib/vite-env.d.ts similarity index 100% rename from src/vite-env.d.ts rename to lib/vite-env.d.ts diff --git a/package-lock.json b/package-lock.json index 1105a86..846da52 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,6 +7,7 @@ "": { "name": "@contentful/integration-frontend-toolkit", "version": "1.7.1", + "license": "MIT", "dependencies": { "@contentful/app-sdk": "^4.24.0", "@contentful/f36-components": "^4.35.0", diff --git a/package.json b/package.json index 4a5b974..c9301a8 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,31 @@ { "name": "@contentful/integration-frontend-toolkit", - "version": "1.7.1", + "version": "1.7.1", + "author": "Contentful", + "license": "MIT", + "description": "Contentful internal helper toolkit for Integrations", + "source": "./lib/index.ts", + "type": "module", "files": [ - "components", - "sdks", - "types" + "dist" ], - "main": "./index.js", - "types": "./index.d.ts", - "private": false, + "exports": { + "./components": { + "import": "./dist/components.js", + "require": "./dist/components.cjs", + "types": "./dist/components/index.d.ts" + }, + "./sdks": { + "import": "./dist/sdks.js", + "require": "./dist/sdks.cjs", + "types": "./dist/sdks/index.d.ts" + }, + "./types": { + "import": "./dist/types.js", + "require": "./dist/types.cjs", + "types": "./dist/types/index.d.ts" + } + }, "dependencies": { "@contentful/app-sdk": "^4.24.0", "@contentful/f36-components": "^4.35.0", diff --git a/src/components/index.ts b/src/components/index.ts deleted file mode 100644 index 5de2f56..0000000 --- a/src/components/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export { HyperLink } from './general/HyperLink/index.js'; -export { LineChart } from './stacks/analytics/LineChart/index.js'; -export { SearchBar } from './general/SearchBar/index.js'; -export { LocalHostWarning } from './general/LocalHostWarning/index.js'; -export { SearchableList } from './general/SearchableList/index.js'; -export type { SearchParams } from './general/SearchBar/index.js'; diff --git a/src/index.ts b/src/index.ts deleted file mode 100644 index c5ba169..0000000 --- a/src/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './components'; -export * from './sdks'; -export * from './types'; diff --git a/src/sdks/index.ts b/src/sdks/index.ts deleted file mode 100644 index d5c0b4c..0000000 --- a/src/sdks/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { sentryMarketplaceAppsSDK } from './sentry/sentryMarketplaceAppsSDK'; -export { SegmentAnalyticsProvider } from './segment/SegmentMarketplaceProvider'; -export { SegmentAnalyticsContext } from './segment/segmentMarketplaceContext'; -export { Action as ConfigAction } from './segment/typewriter/segment'; diff --git a/src/types/index.ts b/src/types/index.ts deleted file mode 100644 index fac7af0..0000000 --- a/src/types/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -export interface ContentfulNetworkHeaders { - 'X-Contentful-App'?: string; - 'X-Contentful-ContentType'?: string; - 'X-Contentful-Entry'?: string; - 'X-Contentful-Environment'?: string; - 'X-Contentful-EnvironmentAlias'?: string; - 'X-Contentful-Field'?: string; - 'X-Contentful-Location'?: string; - 'X-Contentful-Organization'?: string; - 'X-Contentful-Space'?: string; - 'X-Contentful-User'?: string; -} diff --git a/tsconfig.json b/tsconfig.json index 84e7eec..5271d2f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,22 +1,25 @@ { "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], "module": "ESNext", - "moduleResolution": "Node", - "declaration": true, - "removeComments": true, - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "allowSyntheticDefaultImports": true, - "target": "ESNext", - "sourceMap": false, - "baseUrl": "./src", - "outDir": ".", - "incremental": true, - "jsx": "react-jsx", "skipLibCheck": true, - "strict": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true }, - "include": ["src/"], - "exclude": ["!src/"], + "include": ["lib", "test"], + "references": [{ "path": "./tsconfig.node.json" }] } \ No newline at end of file diff --git a/tsconfig.node.json b/tsconfig.node.json index fb0e1ed..42872c5 100644 --- a/tsconfig.node.json +++ b/tsconfig.node.json @@ -1,10 +1,10 @@ { "compilerOptions": { "composite": true, + "skipLibCheck": true, "module": "ESNext", - "moduleResolution": "Node", - "allowSyntheticDefaultImports": true, - "resolveJsonModule": true, + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true }, - "include": ["vite.config.ts", "package.json"] + "include": ["vite.config.ts"] } diff --git a/vite.config.ts b/vite.config.ts index bf1e7c0..328004f 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -5,15 +5,26 @@ import dts from 'vite-plugin-dts'; import pkg from './package.json'; export default defineConfig({ - plugins: [react(), dts({ include: ['src'] })], + plugins: [react(), dts({ + exclude: ["lib/**/*.spec.ts", "test"], + })], build: { + ssr: true, + minify: false, lib: { - entry: resolve(__dirname, './src/index.ts'), - formats: ['es'], - fileName: () => 'index.es.js', + entry: { + "components": resolve(__dirname, 'lib/components/index.ts'), + "sdks": resolve(__dirname, 'lib/sdks/index.ts'), + "types": resolve(__dirname, 'lib/types/index.ts'), + }, + formats: ['es', 'cjs'] }, rollupOptions: { external: [...Object.keys(pkg.peerDependencies)], + output: { + preserveModules: true, + preserveModulesRoot: 'lib', + }, }, }, });