<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Loïc Coenen</title>
    <description>The latest articles on Forem by Loïc Coenen (@lcoenen).</description>
    <link>https://forem.com/lcoenen</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F216591%2Fb705d142-bdd8-4653-85d6-048e0592d8e6.jpeg</url>
      <title>Forem: Loïc Coenen</title>
      <link>https://forem.com/lcoenen</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/lcoenen"/>
    <language>en</language>
    <item>
      <title>Aragon DAO - the future is now </title>
      <dc:creator>Loïc Coenen</dc:creator>
      <pubDate>Wed, 23 Oct 2019 08:06:36 +0000</pubDate>
      <link>https://forem.com/lcoenen/aragon-dao-the-future-is-now-40dd</link>
      <guid>https://forem.com/lcoenen/aragon-dao-the-future-is-now-40dd</guid>
      <description>&lt;p&gt;I recently came across the whole Ethereum ecosystem. Of course, I knew about the Blockchain and its promises. I knew this person convinced that she would make billions in crypto-trading, saw the rise of a disrupting set of technologies, meant to do to banks and fiat money what eMule and gNutella-based software did at the time to disk industry majors players - cutting the middleman.  I also have been made very aware of its limitations and technical challenges it faces - high financial and ecological price, security, legals,... But more importantly, my background pushed me to be aware of its philosophical / political implications. &lt;/p&gt;

&lt;h2&gt;
  
  
  Beside the money
&lt;/h2&gt;

&lt;p&gt;One of the most salient aspect of those technologies are the purely monetary ones. For a huge part of the population, bitcoin and cryptomoneys are just that - money. It is of course the most immediate use-case, with deep societal implications. Abusive monetary and economic policy have been perceived as the cause of misery and economical collapse, and some criticism have been raised against them - from non-governmental grassroots movements such as the&lt;a href="https://en.wikipedia.org/wiki/Debt_relief"&gt;debt relief movement&lt;/a&gt; or Occupy Wall Street, but also from defenders of national sovereignty. Recently, right-wing Italian five stars movement &lt;a href="https://www.bbc.co.uk/news/world-africa-46960532"&gt;have accused the French governement&lt;/a&gt; of being the cause of economical migration flow through the CFA Franc. Since the Breton-Woods agreements got terminated, fiat currencies have been subject to more and more distrusted. In this context of general need for a new financial system, this is a huge point of focus for those new technologies. Nevertheless, as they are ideology-agnostic, the exact way they're use and the ideology behind it is still to be defined.&lt;/p&gt;

&lt;p&gt;But underlying that specific use-case, which will surely trigger its share lively debates about the future of money, is the technology itself. The blockchain have been a buzzword for a while now, and if some have expressed their cynicism toward it, I am more and more convinced that it is there to stay. Because beside the financial aspect, its revolutionary power comes from its capacity to become a decentralized, trustless database for any usage. Because the role of established institutions is often to take care of that trustful bureaucracy, those are at risk of disruptions in a near future.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Blockchain is a foundational technology: It has the potential to create new foundations for our economic and social systems. But while the impact will be enormous, it will take decades for blockchain to seep into our economic and social infrastructure. &lt;a href="https://enterprisersproject.com/sites/default/files/the_truth_about_blockchain.pdf"&gt;The truth about blockchain&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Digital Autonomous Organisation and governance
&lt;/h2&gt;

&lt;p&gt;Lacking modern means of communications, societies have organized themselves in a hierarchic, bureaucratic, vertical manners. As humanity grew while communication technologies stagnated, the size of those bureaucracies have increased through history - the Napoleonic and British empires, the SSRU have all been characterized by a huge bureaucratic class. The same happened with corporations - that grew in size and slowly took over a &lt;a href="https://www.ribbonfarm.com/2011/06/08/a-brief-history-of-the-corporation-1600-to-2100/"&gt;bigger and bigger part of the economy&lt;/a&gt;. But like in a Deleuzian dream, the snake is currently eating its own tails. Mass-produced television have triggered the sixties counter-culture. Phone system automation created the phreakers. Internet created the hacker culture, the distributed web, the free software movement. &lt;/p&gt;

&lt;p&gt;Those cultures disrupted, are disrupting and will disrupt the establishment. The emergence of the so-called "sharing economy" have already been attacking state monopoly, with mixed result. Indeed, the only value provided by those companies are in the trustful environment they provide. Their overheads are &lt;a href="https://www.fastcompany.com/40575728/worker-owned-co-ops-are-coming-for-the-digital-gig-economy"&gt;minimum compared to the margin they're taking on every transaction&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;The same kind of phenomenon have been seen in the cultural production industry. Between the beginning of recording and the democratization of internet, a huge monolithic monopoly was needed to distribute cultural products. Given this monopoly, those companies could mobilize their bargaining power to submit &lt;a href="https://en.wikipedia.org/wiki/How_Music_Works"&gt;both artists and general public to exaggerated costs and publicity&lt;/a&gt;. When the internet infrastructure became able to transmit music, bypassing their traditional function, the industry replicated with a "war on piracy", trying to force centralized solution to insure funding. Of course, they were right in a sense - musicians, artists, deserve to be redistributed for their works and passions. But are they still the best-able to distribute those resources? To this day, the amount companies like Apple or Spotify are redistributing is only a fraction of their margin. &lt;/p&gt;

&lt;p&gt;Trustless transparenced brought by blockchain technologies is then a game-changer. With a public, unalterable ledger, there is no need to trust corporations anymore. Some experiments are ambitious enough to seek &lt;a href="https://tse.bitnation.co/"&gt;replacing the state itself&lt;/a&gt;. But some others have a (maybe) more realistic goals in mind. Aragon is one of them. It consequent stack is build to allow one to create any kind of organization on the blockchain, a Decentralized Autonomous organization - no matter its goals or governance models. Created on the ashes or the unfortunate original DAO, it leverage an Ethereum smart contract network - Aragon OS, to allow to create limitless, totally transparent and decentralized cooperatives and enterprise! &lt;/p&gt;

&lt;p&gt;Even though it is under heavy development, it have an app-based structure that would allow any kind of logic to be implemented in your very-own organization, without relying on any institutionalized authority. They're doing a lot of research on governance process, and they have fours templates so far - Fundraising, Reputation, Company and Membership. It's already powering vibrant communities such as &lt;a href="https://1hive.org/"&gt;1hive&lt;/a&gt;. On the top of that, there are discussion to switch to a POA-based blockchain, which would prevent them to rely solely on the (already overloaded) ethereum blockcahin.&lt;/p&gt;

&lt;p&gt;So in conclusion, Aragon is a highly innovative and meaningful initiative, deeply rooted in the open-source world, with real-world applications and a huge potential to disrupt. It's a project that I'm proud to contribute to.  Blockchains, as any technologies, are agnostic when it comes to their socio-politics implications. It's up to us to use it for the betterment of our social world! So, don't wait: &lt;a href="//app.aragon.org"&gt;start your DAO today&lt;/a&gt; or &lt;a href="http://aragon.org"&gt;learn more&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://enterprisersproject.com/sites/default/files/the_truth_about_blockchain.pdf"&gt;The truth about blockchain&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.aragon.black/blackmonthly-4/"&gt;Black Monthly - Common and reapropriation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.ribbonfarm.com/2011/06/08/a-brief-history-of-the-corporation-1600-to-2100/"&gt;A brief history of the corporation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://medium.com/quiknode/building-daos-with-aragon-c8b95956a405"&gt;Building DAO with Aragon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>blockchain</category>
    </item>
    <item>
      <title>Slow down to code faster</title>
      <dc:creator>Loïc Coenen</dc:creator>
      <pubDate>Tue, 03 Sep 2019 17:35:56 +0000</pubDate>
      <link>https://forem.com/lcoenen/slow-down-to-code-faster-3cj</link>
      <guid>https://forem.com/lcoenen/slow-down-to-code-faster-3cj</guid>
      <description>&lt;p&gt;The more I code and the more I tend to slow down. And curiously enough, this makes me code faster and be more productive. &lt;/p&gt;

&lt;p&gt;As an autodidact with an almost ADD-ish personality, I was inclined to use the backspace a lot. Test something, see the error, fix it, repeat. Then, there was always this moment in which I was getting stuck, and my frustration grows accordingly. As I was getting more and more into the &lt;a href="https://en.wikipedia.org/wiki/Tunnel_effect"&gt;tunnel effect&lt;/a&gt;, I was often trying to test a hundreds solutions in a few minutes, only to give up quickly and try something else. Then, my only way out was literally to go for a walk, only to come back at my work when I was relaxed and realize that the solution was simple as that. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9bfiMgt0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/pc7gqweg8y3a2py0m8z9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9bfiMgt0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/pc7gqweg8y3a2py0m8z9.jpg" alt="Good ol' meme - guy looking skeptical staring at his computer"&gt;&lt;/a&gt;&lt;br&gt;
I wouldn't be the first or the last person suffering from this. As I moved from university to a career in tech, I had to adapt. Here is a few things that helped me to structure my practice and become a better coder:&lt;/p&gt;

&lt;h2&gt;
  
  
  Pomodoro technique
&lt;/h2&gt;

&lt;p&gt;The human brain (or at least mine) can only focus on something for half an hour. The &lt;a href="https://francescocirillo.com/pages/pomodoro-technique"&gt;pomodoro technique&lt;/a&gt; is a time-management methodology based on that fact. The idea is quite simple - a pomodoro is an unit of work, typically consisting of 25 minutes iterations and a 5 minutes break. If you loose focus during your pomodoro, you're supposed to cancel it and start over. Not going to lie, when I'm passionated by a project, the opposite tends to happen to me - I tends to overlook the pauses and end up depleted. Nevertheless, one of my main advantage is that you can link it to your project management, and focus on the task at hand. For example, why not using &lt;a href="https://taiga.io/"&gt;Taiga&lt;/a&gt; story points to estimate the time a specific task will take?&lt;/p&gt;

&lt;h2&gt;
  
  
  Coding logs
&lt;/h2&gt;

&lt;p&gt;One of the main reason I went for an university master in psychology instead of doing like the rest of my high-school class and starting a bachelor in comp.sci is the kindergarden-schooling style there. They had assignments, couldn't talk during class, mandatory presence, and so on. But worst, they &lt;em&gt;had written. coding. exams&lt;/em&gt;. They had to implement algorithms with a good ol' pen and paper. No way I was doing that.&lt;/p&gt;

&lt;p&gt;But when I knew I wanted to code for a leaving, I realised how wrong I was. When placed in front of a problem bigger than my immediate attention span, I was lost. The solution? &lt;em&gt;A good ol' pen and paper&lt;/em&gt;. I started doing a &lt;em&gt;programming log&lt;/em&gt;. Everytime I was stuck, instead of trying the same thing different way, I started adopting a diagnostic approach. &lt;em&gt;What is the issue?&lt;/em&gt;. &lt;em&gt;Where could it come from?&lt;/em&gt;. &lt;em&gt;How can I test that?&lt;/em&gt;. &lt;em&gt;Let's test it&lt;/em&gt;. &lt;em&gt;Does it fix the issue?&lt;/em&gt;. &lt;em&gt;What else could be the problem?&lt;/em&gt;... and so on. By documenting everything I'm trying, I kept myself focused on the problem at hand and could be way more systematic - and in fine, way faster in fixing in the issue. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KBW_FdXx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/zAAshFl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KBW_FdXx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/zAAshFl.png" alt="Logs"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Slow down and stop touching this god'damn backspace
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WppRU2h5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://ak1.picdn.net/shutterstock/videos/24493871/thumb/1.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WppRU2h5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://ak1.picdn.net/shutterstock/videos/24493871/thumb/1.jpg" alt="Backspace"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's right. One of the things that I constantly have to reminds myself to do, and is a priceless help to me, is simply to &lt;em&gt;slow down&lt;/em&gt;. Take the time to breathe before you push enter or click. Re-check the name of your variables twice before writing your code. Look at your whole screen, take one second before you type a word. This is dramatically improving my error rate. This is decreasing the time I spend looking for a typo, asking myself where the hell did I forgot something. And &lt;em&gt;in fine&lt;/em&gt;, this will make you more productive. &lt;/p&gt;

</description>
      <category>codequality</category>
      <category>mentalhealth</category>
    </item>
    <item>
      <title>Koos, a decentralised social network</title>
      <dc:creator>Loïc Coenen</dc:creator>
      <pubDate>Fri, 30 Aug 2019 16:50:57 +0000</pubDate>
      <link>https://forem.com/lcoenen/koos-a-decentralised-social-network-4mfd</link>
      <guid>https://forem.com/lcoenen/koos-a-decentralised-social-network-4mfd</guid>
      <description>&lt;p&gt;About a month ago, I came across this website that offered bounties for work on open-source, often ethereum-based project. It was the middle of the &lt;em&gt;Grow Ethereum&lt;/em&gt; hackathon. I was fascinated!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--45Y6P0Oz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/k22Nc99.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--45Y6P0Oz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/k22Nc99.png" alt="Gitcoin"&gt;&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;I went on &lt;code&gt;r/programming_buddies&lt;/code&gt; to find a bunch of people, called my graphic designer friends, and there we goes! The beginning were a little bit bumpy - even though we all knew our shits, collaboration can be hard, especially when placed in a situation of urgency. Looking back, I think we should have been way more incremental - implement a feature, write tests, repeat. &lt;/p&gt;

&lt;p&gt;But at the end, we managed to come up with Koos, a decentralised social network based on Fluence and IPFS. You can visit it at &lt;a href="http://koos.network"&gt;koos.network&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MDFgRkCE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/1ot4ERc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MDFgRkCE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/1ot4ERc.png" alt="Koos.network"&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Not gonna lie, this is nothing more than a Proof of Concept. It kinda work, but to have something solid I would need to write tests, re-factor / simplify quite a lot of code &lt;/p&gt;

&lt;p&gt;But still, I earned a bounty, learned to organise a project, discover loads of cool new technologies (3box, Aragon, Fluence, Arweave,...) and have been part of a global communities of like-minded people building cool stuffs :)&lt;/p&gt;

&lt;p&gt;So, it's friday night, I'm going to disconnect for the week-end - between my programming job and my side-project, I didn't take the time to do simple things like walking in nature, reading or swimming, and scarified a bit of my quality of life.&lt;/p&gt;

&lt;p&gt;But still, it's fulfilling to have done something cool! And who knows, maybe I'll find people to help me fix the tech debt and add feature, so we can have a full-flavored decentralized social network in which people could communicate, meet, trade and exchange without limits!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;You are welcome to help us! Check out our &lt;a href="https://gitlab.com/koos-project/koos/blob/master/CONTRIBUTING.md"&gt;contribute page&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>blockchain</category>
      <category>typescript</category>
      <category>webassembly</category>
      <category>react</category>
    </item>
    <item>
      <title>Deploying a WASM file on Fluence network</title>
      <dc:creator>Loïc Coenen</dc:creator>
      <pubDate>Tue, 27 Aug 2019 15:38:47 +0000</pubDate>
      <link>https://forem.com/lcoenen/deploying-a-wasm-file-on-fluence-network-23e9</link>
      <guid>https://forem.com/lcoenen/deploying-a-wasm-file-on-fluence-network-23e9</guid>
      <description>&lt;p&gt;Hey guys!&lt;/p&gt;

&lt;p&gt;Today, in order to get the &lt;a href="https://gitcoin.co/issue/fluencelabs/Bounties/1/3290" rel="noopener noreferrer"&gt;Gitcoin bounty&lt;/a&gt;, I will deploy our very own &lt;a href="https://gitlab.com/koos-project/koos/tree/master/server" rel="noopener noreferrer"&gt;Koos backend&lt;/a&gt; to the &lt;a href="//fluence.network"&gt;Fluence network&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.imgur.com%2FgaShYMo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.imgur.com%2FgaShYMo.png" alt="Fluence logo"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Fluence is a decentralised cloud platform based on Ethereum, that incentatize miners to run &lt;a href="http://webassembly.org" rel="noopener noreferrer"&gt;webassembly code&lt;/a&gt;. Even better, they compiled SQLite and Redis into a SQL and provide a SDK in Rust, C and &lt;a href="https://docs.assemblyscript.org/" rel="noopener noreferrer"&gt;Assemblyscript&lt;/a&gt;. Given our proficiency in Typescript, we decided to go for the later.&lt;/p&gt;

&lt;p&gt;Not gonna lie, the experience have been bumpy for the least. The JSON library needed updates, I suspect some &lt;code&gt;.trim()&lt;/code&gt; calls just sucked up some chars at the end of my string, and so on. On the other hand, shoutout to the Fluence team as they were really reactive and supportive. What you guys are doing is really innovative, keep it up! &amp;lt;3 &amp;lt;3&lt;/p&gt;

&lt;p&gt;So, it turns out they implemented multimodule directly into the &lt;a href="//dash.fluence.network"&gt;dashboard&lt;/a&gt;. All I had to do is to connect Metamask and upload the two WASM file under the dashboard. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.imgur.com%2Fxdmxk0J.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.imgur.com%2Fxdmxk0J.png" alt="Fluence dashboard"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then, after a little while, just like that, my app got deployed and I could have access to the &lt;code&gt;AppId&lt;/code&gt; and the contract address! All I had to do to communicate with the backend is to copy-paste those value in my front-end config and call the fluence-js library as seen below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    return fluence
      .connect(
        config.FLUENCE_CONTRACT_ADDRESS,
        config.FLUENCE_APP_ID,
        config.FLUENCE_ETHEREUM_URL
      )

/// ...

    const request = this.fluence.request({my request})

    return request
      .result()
      .then(answer =&amp;gt; answer.asString())
      .then(answer =&amp;gt; JSON.parse(answer))
      .then(answer =&amp;gt; {
      // Do something with the answer

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>blockchain</category>
      <category>javascript</category>
      <category>webassembly</category>
    </item>
    <item>
      <title>Migrating from TSLint to ESLint</title>
      <dc:creator>Loïc Coenen</dc:creator>
      <pubDate>Mon, 26 Aug 2019 17:14:47 +0000</pubDate>
      <link>https://forem.com/lcoenen/migrating-from-tslint-to-eslint-27kg</link>
      <guid>https://forem.com/lcoenen/migrating-from-tslint-to-eslint-27kg</guid>
      <description>&lt;p&gt;I knew our codebase had some dirt and I myself had forgotten a lot of unused imports while refactoring. I realize with horrors that we were not using &lt;code&gt;no-unused-import&lt;/code&gt; in our linter - &lt;a href="https://palantir.github.io/tslint/"&gt;TSLint&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I tried to activate it, but it turns out the rule have been &lt;a href="https://github.com/palantir/tslint/issues/4046"&gt;deprecated&lt;/a&gt;, de-deprecated and re-deprecated. Indeed, the whole tool &lt;a href="%EF%BB%BF%EF%BB%BFhttps://medium.com/palantir/tslint-in-2019-1a144c2317a9"&gt;will be abandonned&lt;/a&gt; and everybody is invited to migrate to &lt;a href="https://eslint.org/"&gt;ESLint&lt;/a&gt;, with whom they aim to merge, mimicking Typescript orientation of staying the closest possible to Javascript and its ecosystem. &lt;/p&gt;

&lt;p&gt;So far, so good - the multiplication (one could even say invasion) of different tools is a real pain for any javascript developer. Whatever your stack is, you probably already try to integrate two tools together, only to realize it was conflicting with another part library you already using. The liquid, "micro-" aspect of Javascript is a pleasure sometime, but can also be a real pain.&lt;/p&gt;

&lt;p&gt;So, let's install ESlint and the typescript plugin using using &lt;code&gt;npm install --save-dev eslint typescript-eslint/eslint-plugin&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;We are using ES6 and prettier, so here's what our &lt;code&gt;.eslintrc&lt;/code&gt; looks like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  parser: '@typescript-eslint/parser',
  parserOptions: {
    ecmaVersion: 2018,
    sourceType: 'module',
  },
  plugins: ['@typescript-eslint'],
  env: {
    browser: true,
    node: true,
        es6: true
  },
  extends: [
    'eslint:recommended',
    'plugin:@typescript-eslint/recommended',
        'prettier',
        'prettier/@typescript-eslint'
  ],
    rules:  {
        '@typescript-eslint/explicit-function-return-type': 0
    }
}

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;That's it. Now, you just have to fix the 808 errors that ESLint just spitted at you.&lt;/p&gt;

&lt;p&gt;=== See also ===&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin"&gt;https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin&lt;/a&gt; &lt;/p&gt;

</description>
      <category>typescript</category>
    </item>
  </channel>
</rss>
