GithubHelp home page GithubHelp logo

jedireza / reserved-subdomains Goto Github PK

View Code? Open in Web Editor NEW
46.0 4.0 10.0 439 KB

:package: A list of names that should be reserved in multitenant apps.

Home Page: https://www.npmjs.com/package/reserved-subdomains

License: MIT License

JavaScript 100.00%
multitenancy reserved subdomain saas

reserved-subdomains's Introduction

reserved-subdomains

A list of names that should be reserved in multitenant apps.

Install

$ npm install reserved-subdomains

API reference

Properties

names

An array of strings. Ex: ['www', 'ftp', 'mail', ...].

nameMap

An object where keys are names. Ex: { www: true, ftp: true, mail: true, ...}.

patterns

An array of regular expression strings. Ex: ['ww[a-z0-9-]+', 'ftp[0-9]+', 'mail[0-9]+', ...].

patternsRegex

An array of regular expression objects. Ex: [/ww[a-z0-9-]+/, /ftp[0-9]+/, /mail[0-9]+/, ...].

Methods

isNotValid(name)

Returns true if the name is not valid where:

  • name - the name to test.

isValid(name)

Returns true if the name is valid where:

  • name - the name to test.

Inspired by

https://github.com/nkkollaw/reserved-subdomains

License

MIT

reserved-subdomains's People

Contributors

chrislim avatar jedireza avatar lopezjurip avatar paulvonallwoerden avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

reserved-subdomains's Issues

Single-letter words?

I noticed most single-letters (a,b,c, etc) are in the list but it's missing some. Is that purposeful or accidental?

Could we adjust this pattern?

In https://github.com/jedireza/reserved-subdomains/blob/master/patterns.json#L20
Is there a reason why a-z is included in the pattern whereas all earlier patterns only do [0-9]?

I have a situation where someone legitimately wants to have a subdomain with ww in the beginning and while I could just fork it would be nice if the pattern:

"ww[a-z0-9-]+" could be changed to "ww[0-9]+"

In the actual main package in npm.
https://www.npmjs.com/package/reserved-subdomains

Thanks for considering!

Separate by category?

This is really handy but I was wondering what you thought about separating out the "external companies" into a different list. I'm not sure I care much if someone creates riteaid.myapp.com but I definitely don't want them creating admin.myapp.com or login.myapp.com.

Right now I'm deleting everything I can find that is external-company related from the list. Would you be interested in a pull request that separates these?

Match whole strings instead of partial strings when using patterns

I feel it would be better if patterns matched only whole strings instead of partial strings. For example^m[0-9]+$ instead of m[0-9]+. Because the following harmless names end up failing validation:

momentum1
kalashnikov1
bmx1
ghost1
humans1

This could be remedied by changing the pattern list to:

[
    "^db[0-9]+$",
    "^dc[0-9]+$",
    "^dev[0-9]+$",
    "^dns[0-9]+$",
    "^ftp[0-9]+$",
    "^host[0-9]+$",
    "^m[0-9]+$",
    "^mail[0-9]+$",
    "^mx[0-9]+$",
    "^ns[0-9]+$",
    "^server-[0-9]+$",
    "^server[0-9]+$",
    "^smtp[0-9]+$",
    "^static[0-9]+$",
    "^test[0-9]+$",
    "^v[0-9]+$",
    "^vpn[0-9]+$",
    "^web[0-9]+$",
    "^ww[0-9]+$"
]

Should I send a PR?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.