๐Ÿš€ Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more โ†’
Socket
Book a DemoInstallSign in
Socket

hash-trigger

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hash-trigger

The URL Hash Trigger library

0.2.0
latest
Source
npm
Version published
Weekly downloads
10
900%
Maintainers
1
Weekly downloads
ย 
Created
Source

hash-trigger

npm node types downloads license

The URL Hash Trigger library

This project has been created by Vessel CLI. For a simple and quick reference about it, click here.

About

window.location.hash ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์‹ฌํ”Œ ํŒจํ‚ค์ง€.

Installation

ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉ ํ•  ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์˜์กด์„ฑ ๋ชจ๋“ˆ๋กœ ์„ค์น˜ํ•œ๋‹ค.

$ npm install --save hash-trigger
or
$ yarn add hash-trigger

Modules in the package

๋ณธ ํŒจํ‚ค์ง€์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๋ชจ๋“ˆ๋“ค์„ ํฌํ•จํ•œ๋‹ค.
์ œ๊ณต๋˜๋Š” ๋ชจ๋“ˆ๊ณผ ๋ฉ”์†Œ๋“œ ์‚ฌ์šฉ๋ฒ• ๋“ฑ์€ ์ฝ”๋“œ ์Šค๋‹ˆํ•์„ ์ฐธ๊ณ ํ•œ๋‹ค.

HashTrigger module

HashTrigger ๋ชจ๋“ˆ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฉ”์†Œ๋“œ๋“ค์„ ์ œ๊ณตํ•œ๋‹ค.

HashTrigger.hashTrigger

์ดˆ๊ธฐํ™” ์‹คํ–‰ ๋ฉ”์†Œ๋“œ.

HashTrigger.hashTrigger(option: HashUrlOption);

์˜ต์…˜์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

type HashUrlOption = {
  test?: RegExp; // hash URL ๋‚ด์—์„œ ํ•„์š”ํ•œ ๊ฐ’๋งŒ ์ถ”์ถœ๋ฐ›์„๋•Œ ์‚ฌ์šฉ
  once? (matched: Matched): void; // hashTrigger ๋ฉ”์†Œ๋“œ ์‹คํ–‰ ์ฆ‰์‹œ ์ฝœ๋ฐฑ
  onLoaded? (matched: Matched): void; // window.onload ์‹œ ์ฝœ๋ฐฑ
  onChanged (matched: Matched, event: HashChangeEvent): void; // hash URL ๋ณ€๊ฒฝ์‹œ๋งˆ๋‹ค ์ฝœ๋ฐฑ
};

์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

import { hashTrigger, Matched } from 'hash-trigger';

// ...
window.location.href = '/sample#test1234';

hashTrigger({
  test: /test(\d+)/,
  once: (matched: Matched) => {
    console.log('Results for immediate:', matched[0]); // 1234
  },
  onLoaded: (matched: Matched) => {
    console.log('Results for window.onload:', matched[0]); // 1234
  },
  onChanged: (matched: Matched) => {
    console.log('Changed window.location.hash:', matched[0]); // 5678
  },
});

// ...
window.location.href = '/sample#test5678';

Installation for development

ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๊ฐœ๋ฐœํ™˜๊ฒฝ๊ณผ ๋นŒ๋“œ/๋ฐฐํฌ ์ง„ํ–‰ ๋“ฑ์„ ์œ„ํ•œ ์„ค์ •์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด ์ „์—ญ CLI ๋ชจ๋“ˆ์„ ์„ค์น˜ํ•œ๋‹ค.

$ npm install -g @mornya/vessel @lintest/cli sonarqube-scanner
or
$ yarn global add @mornya/vessel @lintest/cli sonarqube-scanner

Available scripts

package.json์— ์ •์˜๋œ script ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

clean

๋นŒ๋“œ ๋””๋ ‰ํ† ๋ฆฌ ์‚ญ์ œ.

$ npm run clean

build

์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ํ†ตํ•ด ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋นŒ๋“œ ํ›„ ๋‚œ๋…ํ™” ํ•˜์—ฌ dist ๋””๋ ‰ํ† ๋ฆฌ์— ์ถœ๋ ฅํ•œ๋‹ค.

$ npm run build
$ npm run build --esm # ESM ๋นŒ๋“œ ํฌํ•จ

watch

์ปดํŒŒ์ผ๋Ÿฌ์˜ watch ๋ชจ๋“œ๋กœ ์†Œ์Šค์ฝ”๋“œ ๋ณ€๊ฒฝ์„ ๊ฐ์‹œํ•˜์—ฌ ์ปดํŒŒ์ผ ํ•œ๋‹ค.

$ npm run watch

check

ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ๊ฒ€์ฆ์„ ์œ„ํ•ด ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. lint-stage ๋“ฑ์—์„œ ํ•„์š”์‹œ ์‚ฌ์šฉํ•œ๋‹ค.

$ npm run check

lint

Lintest CLI๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์ฝ”๋“œ ๋ฆฐํŠธ ์‹คํ–‰.

$ npm run lint

lint:fix

Lintest CLI๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์ฝ”๋“œ ๋ฆฐํŠธ ์‹คํ–‰ ๋ฐ ์ž๋™ ๊ต์ •ํ•œ๋‹ค.

$ npm run lint:fix

test

Lintest CLI๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

$ npm run test

test:watch

Lintest CLI๋ฅผ ์‹คํ–‰ํ•˜์—ฌ watch mode๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

$ npm run test:watch

test:coverage

Lintest CLI๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ /coverage ๋””๋ ‰ํ† ๋ฆฌ์— ์ถœ๋ ฅํ•œ๋‹ค.

$ npm run test:coverage

login

NPM ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋กœ์˜ ํผ๋ธ”๋ฆฌ์‹œ๋ฅผ ์œ„ํ•œ ๋กœ๊ทธ์ธ ์ฒ˜๋ฆฌ.
npm login์— scope๋ฅผ ์„ ์–ธํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹๊ณผ ๊ฐ™๋‹ค.
๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๊ฒฝ๋กœ๋Š” package.json์˜ publishConfig ํ•ญ๋ชฉ ๊ฐ’์ด ์ฐธ์กฐ ๋œ๋‹ค.

$ npm run login (not "npm login")

publish

ํผ๋ธ”๋ฆฌ์‹œ ์ˆ˜ํ–‰ ์ „ ๋กœ๊ทธ์ธ / ๋นŒ๋“œ / ๋ฒ„์ „์ฒดํฌ ๋“ฑ์„ ๋จผ์ € ์‹คํ–‰ ํ›„ ์ •์ƒ์™„๋ฃŒ์‹œ ํผ๋ธ”๋ฆฌ์‹œ๊ฐ€ ์ˆ˜ํ–‰ ๋œ๋‹ค.

$ npm publish

sonar

์†Œ๋‚˜ํ๋ธŒ๋ฅผ ์ด์šฉํ•œ ์ •์  ๋ถ„์„์ด ํ•„์š”ํ•˜๋ฉด sonarqube-scanner๋ฅผ ๊ธ€๋กœ๋ฒŒ ์„ค์น˜ ํ›„ ์•„๋ž˜ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด ๋œ๋‹ค. ์ง€ํ‘œ ํ™•์ธ์€ sonar-project.properties ํŒŒ์ผ ๋‚ด ์ •์˜ ๋œ URL ๋ฐ projectKey๋ฅผ ์ฐธ์กฐํ•œ๋‹ค.

$ npm run sonar

Change Log

ํ”„๋กœ์ ํŠธ ๋ณ€๊ฒฝ์‚ฌํ•ญ์€ CHANGELOG.md ํŒŒ์ผ ์ฐธ์กฐ.

License

ํ”„๋กœ์ ํŠธ ๋ผ์ด์„ผ์Šค๋Š” LICENSE ํŒŒ์ผ ์ฐธ์กฐ.

Keywords

mornya

FAQs

Package last updated on 18 Apr 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts