For one of my TypeScript projects, I have needed a Windows-compatible unzip tool. I haven’t found one, which has a d.ts declaration file. So I decided that I will implement a zip/unzip NodeJs package with build-in TypeScript declarations.

Of course, it would be easier to write a declaration file for one of the existing tools, but a step-by-step guide about publishing a NodeJS package would be more useful.

Due to the length of the topic, I split the guide into four articles:

You can find the source code of this article here:

Publishing with GitHub Actions

What is GitHub Actions

GitHub Actions is…


Publishing a real NodeJS package: Code Quality Improvements
Publishing a real NodeJS package: Code Quality Improvements

For one of my TypeScript projects, I have needed a Windows-compatible unzip tool. I haven’t found one, which has a d.ts declaration file. So I decided that I will implement a zip/unzip NodeJs package with build-in TypeScript declarations.

Of course, it would be easier to write a declaration file for one of the existing tools, but a step-by-step guide about publishing a NodeJS package would be more useful.

Due to the length of the topic, I split the guide into four articles:

  • Publishing with GitHub Actions (upcoming)

In this article we will set up:

  • Prettier

For one of my TypeScript projects, I have needed a Windows-compatible unzip tool. I haven’t found one, which has a d.ts declaration file. So I decided that I will implement a zip/unzip NodeJs package with build-in TypeScript declarations.

Of course, it would be easier to write a declaration file for one of the existing tools, but a step-by-step guide about publishing a NodeJS package would be more useful.

Due to the length of the topic, I split the guide into four articles:

  • Code Quality Improvements (upcoming)
  • Publish with GitHub Actions (upcoming)

Implementation

At the end of the…


Publishing a real NodeJS package: Project Bootstrap
Publishing a real NodeJS package: Project Bootstrap

For one of my TypeScript projects, I have needed a Windows-compatible unzip tool. I haven’t found one, which has a d.ts declaration file. So I decided that I will implement a zip/unzip NodeJs package with build-in TypeScript declarations.

Of course, it would be easier to write a declaration file for one of the existing tools, but a step-by-step guide about publishing a NodeJS package would be more useful.

Due to the length of the topic, I split the guide into four articles:

  • Implementation and Testing
  • Code Quality Improvements
  • Publish with GitHub Actions

1. Create a public GitHub repository


In my previous article, I wrote about how you can make a boilerplate project with Electron & Angular. If you haven’t read it yet, please start with that. This article is based on it.

So, if you managed to create the boilerplate project, you should have a working npm start and npm run release scripts. Now, we can move it to the next level…

Live Reload

Live reloading is a feature in Angular. The ng serve command starts a development server which listens to http://localhost:4200 and watches file changes in the src folder. Every file changes will trigger a reload.

In this…


In this article, I will show you how you can make a boilerplate project for your cross-platform desktop application development with Electron 6 & Angular 8.

Introduction

What is Electron?

Electron is a framework for creating cross-platform (Mac, Windows, and Linux) applications with web technologies like JavaScript, HTML, and CSS. Under the hood, Electron uses Chromium for rendering and Node.js for accessing the file system. Long story short: Electron runs your website in a chromium window, which looks like a native application. So…

If you can build a website, you can build a desktop app.

Some popular apps like Visual Studio Code, Microsoft Teams…


Introduction

In this article I will show you how I deploy my Angular project using Github, Jenkins, NodeJS, Vagrant and DigitalOcean.

Creating an Angular project

First of all, you will need a repository to store the source code of your Angular project. The easiest way is to create a public one on Github. Let’s call it angular-test-deploy.


Introduction

What is DigitalOcean?

“ DigitalOcean provides developers cloud services that help to deploy and scale applications that run simultaneously on multiple computers”

What is a DigitalOcean Droplet?

“DigitalOcean Droplet is a flexible Linux-based virtual machines (VMs) that run on top of virtualized hardware. Each Droplet you create is a new server you can use.”

What is Vagrant?

Vagrant is an application to create and support virtual development environments using virtual machines. You can find more details about it here:

What is vagrant-digitalocean?

“vagrant-digitalocean is a Vagrant provider plugin that supports the management of DigitalOcean Droplets (virtual machines).”

Features:

  • Power on and off Droplets
  • Rebuild a Droplet (destroys and ups with…


Introduction

What is Vagrant?

“ Vagrant is a tool for building and managing virtual machine environments in a single workflow. With an easy-to-use workflow and focus on automation, Vagrant lowers development environment setup time, increases production parity, and makes the “works on my machine” excuse a relic of the past.” You can read more about Vagrant here.

I really like to work with Vagrant, because it allows me to install several versions of the same framework, runtime, etc. without messing up my development environment. Also it has a DigitalOcean plugin which makes easier to create and setup Droplets.

Róbert Darida

Software Engineer, Game Developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store