@dac-software/base-ui

2.0.10 • Public • Published

Qarson BASE UI

Main purpose of this library is to aggregate main UI parts of qarson multipage system. Library contains css styles written in SASS preprocessor and few smaller javascript functions of user interface basing on simple selecting DOM element mostly with jquery and manipulate DOM tree. Library use customized bootstrap.

Requirements

  • nodejs with npm v10 +

Installation:

Installing depedencies

npm install

Build production library files

npm run build

Development:

Library is third party lib for main project.

To work with code in configured development process you need to do few steps:

  1. Link current library (be aware of used the same node version in all)

    npm link
    
  2. Run build process in development mode with watching changes

    npm run build:dev
    
  3. Move to "including" lib directory and link local resources

    npm link @dac-software/base-ui
    

Then, run webpack-dev-server instance in order to instructions in "including" project.

* Build task build two types of library entrypoints:

  • "web" - destined to web include, currently not useful - but left to keep publishing consistency
  • "ecma script module" - destined for further bundler processing, it is resolved through simply copyfiles statement
    copyfiles "./lib/**/*.!(tsx|ts|d.ts|html)" "dist/esm" -u 1

To run deploy on preview host :

npm run shipit preview deploy

Preview will be available at http://base-ui-preview.rc7.e-d-p.net/

####Codestyle

We are in consonance with standardjs.

Validation codestyle:

npm run codestyle-check

Automatic fix:

npm run codestyle-fix

Development guides

  1. In Bootstrap: we modify only variables from bootstrap _variables.scss file
  2. In variables/variables.scss file in styles directory we define variables used in our styles, classes and for overwrite bootstrap default variables (name convention $brand-XXXX) Bootstrap variables are overwriting in styles/vendor/bootstrap/variables/X file, using variables from main variables/variables.scss file
  3. Bootstrap extensions:
    • defined in /app directory
    • oocss convention for properties defined by bootstrap e.g.:
      • missing background: .brand-bg-blue { background-color: #0000FF; }
      • missing margin: .brand-margin-big { margin: 100px; }
  4. Defining components in BEM - when:
    • We need to defined CSS properties which aren't defined in bootstrap classes
    • We are using our custom variables
  5. Icons in svg are in lib/assets/icons. You can use icons with 'ico-' prefix.
  6. To use icons, first generate icons with
    npm run generate-icons
    icons are generating automatically when you run app

Development test deploy

For manual tests purposes library should be published on npm with dev tag with task/story identifier

NPM publishing

NPM publishing manually:

  1. Increase version in package.json
  2. Npm login with proper username and password
    npm login
  3. Npm publish (command will trigger prepare npm method which should build files to dist directory)
    npm publish --access=public

NPM publishing through bitbucket pipelines:

  1. dev tag publish using pipeline named: custom: dev-npm-publish

    This pipeline automatically defines branch related tag name, for example : 1.0.0-some-branch-name.0

  2. production tag publish using pipeline named: custom: prod-npm-publish

    This pipeline requires what kind of semver tag should be defined for publish. You need to fill additional field in pipeline form and type one of version type : - patch - minor - major

Readme

Keywords

none

Package Sidebar

Install

npm i @dac-software/base-ui

Weekly Downloads

7

Version

2.0.10

License

UNLICENSED

Unpacked Size

32.5 MB

Total Files

356

Last publish

Collaborators

  • dac-software