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 🙏

© 2025 – Pkg Stats / Ryan Hefner

node-woojin

v1.2.1

Published

woojin language.

Downloads

25

Readme

node-woojin

한국인이신가요? 한국어 설명서를 보시려면 여기를 눌러 주세요!

This project is a esoteric programming language, and you can create a simple program through Korean keywords. (This project was inspired by umjunsik-lang and started. )

In the node.js environment, you can run the program as in the following example. Please insert the node-woojin code in the (code) part.

node_woojin = require("node-woojin");

node_woojin(`나는 신우진이다

(code)

저는 이만..`);

Grammer

All node-woojin codes must start with 나는 신우진이다 and end with 저는 이만... If you don't comply with this, you can't run the script.

Data Type

Number

We can express numbers with : and ;. : stands for +1, and ; stands for -1.

:::: => +4
;;;; => -4
:;:; => 0

String

You can express a character string with " (double quotation marks).

"woojin" => string "woojin".

If two or more strings are used in duplicate, the entire string will be ignored except first.

"나""는""천""재" => "나"

You can declare an arrangement by putting elements inside []. You can also put an array in the array.

[;;;,::] => [-4, 2]
[:::,;;,::::,:,[::,;;]] => [3,-2,4,1,[2,-2]]

At least two elements must be used unconditionally. If there is one element, or less, return an error.

Boolean

You can express boolean with uglyguri and beautifulguri. (Guri is the younger brother of the developer.)

uglyguri => Since guri is ugly in reality, it has a true value. beautifulguri => Since Guri is ugly in reality, the word pretty becomes false. Therefore, it has a false value.

uglyguri => true;
beautifulguri => false;

Variables

Declare

Non-name Variables

The index is determined by the length of between and . In addition, the data type immediately after the declaration is substituted into the variable. If there's nothing, it's 0.

시인 => Declare a variable with index 0
시이인;;; => Declare a variable with index 1 and value +3.
시이이인uglyguri => Declare a variable with index 2 and value true

named Variables

Variables can be declared in the form of variable name := value.

우진 := "woojin"

Import

Non-name Variables

Count the number of to get the variable whose index is the number of . However, if there is no corresponding variable, the error will be returned.

우 => Get a variable with an index of 1
우우우우우우우우우 => Since variables with these indexes have not been declared, SyntaxError occurs.

As you noticed, it is programmed so that variables with index of 0 cannot be imported.

named Variables

You can just write the variable name you declared. If you try to get a variable that doesn't exist, an error occurs.

우진 => "woojin"
node_woojin => Since this variable has not been declared, SyantaxError occurred.

Console

Print

You can put a variable or data type between and ! and display it on the console.

진우우! => The console displays a variable with the value is true declared earlier.
진우진! => The console displays a variable with the value is "woojin" declared earlier.

You can't print out array type.

Conditional statements

You can execute conditional statements in the form of 만약(conditional)이라면(the grammar to be executed if the condition is true). Also, you can substitute numbers or boolean data types for conditions. Please refer to the next example.

만약uglyguri이라면진:::! => uglyguri is a true So, +3 is output to the console.

eval

Do not use the footnote of JavaScript, '//', in node-woojin, The string following a // is treated as eval.

// throw new Error("wow You Can Really Dance.")

The above grammar is treated as follows with JavaScript eval.

throw new Error("wow You Can Really Dance.");

If you don't understand, try it.