@dfhernandez/js-utilities
    TypeScript icon, indicating that this package has built-in type declarations

    0.5.0 • Public • Published

    2600Hz - Commio

    JS Utilities Library

    Library that contains all sharable utilities and configuration files, written in Javascript

    Installation

    yarn add @dfhernandez/js-utilities

    Usage

    import { capitalize, humanize } from '@dfhernandez/js-utilities';
    
    // ...
    
    <Text>{capitalize(headerText)}</Text>
    <Button title={humanize(buttonName)} onPress={}.... />

    You can also import or require directly from folder

    const {
      prettierBaseConfig,
    } = require('@dfhernandez/js-utilities/lib/prettier-config');
    
    prettierBaseConfig.jsxBracketSameLine = false;
    
    module.exports = prettierBaseConfig;

    Configuration files You can extend any of the following configs:

    • eslint (.eslintrc.js)
    • prettier (..prettierrc.js)
    • release-it (.release-it.js)
    • commitlint (commitlint.config.js)
    • svgrrc (.svgrrc.js)
    • jest (jest.config.js)
    • lint-staged (lint-staged.config.js)
    • tsconfig (tsconfig.json)

    All configuration files are imported and used same way, there are just two files that need different treatment

    eslint Eslint file exports a function that receives the root folder

    const {
      eslintBaseConfig,
    } = require('@dfhernandez/js-utilities/lib/eslint-config');
    
    module.exports = eslintBaseConfig(__dirname);

    tsconfig This file must extends from any of the ts config files available

    {
      "extends": "@dfhernandez/js-utilities/tsconfig.base",
      "compilerOptions": {
        "baseUrl": "./",
        ...
      },
      "exclude": [...],
      "include": [...],
    }
      

    Development

    This project requires Node.js v14+ to run.

    Using .nvmrc file helps to normalize node version used by all maintainers. If you are required to use version specified in this file, run these commands.

    nvm use
    nvm install

    Use the package manager yarn v1+ to install dependencies and devDependencies.

    yarn install
    yarn

    Create symlink Run the following command on package root folder, so you can consume on an app locally

    yarn link

    Watch project Build package whenever there is a change

    yarn watch

    Consume the package Both projects must be placed on same folder, otherwise won't work

    yarn link @dfhernandez/js-utilities

    Build the package Automatically will build the project

    yarn build

    Utilities

    Format code using Eslint

    yarn run lint:fix

    Format code using Prettier

    yarn run format

    Format code using Prettier and Eslint

    yarn run prettify

    Check Typescript on files

    yarn run typescript

    Run full check

    yarn run full-check

    Tech

    Components library uses a number of open source projects to work properly:

    • Typescript - Strongly typed programming language which builds on JavaScript
    • NodeJs - Allows execute javascript scripts on the terminal
    • Luxon - library for dealing with dates and times in JavaScript (better alternative than Moment.js)

    Contributing

    Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

    See the contributing guide to learn how to contribute to the repository and the development workflow.

    Commits Commits must follow conventional commit format Make sure your messages look like the following examples

    feat: Adding new badge component
    fix: Touchable component not being exported correctly
    fix!: Drop support for Typescript
    

    Note that the last one will generate a Major commit. It has the same result as adding a breaking change footer

    Follow Semantic Versioning 2.0.0 to update project version.

    Release-It will take care of versioning, you just have to give the correct type to commit:

    • fix - to indicate a bug fix (PATCH) ex . v0.0.1
    • feat - to indicate a new feature (MINOR) ex. v0.1.0
    • chore - for updates that do not require a version bump (.gitignore, comments, etc.)
    • docs - for updates to the documentation
    • BREAKING CHANGE - regardless of type, indicates a Major release (MAJOR) ex. v1.0.0

    Visit Conventional Commits for more examples.

    Make a release Run following command after your last commit/amend. Then answer with Y/N the prompt

    yarn release

    License

    MIT

    Keywords

    Install

    npm i @dfhernandez/js-utilities

    DownloadsWeekly Downloads

    9

    Version

    0.5.0

    License

    MIT

    Unpacked Size

    72.8 kB

    Total Files

    76

    Last publish

    Collaborators

    • dfhernandez-org