#Text search
This is simple reactjs app with searching input basing on defined algolia index. It can be applied to qarson pl and fr. Library uses react, typescript, algolia with react-instantsearch, css written in SASS preprocessor.
Developing bundler is webpack.
Build production build made as simple tsc compilation with asset files copies provided
##Requirements - nodejs v10 + - npm v6.9.0 +
##Installation: Installing dependencies
For properly installing depedencies you need to prepare whole repository from its ROOT directory, calling lerna commands
For preparing needed devDepedencies on top level
npm install
Installing dependencies in each package
lerna bootstrap
Build task build two types of library entrypoints :
- "web" - destined to web include (for example by script tag) with all depedencies built in (like react, redux and other third party libraries)
- "ecma script module" - destined for further bundler processing, it is resolved through simply typescript compiling in package.json statement
tsc -p tsconfig-prod.json && copyfiles "./lib/*/.!(tsx|ts|d.ts|html)" "dist/esm" -u 1
##Development
Be sure, that all "file" linked depedencie, has their dist directories, if not
lerna bootstrap
lerna run build
Running dev server in standalone mode
lerna run start --stream --scope @dac-software/text-search
Running dev mode through bundler in other project. Project should be linked by npm.
lerna run build:dev --scope @dac-software/text-search
build dev emmits files into dist/esm/phone-number without CSS / files extraction, it is determined by webpack condition on compilation mode
Running tests, allowed only from root directory
npm run test
####Codestyle
We are in consonance with standardjs.
Validation codestyle:
lerna run codestyle-check-typescript
Automatic fix:
lerna exec npm run codestyle-typescript-fix
##Compilation summary
npm start - (standalone dev) |
npm run build:dev (imported as esm in higher bundler) |
npm run build (production build) |
|
---|---|---|---|
key dist files | none | dist/esm/text-search.js | dist/esm/text-search.js, dist/text-search.js, dist/text-search.css |
css extraction | no | css in js | esm: css in js, web: extracted |
files extraction | no | yes | no (copied) |