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

sming-list-generator

v1.0.1

Published

1시간 분량에 가까운 스밍 리스트를 입력된 설정 파일에 기반하여 생성하는 라이브러리입니다.

Downloads

1

Readme

sming-list-generator

1시간 분량에 가까운 스밍 리스트를 입력된 설정 파일에 기반하여 생성하는 라이브러리입니다.

Install

yarn add sming-list-generator

Test

yarn test

Usage

const slg = require('sming-list-generator');

const options = {
  // 스밍 목록이 입력되어 있는 json 파일 위치.
  configFile: './sming-list.json',

  // 또는 configData에 직접 값을 전달.
  configData: { ... },

  // 스밍 리스트에 삽입할 방법을 선택.
  // true: 타이틀곡 1 + 수록곡 2 방식으로 삽입
  // false: 타이틀곡 1 + 수록곡 1 방식으로 삽입
  insertType: false,
};

slg()
  .then(data => { ... })
  .catch(e => { ... });

Config

아래 트랙 리스트는 아직 앨범 발매 전이기 때문에 공개된 트랙 리스트를 기준으로 임의로 길이값을 입력함.

{
  "title": {
    "name": "Roller Coaster",
    "length": "3:24"
  },
  "tracks": [
    {
      "name": "Offset",
      "length": "1:02"
    },
    {
      "name": "Do It",
      "length": "2m58s"
    },
    {
      "name": "Bad Boy",
      "length": "3:15"
    },
    {
      "name": "너의 온도 (Remind of you)",
      "length": "4:03"
    }
  ]
}
  1. titletracks항목으로 구분하며 각각 타이틀곡 정보와 수록곡 정보를 담는 항목. tracks는 여러 항목을 담는 Array 타입으로 입력해야 함.
  2. titletracks의 아이템은 namelength 항목를 가져야 함. 각각 곡명과 재생 시간을 받는 항목.
  3. length 항목에는 number 또는 string 타입으로 입력되어야 함. number 타입일 경우 시간을 초 단위로 환산하여 입력해야 하고 string 타입인 경우 2m09s 또는 2:09 형식으로 입력하면 초 단위로 파싱함.

Result

{ totalLength: 3524,
  playList:
   [ { name: 'Roller Coaster', length: 204 },
     { name: 'Offset', length: 62 },
     { name: 'Do It', length: 178 },
     { name: 'Roller Coaster', length: 204 },
     { name: 'Bad Boy', length: 195 },
     { name: '너의 온도 (Remind of you)', length: 243 },
     { name: 'Roller Coaster', length: 204 },
     { name: 'Offset', length: 62 },
     { name: 'Do It', length: 178 },
     { name: 'Roller Coaster', length: 204 },
     { name: 'Bad Boy', length: 195 },
     { name: '너의 온도 (Remind of you)', length: 243 },
     { name: 'Roller Coaster', length: 204 },
     { name: 'Offset', length: 62 },
     { name: 'Do It', length: 178 },
     { name: 'Roller Coaster', length: 204 },
     { name: 'Bad Boy', length: 195 },
     { name: '너의 온도 (Remind of you)', length: 243 },
     { name: 'Roller Coaster', length: 204 },
     { name: 'Offset', length: 62 } ] }