Skip to content

Commit 4f88d85

Browse files
committed
fix: properly name exported files to avoid dual pkg hazard closes #4905
1 parent f33974c commit 4f88d85

File tree

11 files changed

+89
-54
lines changed

11 files changed

+89
-54
lines changed

.changeset/proud-turtles-cough.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
"vee-validate": patch
3+
"@vee-validate/valibot": patch
4+
"@vee-validate/rules": patch
5+
"@vee-validate/i18n": patch
6+
"@vee-validate/joi": patch
7+
"@vee-validate/yup": patch
8+
"@vee-validate/zod": patch
9+
---
10+
11+
fix: specify module type on package.json

packages/i18n/package.json

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,25 @@
55
"author": "Abdelrahman Awad <[email protected]>",
66
"homepage": "https://vee-validate.logaretm.com/v4/guide/i18n",
77
"license": "MIT",
8-
"module": "dist/vee-validate-i18n.esm.js",
9-
"unpkg": "dist/vee-validate-i18n.js",
10-
"main": "dist/vee-validate-i18n.js",
8+
"module": "dist/vee-validate-i18n.mjs",
9+
"unpkg": "dist/vee-validate-i18n.iife.js",
10+
"main": "dist/vee-validate-i18n.mjs",
1111
"types": "dist/vee-validate-i18n.d.ts",
12+
"type": "module",
1213
"exports": {
1314
".": {
1415
"types": "./dist/vee-validate-i18n.d.ts",
15-
"import": "./dist/vee-validate-i18n.esm.js",
16-
"require": "./dist/vee-validate-i18n.js"
16+
"import": "./dist/vee-validate-i18n.mjs",
17+
"require": "./dist/vee-validate-i18n.cjs"
1718
},
1819
"./dist/locale/*.json": "./dist/locale/*.json"
1920
},
2021
"sideEffects": false,
2122
"files": [
2223
"dist/*.js",
2324
"dist/*.d.ts",
25+
"dist/*.cjs",
26+
"dist/*.mjs",
2427
"dist/locale/*.json"
2528
],
2629
"repository": {

packages/joi/package.json

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@
55
"author": "Abdelrahman Awad <[email protected]>",
66
"license": "MIT",
77
"module": "dist/vee-validate-joi.esm.js",
8-
"unpkg": "dist/vee-validate-joi.js",
9-
"main": "dist/vee-validate-joi.js",
8+
"unpkg": "dist/vee-validate-joi.iife.js",
9+
"main": "dist/vee-validate-joi.mjs",
1010
"types": "dist/vee-validate-joi.d.ts",
11+
"type": "module",
1112
"exports": {
1213
".": {
1314
"types": "./dist/vee-validate-joi.d.ts",
14-
"import": "./dist/vee-validate-joi.esm.js",
15-
"require": "./dist/vee-validate-joi.js"
15+
"import": "./dist/vee-validate-joi.mjs",
16+
"require": "./dist/vee-validate-joi.cjs"
1617
}
1718
},
1819
"homepage": "https://vee-validate.logaretm.com/v4/integrations/joi-schema-validation/",
@@ -32,7 +33,9 @@
3233
],
3334
"files": [
3435
"dist/*.js",
35-
"dist/*.d.ts"
36+
"dist/*.d.ts",
37+
"dist/*.cjs",
38+
"dist/*.mjs"
3639
],
3740
"dependencies": {
3841
"joi": "17.11.0",

packages/rules/package.json

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,16 @@
44
"description": "Form Validation for Vue.js",
55
"author": "Abdelrahman Awad <[email protected]>",
66
"license": "MIT",
7-
"module": "dist/vee-validate-rules.esm.js",
8-
"unpkg": "dist/vee-validate-rules.js",
9-
"main": "dist/vee-validate-rules.js",
7+
"module": "dist/vee-validate-rules.mjs",
8+
"unpkg": "dist/vee-validate-rules.iife.js",
9+
"main": "dist/vee-validate-rules.mjs",
1010
"types": "dist/vee-validate-rules.d.ts",
11+
"type": "module",
1112
"exports": {
1213
".": {
1314
"types": "./dist/vee-validate-rules.d.ts",
14-
"import": "./dist/vee-validate-rules.esm.js",
15-
"require": "./dist/vee-validate-rules.js"
15+
"import": "./dist/vee-validate-rules.mjs",
16+
"require": "./dist/vee-validate-rules.cjs"
1617
}
1718
},
1819
"homepage": "https://vee-validate.logaretm.com/v4/guide/global-validators",
@@ -32,7 +33,9 @@
3233
],
3334
"files": [
3435
"dist/*.js",
35-
"dist/*.d.ts"
36+
"dist/*.d.ts",
37+
"dist/*.cjs",
38+
"dist/*.mjs"
3639
],
3740
"dependencies": {
3841
"vee-validate": "workspace:*"

packages/valibot/package.json

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@
44
"description": "vee-validate integration with valibot schema validation",
55
"author": "Abdelrahman Awad <[email protected]>",
66
"license": "MIT",
7-
"module": "dist/vee-validate-valibot.esm.js",
8-
"unpkg": "dist/vee-validate-valibot.js",
9-
"main": "dist/vee-validate-valibot.js",
7+
"module": "dist/vee-validate-valibot.mjs",
8+
"unpkg": "dist/vee-validate-valibot.iife.js",
9+
"main": "dist/vee-validate-valibot.mjs",
10+
"type": "module",
1011
"exports": {
1112
".": {
1213
"types": "./dist/vee-validate-valibot.d.ts",
13-
"import": "./dist/vee-validate-valibot.esm.js",
14-
"require": "./dist/vee-validate-valibot.js"
14+
"import": "./dist/vee-validate-valibot.mjs",
15+
"require": "./dist/vee-validate-valibot.cjs"
1516
}
1617
},
1718
"types": "dist/vee-validate-valibot.d.ts",
@@ -32,7 +33,9 @@
3233
],
3334
"files": [
3435
"dist/*.js",
35-
"dist/*.d.ts"
36+
"dist/*.d.ts",
37+
"dist/*.cjs",
38+
"dist/*.mjs"
3639
],
3740
"dependencies": {
3841
"type-fest": "^4.8.3",

packages/vee-validate/package.json

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@
44
"description": "Painless forms for Vue.js",
55
"author": "Abdelrahman Awad <[email protected]>",
66
"license": "MIT",
7-
"module": "dist/vee-validate.esm.js",
8-
"unpkg": "dist/vee-validate.js",
9-
"main": "dist/vee-validate.js",
7+
"module": "dist/vee-validate.mjs",
8+
"unpkg": "dist/vee-validate.iife.js",
9+
"main": "dist/vee-validate.mjs",
10+
"type": "module",
1011
"exports": {
1112
".": {
1213
"types": "./dist/vee-validate.d.ts",
13-
"import": "./dist/vee-validate.esm.js",
14-
"require": "./dist/vee-validate.js"
14+
"import": "./dist/vee-validate.mjs",
15+
"require": "./dist/vee-validate.cjs"
1516
}
1617
},
1718
"types": "dist/vee-validate.d.ts",
@@ -32,7 +33,9 @@
3233
],
3334
"files": [
3435
"dist/*.js",
35-
"dist/*.d.ts"
36+
"dist/*.d.ts",
37+
"dist/*.cjs",
38+
"dist/*.mjs"
3639
],
3740
"peerDependencies": {
3841
"vue": "^3.4.26"

packages/vee-validate/src/useFieldState.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { computed, isRef, reactive, ref, Ref, unref, watch, MaybeRef, MaybeRefOrGetter, toValue } from 'vue';
2-
import { FieldMeta, FieldState, FieldValidator, InputType, PrivateFormContext, PathState } from './types';
2+
import { FieldMeta, FieldState, FieldValidator, InputType, PrivateFormContext, PathState, TypedSchema } from './types';
33
import { getFromPath, isEqual, normalizeErrorItem } from './utils';
4-
import { TypedSchema } from '../dist/vee-validate';
54

65
export interface StateSetterInit<TValue = unknown> extends FieldState<TValue> {
76
initialValue: TValue;

packages/yup/package.json

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,16 @@
44
"description": "vee-validate integration with yup schema validation",
55
"author": "Abdelrahman Awad <[email protected]>",
66
"license": "MIT",
7-
"module": "dist/vee-validate-yup.esm.js",
8-
"unpkg": "dist/vee-validate-yup.js",
9-
"main": "dist/vee-validate-yup.js",
7+
"module": "dist/vee-validate-yup.mjs",
8+
"unpkg": "dist/vee-validate-yup.iife.js",
9+
"main": "dist/vee-validate-yup.mjs",
1010
"types": "dist/vee-validate-yup.d.ts",
11+
"type": "module",
1112
"exports": {
1213
".": {
1314
"types": "./dist/vee-validate-yup.d.ts",
14-
"import": "./dist/vee-validate-yup.esm.js",
15-
"require": "./dist/vee-validate-yup.js"
15+
"import": "./dist/vee-validate-yup.mjs",
16+
"require": "./dist/vee-validate-yup.cjs"
1617
}
1718
},
1819
"homepage": "https://vee-validate.logaretm.com/v4/guide/composition-api/typed-schema/",
@@ -32,7 +33,9 @@
3233
],
3334
"files": [
3435
"dist/*.js",
35-
"dist/*.d.ts"
36+
"dist/*.d.ts",
37+
"dist/*.cjs",
38+
"dist/*.mjs"
3639
],
3740
"dependencies": {
3841
"type-fest": "^4.8.3",

packages/zod/package.json

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,16 @@
44
"description": "vee-validate integration with zod schema validation",
55
"author": "Abdelrahman Awad <[email protected]>",
66
"license": "MIT",
7-
"module": "dist/vee-validate-zod.esm.js",
8-
"unpkg": "dist/vee-validate-zod.js",
9-
"main": "dist/vee-validate-zod.js",
7+
"module": "dist/vee-validate-zod.mjs",
8+
"unpkg": "dist/vee-validate-zod.iife.js",
9+
"main": "dist/vee-validate-zod.mjs",
1010
"types": "dist/vee-validate-zod.d.ts",
11+
"type": "module",
1112
"exports": {
1213
".": {
1314
"types": "./dist/vee-validate-zod.d.ts",
14-
"import": "./dist/vee-validate-zod.esm.js",
15-
"require": "./dist/vee-validate-zod.js"
15+
"import": "./dist/vee-validate-zod.mjs",
16+
"require": "./dist/vee-validate-zod.cjs"
1617
}
1718
},
1819
"homepage": "https://vee-validate.logaretm.com/v4/integrations/zod-schema-validation/",
@@ -32,7 +33,9 @@
3233
],
3334
"files": [
3435
"dist/*.js",
35-
"dist/*.d.ts"
36+
"dist/*.d.ts",
37+
"dist/*.cjs",
38+
"dist/*.mjs"
3639
],
3740
"dependencies": {
3841
"type-fest": "^4.8.3",

scripts/build.mjs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ async function minify({ code, pkg, bundleName }) {
3838
mangle: true,
3939
});
4040

41-
const fileName = bundleName.replace(/\.js$/, '.min.js');
42-
const filePath = `${pkgout}/${fileName}`;
41+
const fileName = bundleName.replace(/\.js$/, '.prod.js');
42+
const filePath = `${pkgout}/${fileName}.mjs`;
4343
fs.outputFileSync(filePath, output.code);
4444
const stats = reportSize({ code: output.code, path: filePath });
4545
console.log(`${chalk.green('Output File:')} ${fileName} ${stats}`);
@@ -64,7 +64,9 @@ async function build(pkg) {
6464

6565
console.log(chalk.magenta(`Generating bundle for ${pkg}`));
6666
const pkgout = path.join(__dirname, `../packages/${pkg}/dist`);
67-
for (const format of ['es', 'umd']) {
67+
await fs.emptyDir(pkgout);
68+
69+
for (const format of ['esm', 'iife', 'cjs']) {
6870
const { input, output, bundleName } = await createConfig(pkg, format);
6971
const bundle = await rollup(input);
7072
const {
@@ -74,10 +76,10 @@ async function build(pkg) {
7476
const outputPath = path.join(pkgout, bundleName);
7577
fs.outputFileSync(outputPath, code);
7678
const stats = reportSize({ code, path: outputPath });
77-
79+
7880
console.log(`${chalk.green('Output File:')} ${bundleName} ${stats}`);
7981

80-
if (format === 'umd') {
82+
if (format === 'iife') {
8183
await minify({ bundleName, pkg, code });
8284
}
8385
}

scripts/config.mjs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,10 @@ const pkgNameMap = {
2929
joi: 'vee-validate-joi',
3030
};
3131

32-
const formatMap = {
33-
es: 'esm',
34-
umd: '',
32+
const formatExt = {
33+
esm: 'mjs',
34+
iife: 'iife.js',
35+
cjs: 'cjs',
3536
};
3637

3738
async function createConfig(pkg, format) {
@@ -48,7 +49,7 @@ async function createConfig(pkg, format) {
4849

4950
const { version } = info;
5051

51-
const isEsm = format === 'es';
52+
const isEsm = format === 'esm';
5253

5354
const config = {
5455
input: {
@@ -85,14 +86,15 @@ async function createConfig(pkg, format) {
8586
* @license MIT
8687
*/`,
8788
format,
88-
name: format === 'umd' ? formatNameMap[pkg] : undefined,
89+
name: format === 'iife' ? formatNameMap[pkg] : undefined,
8990
globals: {
9091
vue: 'Vue',
92+
'vee-validate': 'VeeValidate',
9193
},
9294
},
9395
};
9496

95-
config.bundleName = `${pkgNameMap[pkg]}${formatMap[format] ? '.' + formatMap[format] : ''}.js`;
97+
config.bundleName = `${pkgNameMap[pkg]}.${formatExt[format] ?? 'js'}`;
9698

9799
// if (options.env) {
98100
// config.input.plugins.unshift(
@@ -105,4 +107,4 @@ async function createConfig(pkg, format) {
105107
return config;
106108
}
107109

108-
export { formatNameMap, pkgNameMap, formatMap, createConfig };
110+
export { formatNameMap, pkgNameMap, formatExt, createConfig };

0 commit comments

Comments
 (0)