loopbackio / loopbackio/loopback-datasource-juggler

Replace deprecated util._extend with Object.assign to ensure compatibility with modern Node.js

Abierto
#2,530 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
JavaScript
Estrellas
282
Forks
366
Merge medio
17 h 4 min
PR fusionados (30 d)
10

Descripción

I used patch-package to patch loopback-datasource-juggler@3.36.1 for the project I'm working on.

Here is the diff that solved my problem:

diff --git a/node_modules/loopback-datasource-juggler/lib/dao.js b/node_modules/loopback-datasource-juggler/lib/dao.js
index bd9c818..d62991e 100644
--- a/node_modules/loopback-datasource-juggler/lib/dao.js
+++ b/node_modules/loopback-datasource-juggler/lib/dao.js
@@ -207,9 +207,9 @@ DataAccessObject.applyProperties = function(data, inst) {
   let properties = this.definition.settings.properties;
   properties = properties || this.definition.settings.attributes;
   if (typeof properties === 'object') {
-    util._extend(data, properties);
+    Object.assign(data, properties);
   } else if (typeof properties === 'function') {
-    util._extend(data, properties.call(this, data, inst) || {});
+    Object.assign(data, properties.call(this, data, inst) || {});
   } else if (properties !== false) {
     const scope = this.defaultScope(data, inst) || {};
     if (typeof scope.where === 'object') {
diff --git a/node_modules/loopback-datasource-juggler/lib/model.js b/node_modules/loopback-datasource-juggler/lib/model.js
index 6ca3f33..e53ede5 100644
--- a/node_modules/loopback-datasource-juggler/lib/model.js
+++ b/node_modules/loopback-datasource-juggler/lib/model.js
@@ -24,7 +24,7 @@ const DataAccessUtils = require('./model-utils');
 const Observer = require('./observer');
 const Hookable = require('./hooks');
 const validations = require('./validations');
-const _extend = util._extend;
+const _extend = Object.assign;
 const utils = require('./utils');
 const fieldsToArray = utils.fieldsToArray;
 const uuid = require('uuid');
diff --git a/node_modules/loopback-datasource-juggler/lib/validations.js b/node_modules/loopback-datasource-juggler/lib/validations.js
index 82184e0..2f250ed 100644
--- a/node_modules/loopback-datasource-juggler/lib/validations.js
+++ b/node_modules/loopback-datasource-juggler/lib/validations.js
@@ -7,7 +7,7 @@
 
 const g = require('strong-globalize')();
 const util = require('util');
-const extend = util._extend;
+const extend = Object.assign;
 
 /*!
  * Module exports

This issue body was partially generated by patch-package.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Revisa lib/dao.js, lib/model.js y lib/validations.js, empezando por cada referencia a util._extend o _extend mostrada en el issue. Sustituye el uso obsoleto por Object.assign conservando las llamadas circundantes y, después, verifica que pasen las comprobaciones existentes del proyecto y que no queden referencias obsoletas en estos archivos.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
javascript, node.js
Área
backend
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Tranquilo
Claridad
Bien especificado
Aptitud para principiantes
68/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.