diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 000000000..51e6c07b3 --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,15 @@ +{ + "mode": "pre", + "tag": "next", + "initialVersions": { + "@kitql-old/all-in": "0.9.6", + "eslint-config-kitql": "0.0.1", + "@kitql/handles": "0.1.1", + "@kitql/helpers": "0.8.2", + "vite-plugin-kit-routes": "0.0.10", + "vite-plugin-striper": "0.0.2", + "vite-plugin-watch-and-run": "1.4.1", + "website": "1.1.2" + }, + "changesets": [] +} diff --git a/.changeset/twenty-worms-obey.md b/.changeset/twenty-worms-obey.md new file mode 100644 index 000000000..774b1a0f5 --- /dev/null +++ b/.changeset/twenty-worms-obey.md @@ -0,0 +1,9 @@ +--- +'vite-plugin-watch-and-run': patch +'vite-plugin-kit-routes': patch +'vite-plugin-striper': patch +'@kitql/handles': patch +'@kitql/helpers': patch +--- + +add cjs option diff --git a/package.json b/package.json index 293c7f8da..6598c0e2a 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "@changesets/changelog-github": "0.4.8", "@changesets/cli": "2.26.1", "@vitest/coverage-v8": "^0.34.6", + "esbuild": "^0.19.5", "rimraf": "5.0.0" } } diff --git a/packages/handles/package.json b/packages/handles/package.json index e367bc6e5..a91ab3262 100644 --- a/packages/handles/package.json +++ b/packages/handles/package.json @@ -58,9 +58,10 @@ "types": "./dist/index.d.ts", "exports": { ".": { - "types": "./dist/index.d.ts", - "default": "./dist/index.js", - "svelte": "./dist/index.js" + "require": "./cjs/index.js", + "types": "./esm/index.d.ts", + "default": "./esm/index.js", + "svelte": "./esm/index.js" } } -} +} \ No newline at end of file diff --git a/packages/helpers/package.json b/packages/helpers/package.json index 496b938c7..919cb5d3e 100644 --- a/packages/helpers/package.json +++ b/packages/helpers/package.json @@ -32,10 +32,10 @@ "format": "kitql-lint --fix" }, "devDependencies": { - "eslint-config-kitql": "workspace:*", "@sveltejs/adapter-auto": "2.1.0", "@sveltejs/kit": "1.27.2", "@sveltejs/package": "2.2.2", + "eslint-config-kitql": "workspace:*", "publint": "0.2.4", "rollup-plugin-visualizer": "^5.9.2", "svelte": "4.2.1", @@ -58,13 +58,14 @@ "!dist/**/*.test.*", "!dist/**/*.spec.*" ], - "svelte": "./dist/index.js", - "types": "./dist/index.d.ts", + "svelte": "./esm/index.js", + "types": "./esm/index.d.ts", "exports": { ".": { - "types": "./dist/index.d.ts", - "default": "./dist/index.js", - "svelte": "./dist/index.js" + "require": "./cjs/index.js", + "types": "./esm/index.d.ts", + "default": "./esm/index.js", + "svelte": "./esm/index.js" } } } \ No newline at end of file diff --git a/packages/vite-plugin-kit-routes/package.json b/packages/vite-plugin-kit-routes/package.json index 91a1424af..a191c622a 100644 --- a/packages/vite-plugin-kit-routes/package.json +++ b/packages/vite-plugin-kit-routes/package.json @@ -1,67 +1,68 @@ { - "name": "vite-plugin-kit-routes", - "description": "vite-plugin that will help you maintain your routes in a single file", - "keywords": [ - "vite" - ], - "version": "0.0.10", - "license": "MIT", - "type": "module", - "repository": { - "type": "git", - "url": "https://github.com/jycouet/kitql", - "directory": "packages/vite-plugin-kit-routes", - "homepage": "https://github.com/jycouet/kitql/tree/main/packages/vite-plugin-kit-routes#readme" - }, - "scripts": { - "prepare": "svelte-kit sync", - "dev": "vite dev", - "build": "vite build && svelte-package && node ../../scripts/package.js", - "preview": "vite preview", - "package": "svelte-package && publint", - "check": "svelte-check --tsconfig ./tsconfig.json", - "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch", - "test": "vitest", - "test:ci": "vitest --coverage", - "lint": "kitql-lint", - "format": "kitql-lint --fix" - }, - "devDependencies": { - "eslint-config-kitql": "workspace:*", - "@sveltejs/adapter-auto": "2.1.0", - "@sveltejs/kit": "1.27.2", - "@sveltejs/package": "2.2.2", - "publint": "0.2.4", - "svelte": "4.2.1", - "svelte-check": "3.5.2", - "tslib": "2.6.2", - "typescript": "5.2.2", - "vite": "4.5.0", - "vitest": "0.34.6" - }, - "dependencies": { - "@babel/parser": "^7.23.0", - "@kitql/helpers": "workspace:*", - "recast": "^0.23.4", - "vite-plugin-watch-and-run": "workspace:*" - }, - "sideEffects": false, - "publishConfig": { - "directory": "dist", - "access": "public" - }, - "files": [ - "dist", - "!dist/**/*.test.*", - "!dist/**/*.spec.*" - ], - "svelte": "./dist/index.js", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "types": "./dist/index.d.ts", - "default": "./dist/index.js", - "svelte": "./dist/index.js" - } - } -} + "name": "vite-plugin-kit-routes", + "description": "vite-plugin that will help you maintain your routes in a single file", + "keywords": [ + "vite" + ], + "version": "0.0.10", + "license": "MIT", + "type": "module", + "repository": { + "type": "git", + "url": "https://github.com/jycouet/kitql", + "directory": "packages/vite-plugin-kit-routes", + "homepage": "https://github.com/jycouet/kitql/tree/main/packages/vite-plugin-kit-routes#readme" + }, + "scripts": { + "prepare": "svelte-kit sync", + "dev": "vite dev", + "build": "vite build && svelte-package && node ../../scripts/package.js", + "preview": "vite preview", + "package": "svelte-package && publint", + "check": "svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch", + "test": "vitest", + "test:ci": "vitest --coverage", + "lint": "kitql-lint", + "format": "kitql-lint --fix" + }, + "devDependencies": { + "eslint-config-kitql": "workspace:*", + "@sveltejs/adapter-auto": "2.1.0", + "@sveltejs/kit": "1.27.2", + "@sveltejs/package": "2.2.2", + "publint": "0.2.4", + "svelte": "4.2.1", + "svelte-check": "3.5.2", + "tslib": "2.6.2", + "typescript": "5.2.2", + "vite": "4.5.0", + "vitest": "0.34.6" + }, + "dependencies": { + "@babel/parser": "^7.23.0", + "@kitql/helpers": "workspace:*", + "recast": "^0.23.4", + "vite-plugin-watch-and-run": "workspace:*" + }, + "sideEffects": false, + "publishConfig": { + "directory": "dist", + "access": "public" + }, + "files": [ + "dist", + "!dist/**/*.test.*", + "!dist/**/*.spec.*" + ], + "svelte": "./dist/index.js", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "require": "./cjs/index.js", + "types": "./esm/index.d.ts", + "default": "./esm/index.js", + "svelte": "./esm/index.js" + } + } +} \ No newline at end of file diff --git a/packages/vite-plugin-striper/package.json b/packages/vite-plugin-striper/package.json index a2e90702f..ab22ed8a4 100644 --- a/packages/vite-plugin-striper/package.json +++ b/packages/vite-plugin-striper/package.json @@ -1,66 +1,67 @@ { - "name": "vite-plugin-striper", - "description": "vite-plugin that will strip out some function of your browser bundle", - "keywords": [ - "vite" - ], - "version": "0.0.2", - "license": "MIT", - "type": "module", - "repository": { - "type": "git", - "url": "https://github.com/jycouet/kitql", - "directory": "packages/vite-plugin-striper", - "homepage": "https://github.com/jycouet/kitql/tree/main/packages/vite-plugin-striper#readme" - }, - "scripts": { - "prepare": "svelte-kit sync", - "dev": "vite dev", - "build": "vite build && svelte-package && node ../../scripts/package.js", - "preview": "vite preview", - "package": "svelte-package && publint", - "check": "svelte-check --tsconfig ./tsconfig.json", - "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch", - "test": "vitest", - "test:ci": "vitest --coverage", - "lint": "kitql-lint", - "format": "kitql-lint --fix" - }, - "devDependencies": { - "eslint-config-kitql": "workspace:*", - "@sveltejs/adapter-auto": "2.1.0", - "@sveltejs/kit": "1.27.2", - "@sveltejs/package": "2.2.2", - "publint": "0.2.4", - "svelte": "4.2.1", - "svelte-check": "3.5.2", - "tslib": "2.6.2", - "typescript": "5.2.2", - "vite": "4.5.0", - "vitest": "0.34.6" - }, - "dependencies": { - "@babel/parser": "^7.23.0", - "@kitql/helpers": "workspace:*", - "recast": "^0.23.4" - }, - "sideEffects": false, - "publishConfig": { - "directory": "dist", - "access": "public" - }, - "files": [ - "dist", - "!dist/**/*.test.*", - "!dist/**/*.spec.*" - ], - "svelte": "./dist/index.js", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "types": "./dist/index.d.ts", - "default": "./dist/index.js", - "svelte": "./dist/index.js" - } - } -} + "name": "vite-plugin-striper", + "description": "vite-plugin that will strip out some function of your browser bundle", + "keywords": [ + "vite" + ], + "version": "0.0.2", + "license": "MIT", + "type": "module", + "repository": { + "type": "git", + "url": "https://github.com/jycouet/kitql", + "directory": "packages/vite-plugin-striper", + "homepage": "https://github.com/jycouet/kitql/tree/main/packages/vite-plugin-striper#readme" + }, + "scripts": { + "prepare": "svelte-kit sync", + "dev": "vite dev", + "build": "vite build && svelte-package && node ../../scripts/package.js", + "preview": "vite preview", + "package": "svelte-package && publint", + "check": "svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch", + "test": "vitest", + "test:ci": "vitest --coverage", + "lint": "kitql-lint", + "format": "kitql-lint --fix" + }, + "devDependencies": { + "eslint-config-kitql": "workspace:*", + "@sveltejs/adapter-auto": "2.1.0", + "@sveltejs/kit": "1.27.2", + "@sveltejs/package": "2.2.2", + "publint": "0.2.4", + "svelte": "4.2.1", + "svelte-check": "3.5.2", + "tslib": "2.6.2", + "typescript": "5.2.2", + "vite": "4.5.0", + "vitest": "0.34.6" + }, + "dependencies": { + "@babel/parser": "^7.23.0", + "@kitql/helpers": "workspace:*", + "recast": "^0.23.4" + }, + "sideEffects": false, + "publishConfig": { + "directory": "dist", + "access": "public" + }, + "files": [ + "dist", + "!dist/**/*.test.*", + "!dist/**/*.spec.*" + ], + "svelte": "./dist/index.js", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "require": "./cjs/index.js", + "types": "./esm/index.d.ts", + "default": "./esm/index.js", + "svelte": "./esm/index.js" + } + } +} \ No newline at end of file diff --git a/packages/vite-plugin-watch-and-run/package.json b/packages/vite-plugin-watch-and-run/package.json index 590310d00..5b83f516b 100644 --- a/packages/vite-plugin-watch-and-run/package.json +++ b/packages/vite-plugin-watch-and-run/package.json @@ -1,66 +1,67 @@ { - "name": "vite-plugin-watch-and-run", - "description": "vite-plugin that will watch some files and run a package.json script on change", - "keywords": [ - "vite" - ], - "version": "1.4.1", - "license": "MIT", - "type": "module", - "repository": { - "type": "git", - "url": "https://github.com/jycouet/kitql", - "directory": "packages/vite-plugin-watch-and-run", - "homepage": "https://github.com/jycouet/kitql/tree/main/packages/vite-plugin-watch-and-run#readme" - }, - "scripts": { - "prepare": "svelte-kit sync", - "dev": "vite dev", - "build": "vite build && svelte-package && node ../../scripts/package.js", - "preview": "vite preview", - "package": "svelte-package && publint", - "check": "svelte-check --tsconfig ./tsconfig.json", - "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch", - "test": "vitest", - "test:ci": "vitest --coverage", - "lint": "kitql-lint", - "format": "kitql-lint --fix" - }, - "devDependencies": { - "eslint-config-kitql": "workspace:*", - "@types/micromatch": "4.0.2", - "@sveltejs/adapter-auto": "2.1.0", - "@sveltejs/kit": "1.27.2", - "@sveltejs/package": "2.2.2", - "publint": "0.2.4", - "svelte": "4.2.1", - "svelte-check": "3.5.2", - "tslib": "2.6.2", - "typescript": "5.2.2", - "vite": "4.5.0", - "vitest": "0.34.6" - }, - "dependencies": { - "@kitql/helpers": "workspace:*", - "micromatch": "4.0.5" - }, - "sideEffects": false, - "publishConfig": { - "directory": "dist", - "access": "public" - }, - "files": [ - "dist", - "!dist/**/*.test.*", - "!dist/**/*.spec.*" - ], - "svelte": "./dist/index.js", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "types": "./dist/index.d.ts", - "default": "./dist/index.js", - "svelte": "./dist/index.js" - } - } + "name": "vite-plugin-watch-and-run", + "description": "vite-plugin that will watch some files and run a package.json script on change", + "keywords": [ + "vite" + ], + "version": "1.4.1", + "license": "MIT", + "type": "module", + "repository": { + "type": "git", + "url": "https://github.com/jycouet/kitql", + "directory": "packages/vite-plugin-watch-and-run", + "homepage": "https://github.com/jycouet/kitql/tree/main/packages/vite-plugin-watch-and-run#readme" + }, + "scripts": { + "prepare": "svelte-kit sync", + "dev": "vite dev", + "build": "vite build && svelte-package && node ../../scripts/package.js", + "preview": "vite preview", + "package": "svelte-package && publint", + "check": "svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch", + "test": "vitest", + "test:ci": "vitest --coverage", + "lint": "kitql-lint", + "format": "kitql-lint --fix" + }, + "devDependencies": { + "eslint-config-kitql": "workspace:*", + "@types/micromatch": "4.0.2", + "@sveltejs/adapter-auto": "2.1.0", + "@sveltejs/kit": "1.27.2", + "@sveltejs/package": "2.2.2", + "publint": "0.2.4", + "svelte": "4.2.1", + "svelte-check": "3.5.2", + "tslib": "2.6.2", + "typescript": "5.2.2", + "vite": "4.5.0", + "vitest": "0.34.6" + }, + "dependencies": { + "@kitql/helpers": "workspace:*", + "micromatch": "4.0.5" + }, + "sideEffects": false, + "publishConfig": { + "directory": "dist", + "access": "public" + }, + "files": [ + "dist", + "!dist/**/*.test.*", + "!dist/**/*.spec.*" + ], + "svelte": "./dist/index.js", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "require": "./cjs/index.js", + "types": "./esm/index.d.ts", + "default": "./esm/index.js", + "svelte": "./esm/index.js" + } + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e51619cd2..696a529b4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,6 +17,9 @@ importers: '@vitest/coverage-v8': specifier: ^0.34.6 version: 0.34.6(vitest@0.34.6) + esbuild: + specifier: ^0.19.5 + version: 0.19.5 rimraf: specifier: 5.0.0 version: 5.0.0 @@ -988,6 +991,15 @@ packages: dev: true optional: true + /@esbuild/android-arm64@0.19.5: + resolution: {integrity: sha512-5d1OkoJxnYQfmC+Zd8NBFjkhyCNYwM4n9ODrycTFY6Jk1IGiZ+tjVJDDSwDt77nK+tfpGP4T50iMtVi4dEGzhQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm@0.18.20: resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} @@ -997,6 +1009,15 @@ packages: dev: true optional: true + /@esbuild/android-arm@0.19.5: + resolution: {integrity: sha512-bhvbzWFF3CwMs5tbjf3ObfGqbl/17ict2/uwOSfr3wmxDE6VdS2GqY/FuzIPe0q0bdhj65zQsvqfArI9MY6+AA==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-x64@0.18.20: resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} @@ -1006,6 +1027,15 @@ packages: dev: true optional: true + /@esbuild/android-x64@0.19.5: + resolution: {integrity: sha512-9t+28jHGL7uBdkBjL90QFxe7DVA+KGqWlHCF8ChTKyaKO//VLuoBricQCgwhOjA1/qOczsw843Fy4cbs4H3DVA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-arm64@0.18.20: resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} @@ -1015,6 +1045,15 @@ packages: dev: true optional: true + /@esbuild/darwin-arm64@0.19.5: + resolution: {integrity: sha512-mvXGcKqqIqyKoxq26qEDPHJuBYUA5KizJncKOAf9eJQez+L9O+KfvNFu6nl7SCZ/gFb2QPaRqqmG0doSWlgkqw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-x64@0.18.20: resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} @@ -1024,6 +1063,15 @@ packages: dev: true optional: true + /@esbuild/darwin-x64@0.19.5: + resolution: {integrity: sha512-Ly8cn6fGLNet19s0X4unjcniX24I0RqjPv+kurpXabZYSXGM4Pwpmf85WHJN3lAgB8GSth7s5A0r856S+4DyiA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-arm64@0.18.20: resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} @@ -1033,6 +1081,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-arm64@0.19.5: + resolution: {integrity: sha512-GGDNnPWTmWE+DMchq1W8Sd0mUkL+APvJg3b11klSGUDvRXh70JqLAO56tubmq1s2cgpVCSKYywEiKBfju8JztQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-x64@0.18.20: resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} @@ -1042,6 +1099,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-x64@0.19.5: + resolution: {integrity: sha512-1CCwDHnSSoA0HNwdfoNY0jLfJpd7ygaLAp5EHFos3VWJCRX9DMwWODf96s9TSse39Br7oOTLryRVmBoFwXbuuQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm64@0.18.20: resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} @@ -1051,6 +1117,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm64@0.19.5: + resolution: {integrity: sha512-o3vYippBmSrjjQUCEEiTZ2l+4yC0pVJD/Dl57WfPwwlvFkrxoSO7rmBZFii6kQB3Wrn/6GwJUPLU5t52eq2meA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm@0.18.20: resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} @@ -1060,6 +1135,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm@0.19.5: + resolution: {integrity: sha512-lrWXLY/vJBzCPC51QN0HM71uWgIEpGSjSZZADQhq7DKhPcI6NH1IdzjfHkDQws2oNpJKpR13kv7/pFHBbDQDwQ==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ia32@0.18.20: resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} @@ -1069,6 +1153,15 @@ packages: dev: true optional: true + /@esbuild/linux-ia32@0.19.5: + resolution: {integrity: sha512-MkjHXS03AXAkNp1KKkhSKPOCYztRtK+KXDNkBa6P78F8Bw0ynknCSClO/ztGszILZtyO/lVKpa7MolbBZ6oJtQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-loong64@0.18.20: resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} @@ -1078,6 +1171,15 @@ packages: dev: true optional: true + /@esbuild/linux-loong64@0.19.5: + resolution: {integrity: sha512-42GwZMm5oYOD/JHqHska3Jg0r+XFb/fdZRX+WjADm3nLWLcIsN27YKtqxzQmGNJgu0AyXg4HtcSK9HuOk3v1Dw==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-mips64el@0.18.20: resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} @@ -1087,6 +1189,15 @@ packages: dev: true optional: true + /@esbuild/linux-mips64el@0.19.5: + resolution: {integrity: sha512-kcjndCSMitUuPJobWCnwQ9lLjiLZUR3QLQmlgaBfMX23UEa7ZOrtufnRds+6WZtIS9HdTXqND4yH8NLoVVIkcg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ppc64@0.18.20: resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} @@ -1096,6 +1207,15 @@ packages: dev: true optional: true + /@esbuild/linux-ppc64@0.19.5: + resolution: {integrity: sha512-yJAxJfHVm0ZbsiljbtFFP1BQKLc8kUF6+17tjQ78QjqjAQDnhULWiTA6u0FCDmYT1oOKS9PzZ2z0aBI+Mcyj7Q==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-riscv64@0.18.20: resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} @@ -1105,6 +1225,15 @@ packages: dev: true optional: true + /@esbuild/linux-riscv64@0.19.5: + resolution: {integrity: sha512-5u8cIR/t3gaD6ad3wNt1MNRstAZO+aNyBxu2We8X31bA8XUNyamTVQwLDA1SLoPCUehNCymhBhK3Qim1433Zag==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-s390x@0.18.20: resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} @@ -1114,6 +1243,15 @@ packages: dev: true optional: true + /@esbuild/linux-s390x@0.19.5: + resolution: {integrity: sha512-Z6JrMyEw/EmZBD/OFEFpb+gao9xJ59ATsoTNlj39jVBbXqoZm4Xntu6wVmGPB/OATi1uk/DB+yeDPv2E8PqZGw==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-x64@0.18.20: resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} @@ -1123,6 +1261,15 @@ packages: dev: true optional: true + /@esbuild/linux-x64@0.19.5: + resolution: {integrity: sha512-psagl+2RlK1z8zWZOmVdImisMtrUxvwereIdyJTmtmHahJTKb64pAcqoPlx6CewPdvGvUKe2Jw+0Z/0qhSbG1A==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/netbsd-x64@0.18.20: resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} @@ -1132,6 +1279,15 @@ packages: dev: true optional: true + /@esbuild/netbsd-x64@0.19.5: + resolution: {integrity: sha512-kL2l+xScnAy/E/3119OggX8SrWyBEcqAh8aOY1gr4gPvw76la2GlD4Ymf832UCVbmuWeTf2adkZDK+h0Z/fB4g==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/openbsd-x64@0.18.20: resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} @@ -1141,6 +1297,15 @@ packages: dev: true optional: true + /@esbuild/openbsd-x64@0.19.5: + resolution: {integrity: sha512-sPOfhtzFufQfTBgRnE1DIJjzsXukKSvZxloZbkJDG383q0awVAq600pc1nfqBcl0ice/WN9p4qLc39WhBShRTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/sunos-x64@0.18.20: resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} @@ -1150,6 +1315,15 @@ packages: dev: true optional: true + /@esbuild/sunos-x64@0.19.5: + resolution: {integrity: sha512-dGZkBXaafuKLpDSjKcB0ax0FL36YXCvJNnztjKV+6CO82tTYVDSH2lifitJ29jxRMoUhgkg9a+VA/B03WK5lcg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-arm64@0.18.20: resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} @@ -1159,6 +1333,15 @@ packages: dev: true optional: true + /@esbuild/win32-arm64@0.19.5: + resolution: {integrity: sha512-dWVjD9y03ilhdRQ6Xig1NWNgfLtf2o/STKTS+eZuF90fI2BhbwD6WlaiCGKptlqXlURVB5AUOxUj09LuwKGDTg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-ia32@0.18.20: resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} @@ -1168,6 +1351,15 @@ packages: dev: true optional: true + /@esbuild/win32-ia32@0.19.5: + resolution: {integrity: sha512-4liggWIA4oDgUxqpZwrDhmEfAH4d0iljanDOK7AnVU89T6CzHon/ony8C5LeOdfgx60x5cnQJFZwEydVlYx4iw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-x64@0.18.20: resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} @@ -1177,6 +1369,15 @@ packages: dev: true optional: true + /@esbuild/win32-x64@0.19.5: + resolution: {integrity: sha512-czTrygUsB/jlM8qEW5MD8bgYU2Xg14lo6kBDXW6HdxKjh8M5PzETGiSHaz9MtbXBYDloHNUAUW2tMiKW4KM9Mw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.43.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -5063,6 +5264,36 @@ packages: '@esbuild/win32-x64': 0.18.20 dev: true + /esbuild@0.19.5: + resolution: {integrity: sha512-bUxalY7b1g8vNhQKdB24QDmHeY4V4tw/s6Ak5z+jJX9laP5MoQseTOMemAr0gxssjNcH0MCViG8ONI2kksvfFQ==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.19.5 + '@esbuild/android-arm64': 0.19.5 + '@esbuild/android-x64': 0.19.5 + '@esbuild/darwin-arm64': 0.19.5 + '@esbuild/darwin-x64': 0.19.5 + '@esbuild/freebsd-arm64': 0.19.5 + '@esbuild/freebsd-x64': 0.19.5 + '@esbuild/linux-arm': 0.19.5 + '@esbuild/linux-arm64': 0.19.5 + '@esbuild/linux-ia32': 0.19.5 + '@esbuild/linux-loong64': 0.19.5 + '@esbuild/linux-mips64el': 0.19.5 + '@esbuild/linux-ppc64': 0.19.5 + '@esbuild/linux-riscv64': 0.19.5 + '@esbuild/linux-s390x': 0.19.5 + '@esbuild/linux-x64': 0.19.5 + '@esbuild/netbsd-x64': 0.19.5 + '@esbuild/openbsd-x64': 0.19.5 + '@esbuild/sunos-x64': 0.19.5 + '@esbuild/win32-arm64': 0.19.5 + '@esbuild/win32-ia32': 0.19.5 + '@esbuild/win32-x64': 0.19.5 + dev: true + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} diff --git a/scripts/package.js b/scripts/package.js index 53b10a1d3..8ddacd560 100644 --- a/scripts/package.js +++ b/scripts/package.js @@ -2,6 +2,10 @@ import { execSync } from 'child_process' import fs from 'fs' import path from 'path' import { exit } from 'process' +import { buildSync } from 'esbuild' + +// Will check the format of package.json +execSync(`node ../../scripts/packageJsonFormat.js`) // Some constants const toCopy = ['README.md', 'LICENSE', 'CHANGELOG.md'] @@ -48,7 +52,7 @@ pkg.scripts = { execSync(`rm -rf ${path.join(packageDirPath, tmpFolder)}`) fs.mkdirSync(path.join(packageDirPath, tmpFolder)) fs.writeFileSync(path.join(packageDirPath, tmpFolder, 'package.json'), JSON.stringify(pkg, null, 2)) -copy(path.join(packageDirPath, 'dist'), path.join(packageDirPath, tmpFolder, 'dist'), {}, []) +copy(path.join(packageDirPath, 'dist'), path.join(packageDirPath, tmpFolder, 'esm'), {}, []) // write it to your output directory for (const item of toCopy) { let from = path.join(packageDirPath, item) @@ -67,6 +71,25 @@ for (const item of toCopy) { execSync(`rm -rf ${path.join(packageDirPath, 'dist')}`) fs.renameSync(path.join(packageDirPath, tmpFolder), path.join(packageDirPath, 'dist')) +// now cjs +try { + let entryPoints = listFiles(`${packageDirPath}/src/lib`).filter(c => !c.includes('.spec.')) + + buildSync({ + entryPoints, + format: 'cjs', + outdir: 'dist/cjs', + }) +} catch (error) { + console.log(`cjs error`, error) +} +fs.writeFileSync( + path.join(packageDirPath, 'dist/cjs/package.json'), + JSON.stringify({ type: 'commonjs' }, null, 2), +) + +// cjs end + console.log(`✅ @kitql scripts/package "${pkg.name}" done`) function copy( @@ -113,3 +136,24 @@ function copy( } } } + +function listFiles(dir) { + let files = [] + + try { + const items = fs.readdirSync(dir) + + items.forEach(item => { + const fullPath = path.join(dir, item) + if (fs.statSync(fullPath).isDirectory()) { + files = files.concat(listFiles(fullPath)) + } else { + files.push(fullPath) + } + }) + } catch (err) { + console.error('Error reading directory:', err) + } + + return files +} diff --git a/scripts/packageJsonFormat.js b/scripts/packageJsonFormat.js index d12fdd320..7cd2a35c1 100644 --- a/scripts/packageJsonFormat.js +++ b/scripts/packageJsonFormat.js @@ -1,3 +1,6 @@ +import fs from 'fs' +import path from 'path' + // Where are we? const packageDirPath = process.cwd() @@ -12,6 +15,7 @@ fs.writeFileSync( { name: pkg.name, description: pkg.description ?? 'Missing!!!', + keywords: pkg.keywords ?? ['Missing!!!'], version: pkg.version, license: 'MIT', type: 'module', @@ -32,13 +36,14 @@ fs.writeFileSync( access: pkg.publishConfig?.access ?? 'public', }, files: pkg.files ?? ['dist', '!dist/**/*.test.*', '!dist/**/*.spec.*'], - svelte: pkg.svelte ?? './dist/index.js', - types: pkg.types ?? './dist/index.d.ts', + svelte: pkg.svelte ?? './esm/index.js', + types: pkg.types ?? './esm/index.d.ts', exports: { '.': { - types: pkg.types ?? './dist/index.d.ts', - default: pkg.default ?? './dist/index.js', - svelte: pkg.svelte ?? './dist/index.js', + require: pkg.exports.require ?? './cjs/index.js', + types: pkg.exports.types ?? './esm/index.d.ts', + default: pkg.exports.default ?? './esm/index.js', + svelte: pkg.exports.svelte ?? './esm/index.js', }, }, },