From 153b37a15da01d2c6ce0847bc6537b60e079ac42 Mon Sep 17 00:00:00 2001 From: Shekh Date: Wed, 8 Oct 2025 16:15:23 +0530 Subject: [PATCH 1/5] chore: publish vue-linkify-vue3@2.0.0 with security fixes and Vue 3 support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Updated linkifyjs from ^2.1.3 to ^4.1.3 (fixed security vulnerabilities) - Added support for both Vue 2.7+ and Vue 3 (moved Vue to peerDependencies) - Fixed all dependabot security alerts (0 vulnerabilities) - Modernized build tools: * Babel 6 → Babel 7 with @babel/preset-env * Webpack 1.x → 5.x * ESLint 3.x → 8.x * Karma 1.x → 6.x * Replaced PhantomJS with ChromeHeadless - Updated directive implementation for Vue 2/3 compatibility - Updated tests for Vue 3 - Changed package name to vue-linkify-vue3 - Updated maintainer information - Added CHANGELOG.md documenting all changes --- .babelrc | 15 +- .eslintrc.js | 21 + CHANGELOG.md | 39 + README.md | 30 +- dist/vue-linkify.min.js | 30 +- index.js | 22 +- package-lock.json | 7084 +++++++++++++++++++++++++++++++++++++++ package.json | 67 +- test/unit/index.js | 52 +- test/unit/karma.conf.js | 20 +- yarn.lock | 6274 +++++++++++++++++----------------- 11 files changed, 10490 insertions(+), 3164 deletions(-) create mode 100644 .eslintrc.js create mode 100644 CHANGELOG.md create mode 100644 package-lock.json diff --git a/.babelrc b/.babelrc index c1a6e38..480305e 100644 --- a/.babelrc +++ b/.babelrc @@ -1,3 +1,16 @@ { - "presets": ["es2015", "babili"] + "presets": [ + ["@babel/preset-env", { + "modules": false + }] + ], + "env": { + "production": { + "presets": [ + ["@babel/preset-env", { + "modules": "commonjs" + }] + ] + } + } } diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..4291656 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,21 @@ +module.exports = { + env: { + browser: true, + es2021: true, + node: true + }, + extends: [ + 'eslint:recommended', + 'plugin:vue/essential' + ], + parserOptions: { + ecmaVersion: 12, + sourceType: 'module' + }, + plugins: [ + 'vue' + ], + rules: { + } +} + diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..7f3919b --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,39 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +## [2.0.0] - 2025-10-08 + +### Security +- **FIXED:** Updated `linkifyjs` from ^2.1.3 to ^4.1.3 to address security vulnerabilities +- **FIXED:** Resolved all dependabot security alerts +- **FIXED:** Updated Vue to support both Vue 2.7+ and Vue 3 (addressing Vue 2 ReDoS vulnerability) + +### Changed +- **BREAKING:** Vue is now a peer dependency instead of a direct dependency +- **BREAKING:** Minimum Vue 2 version is now 2.7.0 +- Added support for Vue 3 while maintaining Vue 2.7+ compatibility +- Updated directive implementation to support both Vue 2 and Vue 3 lifecycle hooks +- Migrated from Babel 6 to Babel 7 +- Updated all dev dependencies to latest stable versions: + - Webpack 1.x → 5.x + - Karma 1.x → 6.x + - Mocha 3.x → 10.x + - ESLint 3.x → 8.x + - And many more... +- Replaced deprecated PhantomJS with ChromeHeadless for testing +- Updated test suite to work with both Vue 2 and Vue 3 + +### Added +- Babel configuration file (.babelrc) for modern ES6+ transpilation +- Updated ESLint configuration for modern JavaScript +- Comprehensive documentation for Vue 2 and Vue 3 usage in README + +### Removed +- Removed Vue from direct dependencies (now peer dependency) +- Removed outdated babel-preset-babili +- Removed deprecated phantomjs-prebuilt + +## [1.0.1] - Original Release +- Initial release with Vue 2.1.6 and linkifyjs 2.1.3 + diff --git a/README.md b/README.md index bdec1a8..d8e20c0 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,15 @@ -# vue-linkify [![Build Status](https://travis-ci.org/phanan/vue-linkify.svg?branch=master)](https://travis-ci.org/phanan/vue-linkify) +# vue-linkify > A simple Vue directive to turn URL's and emails into clickable links. Based on SoapBox's [Linkify](https://github.com/SoapBox/linkifyjs). +**Note:** This is a maintained fork of the [original vue-linkify](https://github.com/phanan/vue-linkify) which is no longer maintained. This version includes updated dependencies, security fixes, and supports both Vue 2.7+ and Vue 3. + ## Install This directive can be installed as a module: ``` bash -$ npm install vue-linkify +$ npm install vue-linkify-vue3 ``` or, if you're not in a module environment, just include it as a `