From 34de4ba6dcf9dd3dd915210c01c82f81bf6c27b1 Mon Sep 17 00:00:00 2001 From: Justin Schroeder Date: Sat, 7 Mar 2020 09:03:59 -0500 Subject: [PATCH] Adds support for @braid/vue-formulate-i18n * Adds support form FormulateError form errors * Adds support for form-errors prop Also includes tests for both named-form-errors as well, form-errors prop, positioning form errors with the component, and allowing multiple * Adds form error support, error handling, and supporting tests * Remove unused util functions * Adds german localization locales/de.js (#14) * Create de.js * Added startsWith and endsWith * adds build process for localization support, removes dist * Adds danish localization * fixes bug that resulted in validation failing if run more than once Credit to @luan-nk-nguyen for discovering the bug * Moves locales to vue-formulate-i18n * Adds dist files for locales * Adds vue-formulate-i18n 1.0.1 * Uses i18n 1.0.3 * Build files * Fixes #19 * Update src/locales/README.md Co-Authored-By: Andrew Boyd * changes v-html to v-text for error message output credit to @skix123 for the bug report! Co-authored-by: Andrew Boyd --- build/rollup.config.js | 23 +- build/rollup.iife.config.js | 9 +- dist/formulate.esm.js | 2 +- dist/formulate.min.js | 6 +- dist/formulate.min.js.map | 1 - dist/formulate.umd.js | 2 +- package-lock.json | 1009 ++++++++++++++++-- package.json | 7 +- src/Formulate.js | 46 +- src/FormulateErrors.vue | 4 +- src/FormulateInput.vue | 2 +- src/libs/context.js | 3 + src/libs/utils.js | 25 +- src/locales/README.md | 9 + src/locales/en.js | 191 ---- test/Formulate.test.js | 101 -- test/unit/Formulate.test.js | 169 +++ test/{ => unit}/FormulateForm.test.js | 4 +- test/{ => unit}/FormulateInput.test.js | 2 +- test/{ => unit}/FormulateInputBox.test.js | 2 +- test/{ => unit}/FormulateInputButton.test.js | 2 +- test/{ => unit}/FormulateInputFile.test.js | 14 +- test/{ => unit}/FormulateInputSlider.test.js | 6 +- test/{ => unit}/FormulateInputText.test.js | 2 +- test/{ => unit}/rules.test.js | 2 +- test/{ => unit}/utils.test.js | 13 +- 26 files changed, 1234 insertions(+), 422 deletions(-) delete mode 100644 dist/formulate.min.js.map create mode 100644 src/locales/README.md delete mode 100644 src/locales/en.js delete mode 100644 test/Formulate.test.js create mode 100644 test/unit/Formulate.test.js rename test/{ => unit}/FormulateForm.test.js (99%) rename test/{ => unit}/FormulateInput.test.js (98%) rename test/{ => unit}/FormulateInputBox.test.js (99%) rename test/{ => unit}/FormulateInputButton.test.js (98%) rename test/{ => unit}/FormulateInputFile.test.js (62%) rename test/{ => unit}/FormulateInputSlider.test.js (84%) rename test/{ => unit}/FormulateInputText.test.js (99%) rename test/{ => unit}/rules.test.js (99%) rename test/{ => unit}/utils.test.js (93%) diff --git a/build/rollup.config.js b/build/rollup.config.js index 4c4debb..b41087a 100644 --- a/build/rollup.config.js +++ b/build/rollup.config.js @@ -1,20 +1,23 @@ +import commonjs from '@rollup/plugin-commonjs' // Convert CommonJS modules to ES6 +import buble from '@rollup/plugin-buble' // Transpile/polyfill with reasonable browser support import autoExternal from 'rollup-plugin-auto-external' -import commonjs from 'rollup-plugin-commonjs' // Convert CommonJS modules to ES6 import vue from 'rollup-plugin-vue' // Handle .vue SFC files -import buble from 'rollup-plugin-buble' // Transpile/polyfill with reasonable browser support import { terser } from 'rollup-plugin-terser' export default { input: 'src/Formulate.js', // Path relative to package.json - output: { - name: 'Formulate', - exports: 'default', - globals: { - 'is-plain-object': 'isPlainObject', - 'nanoid/non-secure': 'nanoid', - 'is-url': 'isUrl' + output: [ + { + name: 'Formulate', + exports: 'default', + globals: { + 'is-plain-object': 'isPlainObject', + 'nanoid/non-secure': 'nanoid', + 'is-url': 'isUrl', + '@braid/vue-formulate-i18n': 'VueFormulateI18n' + } } - }, + ], external: ['nanoid/non-secure'], plugins: [ commonjs(), diff --git a/build/rollup.iife.config.js b/build/rollup.iife.config.js index a8d025a..c60f3b0 100644 --- a/build/rollup.iife.config.js +++ b/build/rollup.iife.config.js @@ -1,7 +1,7 @@ import resolve from '@rollup/plugin-node-resolve' -import commonjs from 'rollup-plugin-commonjs' // Convert CommonJS modules to ES6 +import commonjs from '@rollup/plugin-commonjs' // Convert CommonJS modules to ES6 +import buble from '@rollup/plugin-buble' // Transpile/polyfill with reasonable browser support import vue from 'rollup-plugin-vue' // Handle .vue SFC files -import buble from 'rollup-plugin-buble' // Transpile/polyfill with reasonable browser support import internal from 'rollup-plugin-internal' import { terser } from 'rollup-plugin-terser' @@ -14,7 +14,8 @@ export default { globals: { 'is-plain-object': 'isPlainObject', 'nanoid/non-secure': 'nanoid', - 'is-url': 'isUrl' + 'is-url': 'isUrl', + '@braid/vue-formulate-i18n': 'VueFormulateI18n' } }, plugins: [ @@ -23,7 +24,7 @@ export default { preferBuiltins: false }), commonjs(), - internal(['is-plain-object', 'nanoid/non-secure', 'is-url']), + internal(['is-plain-object', 'nanoid/non-secure', 'is-url', '@braid/vue-formulate-i18n']), vue({ css: true, // Dynamically inject css as a