{"id":29700,"date":"2024-09-24T09:09:51","date_gmt":"2024-09-24T07:09:51","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=29700"},"modified":"2024-09-24T09:10:26","modified_gmt":"2024-09-24T07:10:26","slug":"opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/","title":{"rendered":"OpenDev Explorer  &#8211; Episodio 8 Biome.js: il nuovo ecosistema per il tuo ambiente Javascript"},"content":{"rendered":"\n<p>Chiunque abbia messo mano a del codice in maniera collaborativa con un collega o un amico sa quanto siano importanti le regole di linting e di formattazione per poter lavorare al meglio ed \u00e8 proprio per questo motivo che vi voglio parlare di BiomeJS, un tool unico per gestire linting e formattazione<\/p>\n\n\n\n<p>Benvenuti a <em>OpenDev Explorer<\/em>, la mia rubrica dedicata all\u2019esplorazione del mondo Open Source che strizza un occhio alla developer experience. Io sono Riccardo (aka TheZal) e oggi vi parler\u00f2 di\u00a0<strong>BiomeJS<\/strong>\u00a0un tool che \u00e8 andato a sostituire ESLint e Prettier nei progetti in Javscript!<\/p>\n\n\n\t\t\t\t<div class=\"wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-5be26364      \"\n\t\t\t\t\tdata-scroll= \"1\"\n\t\t\t\t\tdata-offset= \"30\"\n\t\t\t\t\tstyle=\"\"\n\t\t\t\t>\n\t\t\t\t<div class=\"uagb-toc__wrap\">\n\t\t\t\t\t\t<div class=\"uagb-toc__title\">\n\t\t\t\t\t\t\tIndice\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uagb-toc__list-wrap \">\n\t\t\t\t\t\t<ol class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#panoramica-generale\" class=\"uagb-toc-link__trigger\">Panoramica Generale<\/a><li class=\"uagb-toc__list\"><a href=\"#manuale-di-istruzioni\" class=\"uagb-toc-link__trigger\">Manuale di istruzioni<\/a><ul class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#installazione\" class=\"uagb-toc-link__trigger\">Installazione<\/a><li class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#utilizzo\" class=\"uagb-toc-link__trigger\">Utilizzo<\/a><\/li><\/ul><\/li><li class=\"uagb-toc__list\"><a href=\"#la-developer-experience\" class=\"uagb-toc-link__trigger\">La developer experience<\/a><li class=\"uagb-toc__list\"><a href=\"#lextra-mile\" class=\"uagb-toc-link__trigger\">L&#039;extra mile<\/a><li class=\"uagb-toc__list\"><a href=\"#biomejs-vs-eslint-prettier-o-babel\" class=\"uagb-toc-link__trigger\">BiomeJs vs. ESLint, Prettier o Babel<\/a><li class=\"uagb-toc__list\"><a href=\"#biomejs-tiriamo-le-somme\" class=\"uagb-toc-link__trigger\">BiomeJS: tiriamo le somme!<\/a><\/ul><\/ol>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\n\n\n<h2 class=\"wp-block-heading\" id=\"h-panoramica-generale\">Panoramica Generale<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cdn.prod.website-files.com\/63d926b37ec0d886c2d5d538\/66bb66787146b32b773157a7_66965b20d438f6977669685f_javascript.jpeg\" alt=\"\"\/><\/figure>\n\n\n\n<p>BiomeJS \u00e8 un <strong><a href=\"https:\/\/www.codemotion.com\/magazine\/it\/open-source\/come-trovare-progetti-open-source-interessanti\/\" target=\"_blank\" rel=\"noreferrer noopener\">progetto open-source<\/a><\/strong> che si distingue per la sua versatilit\u00e0 e capacit\u00e0 di semplificare la configurazione e la gestione di pi\u00f9 strumenti all&#8217;interno di un unico ambiente. La filosofia alla base di BiomeJS \u00e8 ridurre la complessit\u00e0 per gli sviluppatori, rendendo il processo di sviluppo front-end pi\u00f9 efficiente e produttivo. Con il supporto per TypeScript e JSX nativo, non richiede configurazioni particolari, rendendo l&#8217;onboarding di nuovi progetti immediato.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-manuale-di-istruzioni\">Manuale di istruzioni<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-installazione\">Installazione<\/h3>\n\n\n\n<p>L&#8217;installazione di BiomeJS \u00e8 semplice e immediata. Utilizzando <code>npm<\/code> o <code>yarn<\/code>, <code>pnpm <\/code>e <code>bun <\/code>puoi includere Biome nel tuo progetto:<\/p>\n\n\n\n<p>usando <code>npm<\/code> <\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">npm<\/span> <span class=\"hljs-selector-tag\">install<\/span> <span class=\"hljs-keyword\">@biomejs<\/span>\/cli --save-dev<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>usando <code>yarn<\/code><\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">yarn<\/span> <span class=\"hljs-selector-tag\">add<\/span> <span class=\"hljs-keyword\">@biomejs<\/span>\/cli --dev<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>usando <code>pnpm<\/code><\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">pnpm<\/span> <span class=\"hljs-selector-tag\">add<\/span> <span class=\"hljs-selector-tag\">--save-dev<\/span> <span class=\"hljs-selector-tag\">--save-exact<\/span> <span class=\"hljs-keyword\">@biomejs<\/span>\/biome<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>usando <code>bun<\/code><\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">bun<\/span> <span class=\"hljs-selector-tag\">add<\/span> <span class=\"hljs-selector-tag\">--dev<\/span> <span class=\"hljs-selector-tag\">--exact<\/span> <span class=\"hljs-keyword\">@biomejs<\/span>\/biome<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>BiomeJS supporta sia progetti basati su Node.js che ambienti web, rendendolo una soluzione versatile per molte tipologie di progetti.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-utilizzo\">Utilizzo<\/h3>\n\n\n\n<p>Per poter utilizzare Biome prima bisogna effettuare la sua configurazione tramite il comando per inizializzarlo. Questo comando andr\u00e0 a creare un file <code>biome.json<\/code> o <code>biome.jsonc<\/code> con all&#8217;interno le regole che dovr\u00e0 seguire il nostro nuovo tool preferito di linting.<\/p>\n\n\n\n<p>Gli esempi che riporter\u00f2 saranno con l&#8217;utilizzo di npm come package manager, ma nella documentazione sono presenti i comandi per il vostro package manager preferito<\/p>\n\n\n\n<p>Per inizializzare il tool basta eseguire il seguente comando:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">npx<\/span> <span class=\"hljs-keyword\">@biomejs<\/span>\/biome init<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Che andr\u00e0 a creare un file json di questo tipo:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"JSON \/ JSON with Comments\" data-shcb-language-slug=\"json\"><span><code class=\"hljs language-json\">{\n  <span class=\"hljs-attr\">\"$schema\"<\/span>: <span class=\"hljs-string\">\"https:\/\/biomejs.dev\/schemas\/1.9.1\/schema.json\"<\/span>,\n  <span class=\"hljs-attr\">\"vcs\"<\/span>: {\n    <span class=\"hljs-attr\">\"enabled\"<\/span>: <span class=\"hljs-literal\">false<\/span>,\n    <span class=\"hljs-attr\">\"clientKind\"<\/span>: <span class=\"hljs-string\">\"git\"<\/span>,\n    <span class=\"hljs-attr\">\"useIgnoreFile\"<\/span>: <span class=\"hljs-literal\">false<\/span>\n  },\n  <span class=\"hljs-attr\">\"files\"<\/span>: { <span class=\"hljs-attr\">\"ignoreUnknown\"<\/span>: <span class=\"hljs-literal\">false<\/span>, <span class=\"hljs-attr\">\"ignore\"<\/span>: &#91;] },\n  <span class=\"hljs-attr\">\"formatter\"<\/span>: { <span class=\"hljs-attr\">\"enabled\"<\/span>: <span class=\"hljs-literal\">true<\/span>, <span class=\"hljs-attr\">\"indentStyle\"<\/span>: <span class=\"hljs-string\">\"tab\"<\/span> },\n  <span class=\"hljs-attr\">\"organizeImports\"<\/span>: { <span class=\"hljs-attr\">\"enabled\"<\/span>: <span class=\"hljs-literal\">true<\/span> },\n  <span class=\"hljs-attr\">\"linter\"<\/span>: {\n    <span class=\"hljs-attr\">\"enabled\"<\/span>: <span class=\"hljs-literal\">true<\/span>,\n    <span class=\"hljs-attr\">\"rules\"<\/span>: { <span class=\"hljs-attr\">\"recommended\"<\/span>: <span class=\"hljs-literal\">true<\/span> }\n  },\n  <span class=\"hljs-attr\">\"javascript\"<\/span>: { <span class=\"hljs-attr\">\"formatter\"<\/span>: { <span class=\"hljs-attr\">\"quoteStyle\"<\/span>: <span class=\"hljs-string\">\"double\"<\/span> } }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JSON \/ JSON with Comments<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">json<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Una volta creato il file di configurazione baster\u00e0 utilizzare il comando <code>format<\/code> per formattare, il comando <code>lint<\/code> per effettuare l&#8217;operazione di linting oppure il comando <code>check<\/code> per effettuare entrambe le operazioni<\/p>\n\n\n\n<p><code>npx @biomejs\/biome format --write<\/code><\/p>\n\n\n\n<p><code>npx @biomejs\/biome lint --write<\/code><\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\">npx @biomejs\/biome check --write <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">files<\/span>&gt;<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-la-developer-experience\">La developer experience<\/h2>\n\n\n<div class=\"gb-container gb-container-842e65af\">\n<div class=\"gb-container gb-container-b26200bb\">\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" width=\"1024px\" src=\"https:\/\/walterspieler.dev\/_next\/image?url=https%3A%2F%2Fimages.prismic.io%2Fwalterspieler%2FZhbCgTjCgu4jzu5U_giphy-1-.gif%3Fauto%3Dformat%2Ccompress&amp;w=828&amp;q=75\" alt=\"\" \/><\/figure>\n\n<\/div>\n<\/div>\n\n\n<p>La grande forza di BiomeJS risiede nella sua semplicit\u00e0 d&#8217;uso e nella possibilit\u00e0 di sostituire pi\u00f9 strumenti con una singola soluzione. Grazie a un&#8217;interfaccia CLI chiara e ben documentata, gli sviluppatori possono beneficiare di tempi di setup ridotti e di un&#8217;esperienza di sviluppo senza intoppi. L&#8217;approccio &#8220;zero-config&#8221; \u00e8 particolarmente apprezzato, soprattutto per team che vogliono concentrarsi pi\u00f9 sullo sviluppo del prodotto e meno sulla configurazione di tool esterni.<\/p>\n\n\n\n<p>BiomeJS si distingue anche per la sua elevata performance. A differenza di altre soluzioni che possono rallentare il processo di sviluppo, Biome \u00e8 stato progettato per essere leggero e veloce, garantendo tempi di risposta immediati anche su progetti di grandi dimensioni.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-l-extra-mile\">L&#8217;extra mile<\/h2>\n\n\n\n<p>Per quanto l&#8217;extra mile di Biome potrebbe essere il fatto che \u00e8 perfettamente compatibile come sostituto di prettier (infatti il progetto Biome ha vinto un concorso indetto proprio da prettier stesso che sfidava a creare un tool che potesse sostituirlo) il vero extra mile secondo me \u00e8 dato dal fatto che \u00e8 possibile integrarlo nella ci in maniera semplice.<\/p>\n\n\n\n<p>Nella loro documentazione offrono diversi spunti, tra cui un esempio di configurazione di una github action gi\u00e0 pronta e funzionante out of the box<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"HTTP\" data-shcb-language-slug=\"http\"><span><code class=\"hljs language-http\"><span class=\"hljs-attribute\">name<\/span>: Code quality\n\non:\n  push:\n  pull_request:\n\njobs:\n  quality:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout\n        uses: actions\/checkout@v4\n      - name: Setup Biome\n        uses: biomejs\/setup-biome@v2\n        with:\n          version: latest\n      - name: Run Biome\n        run: biome ci .<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTTP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">http<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-biomejs-vs-eslint-prettier-o-babel\"><strong>BiomeJs vs. ESLint, Prettier o Babel<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" width=\"1024px\" src=\"https:\/\/24.media.tumblr.com\/f16b2f01585152bd79da5f200386a31c\/tumblr_mrg81fx2JB1rey868o1_500.gif\" alt=\"\" \/><\/figure>\n\n\n\n<p>Rispetto a tool consolidati come ESLint, Prettier o Babel, BiomeJS si pone come una scelta all-in-one diventando quindi &#8220;l&#8217;unico tool per domarli tutti&#8221;. Questa caratteristica lo rende particolarmente interessante per chi cerca di ridurre la complessit\u00e0 e i tempi di configurazione. Mentre altri strumenti richiedono spesso plugin o configurazioni personalizzate, BiomeJS integra tutto ci\u00f2 di cui un progetto moderno ha bisogno in un solo pacchetto.<\/p>\n\n\n\n<p>Inoltre, come menzionato prima, Biome \u00e8 il sostituto perfetto di Prettier, <a href=\"https:\/\/prettier.io\/blog\/2023\/11\/27\/20k-bounty-was-claimed\">come attestato da Prettier stessa<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-biomejs-tiriamo-le-somme\">BiomeJS: tiriamo le somme!<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/walterspieler.dev\/_next\/image?url=https%3A%2F%2Fimages.prismic.io%2Fwalterspieler%2FZhbC8zjCgu4jzu5h_CleanShot2024-04-09at18.46.43%25402x.png%3Fauto%3Dformat%2Ccompress&amp;w=3840&amp;q=75\" alt=\"\"\/><\/figure><\/div>\n\n\n<p>BiomeJS rappresenta un passo avanti per gli sviluppatori JavaScript che cercano una soluzione all-in-one estremamente veloce per migliorare la qualit\u00e0 del codice e semplificare la gestione dei tool di sviluppo. Grazie al suo approccio modulare e alla sua semplicit\u00e0 d&#8217;uso, BiomeJS \u00e8 un&#8217;opzione da considerare seriamente per chi desidera ottimizzare il proprio workflow senza compromettere le funzionalit\u00e0 o la qualit\u00e0 del codice prodotto.<\/p>\n\n\n\n<p>E voi darete una chance a Biome?<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Chiunque abbia messo mano a del codice in maniera collaborativa con un collega o un amico sa quanto siano importanti le regole di linting e di formattazione per poter lavorare al meglio ed \u00e8 proprio per questo motivo che vi voglio parlare di BiomeJS, un tool unico per gestire linting e formattazione Benvenuti a OpenDev&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/\">Read more<\/a><\/p>\n","protected":false},"author":193,"featured_media":29753,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[10289],"tags":[10440,10327,10438],"collections":[11708],"class_list":{"0":"post-29700","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-javascript-it","8":"tag-developer-experience-it","9":"tag-javascript-it","10":"tag-sviluppo-software-it","11":"collections-dalla-community","12":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Tutto su Biome.js: ecosistema per il tuo ambiente JavaScript<\/title>\n<meta name=\"description\" content=\"Oggi esploriamo insieme Biome.js, uno strumento che ha sostituito ESLint e Prettier nei progetti JavaScript!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OpenDev Explorer - Episodio 8 Biome.js: il nuovo ecosistema per il tuo ambiente Javascript\" \/>\n<meta property=\"og:description\" content=\"Oggi esploriamo insieme Biome.js, uno strumento che ha sostituito ESLint e Prettier nei progetti JavaScript!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-09-24T07:09:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-24T07:10:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1792\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"TheZal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TheZal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/\"},\"author\":{\"name\":\"TheZal\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/f3f099160f0d8f2f80c5e4f3c8d53503\"},\"headline\":\"OpenDev Explorer &#8211; Episodio 8 Biome.js: il nuovo ecosistema per il tuo ambiente Javascript\",\"datePublished\":\"2024-09-24T07:09:51+00:00\",\"dateModified\":\"2024-09-24T07:10:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/\"},\"wordCount\":684,\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename.webp\",\"keywords\":[\"Developer Experience\",\"JavaScript\",\"sviluppo software\"],\"articleSection\":[\"JavaScript\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/\",\"name\":\"Tutto su Biome.js: ecosistema per il tuo ambiente JavaScript\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename.webp\",\"datePublished\":\"2024-09-24T07:09:51+00:00\",\"dateModified\":\"2024-09-24T07:10:26+00:00\",\"description\":\"Oggi esploriamo insieme Biome.js, uno strumento che ha sostituito ESLint e Prettier nei progetti JavaScript!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/#primaryimage\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename.webp\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename.webp\",\"width\":1792,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Frontend\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"JavaScript\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"OpenDev Explorer &#8211; Episodio 8 Biome.js: il nuovo ecosistema per il tuo ambiente Javascript\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Codemotion.Italy\/\",\"https:\/\/x.com\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/f3f099160f0d8f2f80c5e4f3c8d53503\",\"name\":\"TheZal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/avatar-100x100.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/avatar-100x100.png\",\"caption\":\"TheZal\"},\"description\":\"Hello there! My name is Riccardo (aka TheZal), a passionate software engineer who loves to combine his passion for code with his love for fantasy realms like Dungeons and Dragons, Harry Potter, Star Wars, LOTR, etc., etc. I'm really into studying and exploring new technologies (with a lot of love for Open Source). I'm also a co-owner of a 12-year-old dachshund called Poldo, who is the mascot of my blog!\",\"sameAs\":[\"http:\/\/www.thezal.dev\"],\"url\":\"https:\/\/www.codemotion.com\/magazine\/author\/thezal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Tutto su Biome.js: ecosistema per il tuo ambiente JavaScript","description":"Oggi esploriamo insieme Biome.js, uno strumento che ha sostituito ESLint e Prettier nei progetti JavaScript!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/","og_locale":"en_US","og_type":"article","og_title":"OpenDev Explorer - Episodio 8 Biome.js: il nuovo ecosistema per il tuo ambiente Javascript","og_description":"Oggi esploriamo insieme Biome.js, uno strumento che ha sostituito ESLint e Prettier nei progetti JavaScript!","og_url":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2024-09-24T07:09:51+00:00","article_modified_time":"2024-09-24T07:10:26+00:00","og_image":[{"width":1792,"height":1024,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename.webp","type":"image\/webp"}],"author":"TheZal","twitter_card":"summary_large_image","twitter_creator":"@CodemotionIT","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"TheZal","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/"},"author":{"name":"TheZal","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/f3f099160f0d8f2f80c5e4f3c8d53503"},"headline":"OpenDev Explorer &#8211; Episodio 8 Biome.js: il nuovo ecosistema per il tuo ambiente Javascript","datePublished":"2024-09-24T07:09:51+00:00","dateModified":"2024-09-24T07:10:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/"},"wordCount":684,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename.webp","keywords":["Developer Experience","JavaScript","sviluppo software"],"articleSection":["JavaScript"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/","url":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/","name":"Tutto su Biome.js: ecosistema per il tuo ambiente JavaScript","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename.webp","datePublished":"2024-09-24T07:09:51+00:00","dateModified":"2024-09-24T07:10:26+00:00","description":"Oggi esploriamo insieme Biome.js, uno strumento che ha sostituito ESLint e Prettier nei progetti JavaScript!","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename.webp","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename.webp","width":1792,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/opendev-explorer-episodio-8-biome-js-il-nuovo-ecosistema-per-il-tuo-ambiente-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Frontend","item":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/"},{"@type":"ListItem","position":3,"name":"JavaScript","item":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/"},{"@type":"ListItem","position":4,"name":"OpenDev Explorer &#8211; Episodio 8 Biome.js: il nuovo ecosistema per il tuo ambiente Javascript"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/f3f099160f0d8f2f80c5e4f3c8d53503","name":"TheZal","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/avatar-100x100.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/01\/avatar-100x100.png","caption":"TheZal"},"description":"Hello there! My name is Riccardo (aka TheZal), a passionate software engineer who loves to combine his passion for code with his love for fantasy realms like Dungeons and Dragons, Harry Potter, Star Wars, LOTR, etc., etc. I'm really into studying and exploring new technologies (with a lot of love for Open Source). I'm also a co-owner of a 12-year-old dachshund called Poldo, who is the mascot of my blog!","sameAs":["http:\/\/www.thezal.dev"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/thezal\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename-600x400.webp","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename-600x600.webp","author_info":{"display_name":"TheZal","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/thezal\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename.webp",1792,1024,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename-150x150.webp",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename-300x171.webp",300,171,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename-768x439.webp",768,439,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename-1024x585.webp",1024,585,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename-1536x878.webp",1536,878,true],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename.webp",1792,1024,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename-100x100.webp",100,100,true],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename-180x128.webp",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename-896x504.webp",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename-400x225.webp",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename-600x400.webp",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/09\/Biome-terrarium-rename-600x600.webp",600,600,true]},"uagb_author_info":{"display_name":"TheZal","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/thezal\/"},"uagb_comment_info":0,"uagb_excerpt":"Chiunque abbia messo mano a del codice in maniera collaborativa con un collega o un amico sa quanto siano importanti le regole di linting e di formattazione per poter lavorare al meglio ed \u00e8 proprio per questo motivo che vi voglio parlare di BiomeJS, un tool unico per gestire linting e formattazione Benvenuti a OpenDev&#8230;&hellip;","lang":"it","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/29700","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/193"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=29700"}],"version-history":[{"count":2,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/29700\/revisions"}],"predecessor-version":[{"id":29758,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/29700\/revisions\/29758"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/29753"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=29700"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=29700"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=29700"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=29700"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}