npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@mornya/node-vessel

v5.5.0

Published

Creates Node.js application with no build configuration.

Downloads

26

Readme

Node Vessel

npm node types downloads license

Copyright 2001~present. mornya. All rights reserved.

About

Node.js Serverside 앱 개발을 위한 스케폴딩 생성, 미리 구성된 개발환경으로 빠른 애플리케이션 개발/배포에 집중할 수 있도록 TypeScript 기반 앱을 생성해 준다.

Features

  • TypeScript and ES6+ is supported by default WITHOUT using Babel.
  • You can launch the application right away with pre-configured code templates and preferences.
  • Code developed with Node.js is bundled via Webpack.
  • Lint and test all of your codes with Lintest CLI.

Installation

생성된 프로젝트에서 개발을 위해 필요한 node-vessel CLI는 기본적으로 전역 모듈로 설치되어 있어야 한다. 아래와 같이 커맨드 라인에서 실행 가능하도록 한다.

npm 대신 yarn 사용시, 프로젝트 루트 경로에 package-lock.json 파일이 존재하면 제거하고 yarn.lock 파일만 참조되도록 한다.

$ npm install -g @mornya/node-vessel
or
$ yarn global add @mornya/node-vessel

린트와 테스트 수행 관련된 모듈은 @lintest/cli 모듈을 사용하므로 따로 전역으로 설치한다.

$ npm install -g @lintest/cli
or
$ yarn global add @lintest/cli

Execution

아래와 같이 커맨드 라인에서 CLI를 실행하며, 출력되는 메시지로 사용 가능한 커맨드를 확인 할 수 있다.

문서 하단 "Available commands" 참조.

$ node-vessel

Create a new project

신규 프로젝트 생성은 터미널 등의 환경에서 아래와 같이 node-vessel init 커맨드를 실행하여 기본적인 템플릿을 바탕으로 프로젝트 개발 환경을 구축한다.

실행시 src 하위 경로에 기본적으로 TypeScript 기반 템플릿 소스코드들이 생성되며, 파일 확장자(*.js)로 변경시 ECMAScript/JavaScript를 이용한 개발이 가능하다.

$ mkdir <project-name>
$ cd <project-name>
$ node-vessel init

혹은 npm init 등을 실행하여 package.json 파일 등이 존재할 때, node-vessel init 커맨드를 실행해도 무방하다. 이 때 기존 package.json 파일의 내용과 Node Vessel에서 템플릿으로 설정한 내용이 병합되어, 각종 설정 들이 추가/변경 된다.

$ npm init
$ git init
$ node-vessel init

아래와 같이 프로젝트 이름 및 설명을 설정하여 초기화 혹은 기존 데이터와 병합이 가능하다.

package.json의 name과 description이 입력된 값으로 변경되며, 신규 생성시에는 README.md 등 템플릿에도 적용된다.

$ node-vessel init "@myorg/sample"
or
$ node-vessel init "@myorg/new-awesome-libs" "새로운 프로젝트"

Run project

프로젝트 내 개발된 애플리케이션을 로컬환경에서 실행하기 위해 디펜던시로 설치된 nodemon을 구동한다.

$ npm start
or
$ npm run [dev|serve]

Build project

프로젝트 내 ECMAScript 혹은 TypeScript 등으로 작성된 소스파일들은 Webpack을 통해 번들링되어 dist 경로(변경 불가)에 index.js 파일이 생성되며, 해당 파일을 기점으로 서비스 하면 된다.

# (🤘 = dev | prod)
$ npm run bundle:🤘

혹은 각 소스파일들을 컴파일만 하여 dist 경로에 각 *.js 파일들로 생성이 되도록 하고, 해당 경로의 엔트리포인트가 되는 파일을 기점으로 서비스 하려면 아래와 같이 하면 된다.

# (🤘 = dev | prod)
$ npm run build:🤘

Available commands

Node Vessel에서 사용 가능한 커맨드는 아래와 같다.

Initialization

생성된 프로젝트 초기에 실행하도록 한다. 현재 경로에 미리 구성된 템플릿 파일 복제 과정을 수행하며, 만약 수행시 package.json 파일이 존재하는 경우 각 설정들을 병합하게 된다.

package.json 파일 이외에 다른 템플릿 파일과 동일한 파일이 현재 경로 및 하위에 존재할 경우에는 덮어쓰기 되니 주의.

$ node-vessel init

Build

ECMAScript 혹은 TypeScript로 개발된 모듈에 대한 빌드를 실행한다. TypeScript 컴파일러(tsc)를 통해 트랜스파일 된 *.js 파일들이 추출되며, 해당 파일들은 dist 경로에 생성된다.

$ node-vessel build

Bundle

Build 커맨드와 마찬가지로 개발된 모듈에 대한 빌드를 실행한다. Webpack 컴파일러를 통해 번들링 된 index.js 파일이 추출되며, 해당 파일들은 dist 경로에 생성된다.

$ node-vessel bundle

Check code

TypeScript 컴파일러(tsc)를 이용하여 전체 코드들에 대해 타입 검증을 실행한다.

$ react-vessel check

Clean build

dist 경로에 생성된 산출물 및 캐시 디렉토리 내 모든 파일을 제거한다.

해당 명령 실행시에만 캐시 디렉토리가 제거 대상에 포함된다.

$ node-vessel clean

Change Log

프로젝트 변경사항은 CHANGELOG.md 파일 참조.

License

프로젝트 라이센스는 LICENSE 참조.