{"id":24539,"date":"2024-02-25T01:53:09","date_gmt":"2024-02-25T00:53:09","guid":{"rendered":"https:\/\/nelkodev.com\/blog\/administracion-de-scripts-de-npm-con-javascript-en-espanol\/"},"modified":"2024-06-03T18:44:11","modified_gmt":"2024-06-03T17:44:11","slug":"administracion-de-scripts-de-npm-con-javascript-en-espanol","status":"publish","type":"post","link":"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/","title":{"rendered":"NPM Script Administration with Javascript in Spanish"},"content":{"rendered":"<p>Managing and automating software development tasks is standard practice in today&#039;s industry. NPM (Node Package Manager), being one of the fundamental tools in the JavaScript ecosystem, offers an efficient and flexible scripting system. In this article, we&#039;ll take a deep dive into how to manage NPM scripts to streamline and optimize development workflows with JavaScript.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_80 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #ffffff;color:#ffffff\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #ffffff;color:#ffffff\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewbox=\"0 0 24 24\" version=\"1.2\" baseprofile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Introduccion_a_los_Scripts_de_NPM\" >Introduction to NPM Scripts<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#%C2%BFQue_son_los_Scripts_de_NPM\" >What are NPM Scripts?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Beneficios_de_Utilizar_Scripts_de_NPM\" >Benefits of Using NPM Scripts<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Configurando_Scripts_en_un_Archivo_packagejson\" >Configuring Scripts in a package.json File<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Estructura_Basica_del_Campo_%22scripts%22\" >Basic Structure of the &quot;scripts&quot; Field<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Scripts_Predefinidos\" >Predefined Scripts<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Creacion_de_Scripts_Personalizados\" >Creating Custom Scripts<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Argumentos_y_Variables_de_Entorno\" >Arguments and Environment Variables<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Buenas_Practicas_en_la_Administracion_de_Scripts_de_NPM\" >Good Practices in NPM Script Administration<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Modularizacion_de_Scripts\" >Script Modularization<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Descripcion_de_Scripts\" >Script Description<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Consistencia_de_Comandos\" >Command Consistency<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Uso_de_Package_Runners\" >Using Package Runners<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Herramientas_y_Librerias_para_Extender_la_Funcionalidad_de_los_Scripts_de_NPM\" >Tools and Libraries to Extend the Functionality of NPM Scripts<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#npm-run-all\" >npm-run-all<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Concurrently\" >Concurrently<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Cross-env\" >Cross-env<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#PM2\" >PM2<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Automatizacion_de_Scripts_de_NPM_en_el_Ciclo_de_Vida_del_Software\" >NPM Script Automation in the Software Lifecycle<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Hooks_de_Ciclo_de_Vida_de_NPM\" >NPM Lifecycle Hooks<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Integracion_con_Herramientas_de_CICD\" >Integration with CI\/CD Tools<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Automatizacion_de_Tareas_de_Mantenimiento\" >Automation of Maintenance Tasks<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Casos_Practicos_de_Scripts_de_NPM\" >NPM Scripting Case Studies<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Desarrollo_Local_Con_Nodemon\" >Local Development With Nodemon<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Creacion_de_Entornos_de_Despliegue_con_Docker\" >Creating Deployment Environments with Docker<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Cache_de_NPM_y_Tareas_de_Limpieza\" >NPM Cache and Cleanup Tasks<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/nelkodev.com\/en\/blog\/administration-of-npm-scripts-with-javascript-in-spanish\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Introduccion_a_los_Scripts_de_NPM\"><\/span>Introduction to NPM Scripts<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Before we dive into specific management, it&#039;s crucial to understand what NPM scripts are and why they are essential for task automation.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%C2%BFQue_son_los_Scripts_de_NPM\"><\/span>What are NPM Scripts?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>NPM scripts<\/strong> They are commands defined in the file <code>package.json<\/code> of a project that allow you to execute automated tasks, such as starting the server, running tests, or compiling code. These scripts use the command line and can invoke any executable or instruction available in the environment&#039;s PATH.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Beneficios_de_Utilizar_Scripts_de_NPM\"><\/span>Benefits of Using NPM Scripts<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Command simplification<\/strong>: Summary of complex processes in simple commands.<\/li>\n<li><strong>Personalization<\/strong>: They adapt tasks to the project workflow.<\/li>\n<li><strong>Portability<\/strong>: They make the project configuration consistent and transferable between different development environments.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Configurando_Scripts_en_un_Archivo_packagejson\"><\/span>Configuring Scripts in a package.json File<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>We are going to detail how to add custom scripts to the <code>package.json<\/code> and the typical conventions for doing so.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Estructura_Basica_del_Campo_%22scripts%22\"><\/span>Basic Structure of the &quot;scripts&quot; Field<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<pre><code class=\"&quot;language-json&quot;\">{ &quot;scripts&quot;: { &quot;start&quot;: &quot;node app.js&quot;, &quot;test&quot;: &quot;jest&quot; } }<\/code><\/pre>\n<h4><span class=\"ez-toc-section\" id=\"Scripts_Predefinidos\"><\/span>Predefined Scripts<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>NPM provides a series of <strong>predefined scripts<\/strong> (<code>start<\/code>, <code>test<\/code>, <code>install<\/code>, etc.) that have a special behavior, since they can be executed without the need to precede them with <code>run<\/code>.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Creacion_de_Scripts_Personalizados\"><\/span>Creating Custom Scripts<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>To create a custom script, simply add a new key with its corresponding command to the field <code>scripts<\/code> inside of the <code>package.json<\/code>.<\/p>\n<pre><code class=\"&quot;language-json&quot;\">{ &quot;scripts&quot;: { &quot;build&quot;: &quot;webpack --config webpack.config.js&quot;, &quot;dev&quot;: &quot;nodemon server.js&quot; } }<\/code><\/pre>\n<p>To run these custom scripts, we use <code>npm run<\/code> followed by the script name, such as <code>npm run build<\/code> o <code>npm run dev<\/code>.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Argumentos_y_Variables_de_Entorno\"><\/span>Arguments and Environment Variables<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Additionally, it is possible to pass arguments and use environment variables in our scripts. NPM makes it easier for us to pass additional arguments using the double hyphen <code>--<\/code>.<\/p>\n<pre><code class=\"&quot;language-json&quot;\">{ &quot;scripts&quot;: { &quot;test&quot;: &quot;jest&quot;, &quot;test:watch&quot;: &quot;npm run test -- --watch&quot; } }<\/code><\/pre>\n<h2><span class=\"ez-toc-section\" id=\"Buenas_Practicas_en_la_Administracion_de_Scripts_de_NPM\"><\/span>Good Practices in NPM Script Administration<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>When working with scripts, it is important to follow certain best practices to maintain code quality and scalability.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Modularizacion_de_Scripts\"><\/span>Script Modularization<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Avoid writing extremely long and complex scripts in a single line. Instead, create separate modules or scripts and reference one within another.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Descripcion_de_Scripts\"><\/span>Script Description<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Use comments or an additional document to describe what each script does, especially if the project is accessible by multiple developers.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Consistencia_de_Comandos\"><\/span>Command Consistency<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Maintain a consistent structure in script names and their corresponding actions.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Uso_de_Package_Runners\"><\/span>Using Package Runners<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Consider using tools like <code>npm-run-all<\/code> to run multiple scripts concurrently or sequentially.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Herramientas_y_Librerias_para_Extender_la_Funcionalidad_de_los_Scripts_de_NPM\"><\/span>Tools and Libraries to Extend the Functionality of NPM Scripts<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Not all packages or commands must be installed globally, and some tasks may require additional tools that NPM scripts may not offer on their own.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"npm-run-all\"><\/span>npm-run-all<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>This tool allows you to run multiple NPM scripts sequentially or in parallel. It is useful for building multiple assets at the same time or running multiple services.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Concurrently\"><\/span>Concurrently<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Similar to <code>npm-run-all<\/code>, <code>concurrently<\/code> It is used to run multiple commands simultaneously.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Cross-env\"><\/span>Cross-env<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><code>Cross-env<\/code> is a library that allows you to set environment variables in a way that is compatible with various operating systems.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"PM2\"><\/span>PM2<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>PM2 is a production process manager for Node.js applications, which can be useful for running and monitoring applications in production environments.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Automatizacion_de_Scripts_de_NPM_en_el_Ciclo_de_Vida_del_Software\"><\/span>NPM Script Automation in the Software Lifecycle<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>NPM scripts can be integrated into the software development lifecycle to perform automated builds, tests, and deployments.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Hooks_de_Ciclo_de_Vida_de_NPM\"><\/span>NPM Lifecycle Hooks<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>NPM defines several lifecycle hooks such as <code>preinstall<\/code>, <code>postinstall<\/code>, <code>prepublish<\/code>, etc., which are executed automatically in different phases of package management.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Integracion_con_Herramientas_de_CICD\"><\/span>Integration with CI\/CD Tools<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>NPM scripts can be configured to run automatically as part of continuous integration and deployment (CI\/CD) pipelines to ensure that testing and builds are performed before deployment.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Automatizacion_de_Tareas_de_Mantenimiento\"><\/span>Automation of Maintenance Tasks<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Specific scripts can be programmed to automate project maintenance tasks, such as clearing caches, updating dependencies, among others.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Casos_Practicos_de_Scripts_de_NPM\"><\/span>NPM Scripting Case Studies<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>We will illustrate with examples how NPM scripts can be applied to solve common development tasks.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Desarrollo_Local_Con_Nodemon\"><\/span>Local Development With Nodemon<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<pre><code class=\"&quot;language-json&quot;\">{ &quot;scripts&quot;: { &quot;start&quot;: &quot;nodemon app.js&quot; } }<\/code><\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Creacion_de_Entornos_de_Despliegue_con_Docker\"><\/span>Creating Deployment Environments with Docker<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<pre><code class=\"&quot;language-json&quot;\">{ &quot;scripts&quot;: { &quot;docker:build&quot;: &quot;docker build -t my-application.&quot;, &quot;docker:run&quot;: &quot;docker run -p 3000:3000 my-application&quot; } }<\/code><\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Cache_de_NPM_y_Tareas_de_Limpieza\"><\/span>NPM Cache and Cleanup Tasks<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<pre><code class=\"&quot;language-json&quot;\">{ &quot;scripts&quot;: { &quot;clean&quot;: &quot;npm cache clean --force&quot; } }<\/code><\/pre>\n<h2><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>NPM Script Management is an integral and powerful part of JavaScript project management. They provide an efficient way to automate and standardize tasks, ensuring that development teams can maintain a consistent and effective workflow.<\/p>\n<p>With best practices, appropriate tools, and a clear understanding of how to integrate these scripts into our development processes, we can achieve significant improvements in productivity and code quality.<\/p>\n<p>JavaScript developers, from beginner to advanced, will benefit greatly from effectively including NPM scripts in their coding routine. The key is to understand your potential and make the most of it.<\/p>","protected":false},"excerpt":{"rendered":"<p>Managing and automating software development tasks is a standard practice in today\u2019s industry. NPM (Node Package Manager), being one of the fundamental tools in the JavaScript ecosystem, offers an efficient and flexible scripting system. In this article, we will explore in depth how to manage NPM scripts to streamline and optimize development [\u2026]<\/p>","protected":false},"author":1,"featured_media":24540,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[420,2207,1125],"tags":[720,205,90,580,185,2208,613,1395],"class_list":["post-24539","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-nodejs","category-npm","tag-administracion","tag-blog","tag-con","tag-espanol","tag-javascript","tag-nodejs","tag-npm","tag-scripts"],"_links":{"self":[{"href":"https:\/\/nelkodev.com\/en\/wp-json\/wp\/v2\/posts\/24539","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nelkodev.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nelkodev.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nelkodev.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nelkodev.com\/en\/wp-json\/wp\/v2\/comments?post=24539"}],"version-history":[{"count":0,"href":"https:\/\/nelkodev.com\/en\/wp-json\/wp\/v2\/posts\/24539\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nelkodev.com\/en\/wp-json\/wp\/v2\/media\/24540"}],"wp:attachment":[{"href":"https:\/\/nelkodev.com\/en\/wp-json\/wp\/v2\/media?parent=24539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nelkodev.com\/en\/wp-json\/wp\/v2\/categories?post=24539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nelkodev.com\/en\/wp-json\/wp\/v2\/tags?post=24539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}