diff --git a/.angular-cli.json.bak b/.angular-cli.json.bak deleted file mode 100644 index 640dfbbff0..0000000000 --- a/.angular-cli.json.bak +++ /dev/null @@ -1,94 +0,0 @@ -{ - "$schema": "./node_modules/@angular/cli/lib/config/schema.json", - "project": { - "name": "ngx-bootstrap" - }, - "apps": [ - { - "root": "demo/src", - "outDir": "demo/dist/browser", - "assets": [ - "assets", - "favicon.ico" - ], - "index": "index.html", - "main": "main.ts", - "polyfills": "polyfills.ts", - "test": "../../scripts/test.ts", - "tsconfig": "tsconfig.json", - "testTsconfig": "../../src/tsconfig.spec.json", - "prefix": "", - "mobile": false, - "serviceWorker": false, - "styles": [ - "../../src/datepicker/bs-datepicker.scss", - "assets/css/style.scss", - "assets/css/prettify-angulario.css" - ], - "scripts": [], - "environmentSource": "environments/environment.ts", - "environments": { - "dev": "environments/environment.ts", - "prod": "environments/environment.prod.ts", - "server": "environments/environment.server.ts" - } - }, - { - "platform" : "server", - "root": "demo/src", - "outDir": "demo/dist/server", - "assets": [ - "assets", - "favicon.ico" - ], - "index": "index.html", - "main": "main.server.ts", - "test": "../../scripts/test.ts", - "tsconfig": "tsconfig.server.json", - "testTsconfig": "../../src/tsconfig.spec.json", - "prefix": "", - "mobile": false, - "serviceWorker": false, - "styles": [ - "../../src/datepicker/bs-datepicker.scss", - "assets/css/style.scss", - "assets/css/prettify-angulario.css" - ], - "scripts": [], - "environmentSource": "environments/environment.ts", - "environments": { - "dev": "environments/environment.ts", - "prod": "environments/environment.prod.ts", - "server": "environments/environment.server.ts" - } - } - ], - "addons": [], - "packages": [], - "lint": [ - { - "project": "../tslint.json" - } - ], - "test": { - "karma": { - "config": "karma-demo.conf.js" - } - }, - "defaults": { - "styleExt": "scss", - "prefixInterfaces": false, - "inline": { - "style": false, - "template": false - }, - "spec": { - "class": false, - "component": true, - "directive": true, - "module": false, - "pipe": true, - "service": true - } - } -} diff --git a/.editorconfig b/.editorconfig index 2a1417f5a3..6e87a003da 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,11 +1,13 @@ -# https://editorconfig.org - +# Editor configuration, see http://editorconfig.org root = true [*] charset = utf-8 indent_style = space indent_size = 2 -end_of_line = lf insert_final_newline = true trim_trailing_whitespace = true + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000000..1a12b9e06e --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,33 @@ +{ + "root": true, + "ignorePatterns": ["**/*"], + "plugins": ["@nrwl/nx"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "rules": { + "@nrwl/nx/enforce-module-boundaries": [ + "error", + { + "enforceBuildableLibDependency": true, + "allow": [], + "depConstraints": [ + { "sourceTag": "*", "onlyDependOnLibsWithTags": ["*"] } + ] + } + ] + } + }, + { + "files": ["*.ts", "*.tsx"], + "extends": ["plugin:@nrwl/nx/typescript"], + "parserOptions": { "project": "./tsconfig.*?.json" }, + "rules": {} + }, + { + "files": ["*.js", "*.jsx"], + "extends": ["plugin:@nrwl/nx/javascript"], + "rules": {} + } + ] +} diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml new file mode 100644 index 0000000000..8025bea93b --- /dev/null +++ b/.github/workflows/on-pull-request.yml @@ -0,0 +1,178 @@ +name: on-pull-request +on: pull_request + +env: + NX_BRANCH: ${{ github.event.number }} + NX_RUN_GROUP: ${{ github.run_id }} + NX_CLOUD_AUTH_TOKEN: ${{ secrets.NX_CLOUD_AUTH_TOKEN }} + MOZ_HEALESS: 1 + SAUCE_USERNAME_PR: valorkinpr + SAUCE_ACCESS_KEY_PR: e0a97bd3-4b74-4408-89bf-cce1b44a8bf1 + CYPRESS_CACHE_FOLDER: 'node_modules/.cypress' + CYPRESS_RECORD_KEY: 4aa7a1c0-3a4f-444e-b324-6fc305a543a8 + +jobs: + build_and_cache: + runs-on: ubuntu-latest + steps: + # checkout + - uses: actions/checkout@v2.3.4 + # start: npm ci && build + - uses: actions/cache@v2.1.4 + id: cache-build + with: + path: | + ~/.npm + node_modules + dist + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + - run: npm ci + if: steps.cache-build.outputs.cache-hit != 'true' + + # end: npm ci && build + - run: | + npx ng build --runner cloud --prod --with-deps + npx nx run ngx-bootstrap:build-sass --runner cloud + + unit_tests_with_coverage: + runs-on: ubuntu-latest + needs: build_and_cache + steps: + - uses: actions/checkout@v2.3.4 + + # start: npm ci && build + - uses: actions/cache@v2.1.4 + id: cache-build + with: + path: | + ~/.npm + node_modules + dist + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + - name: npm ci && npm run build --prod + if: steps.cache-build.outputs.cache-hit != 'true' + run: | + npm ci + npx ng build --runner cloud --prod --with-deps + npx nx run ngx-bootstrap:build-sass --runner cloud + # end: npm ci && build + + - run: npm test -- --runner cloud --codeCoverage + continue-on-error: true + - run: npx codecov ./coverage/ + continue-on-error: true + + linting: + runs-on: ubuntu-latest + needs: build_and_cache + steps: + - uses: actions/checkout@v2.3.4 + + # start: npm ci && build + - uses: actions/cache@v2.1.4 + id: cache-build + with: + path: | + ~/.npm + node_modules + dist + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + - name: npm ci && npm run build --prod + if: steps.cache-build.outputs.cache-hit != 'true' + run: | + npm ci + npx ng build --runner cloud --prod --with-deps + npx nx run ngx-bootstrap:build-sass --runner cloud + # end: npm ci && build + - run: npm run lint -- --runner cloud + continue-on-error: true + + firebase_preview: + runs-on: ubuntu-latest + needs: build_and_cache + outputs: + output_url: ${{ steps.firebase_hosting_preview.outputs.details_url }} + steps: + - uses: actions/checkout@v2.3.4 + + # start: npm ci && build + - uses: actions/cache@v2.1.4 + id: cache-build + with: + path: | + ~/.npm + node_modules + dist + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + - name: npm ci && npm run build --prod + if: steps.cache-build.outputs.cache-hit != 'true' + run: | + npm ci + npx ng build --runner cloud --prod --with-deps + npx nx run ngx-bootstrap:build-sass --runner cloud + # end: npm ci && build + +# - run: npm run scully + - uses: FirebaseExtended/action-hosting-deploy@v0 + continue-on-error: true + id: firebase_hosting_preview + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_NGX_BOOTSTRAP_DEMO }}' + projectId: ngx-bootstrap-demo + expires: 30d + env: + FIREBASE_CLI_PREVIEWS: hostingchannels + + e2e_smoke: + name: Cypress run + runs-on: ubuntu-latest + needs: [build_and_cache, firebase_preview] + + strategy: + # when one test fails, DO NOT cancel the other + # containers, because this will kill Cypress processes + # leaving the Dashboard hanging ... + # https://github.com/cypress-io/github-action/issues/48 + fail-fast: false + matrix: + # run 3 copies of the current job in parallel + containers: [1, 2, 3, 4, 5] + steps: + - uses: actions/checkout@v2.3.4 + + # start: npm ci && build + - uses: actions/cache@v2.1.4 + id: cache-build + with: + path: | + ~/.npm + node_modules + dist + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + - name: npm ci && npm run build --prod + if: steps.cache-build.outputs.cache-hit != 'true' + run: | + npm ci + npx ng build --runner cloud --prod --with-deps + npx nx run ngx-bootstrap:build-sass --runner cloud + # end: npm ci && build + + # because of "record" and "parallel" parameters + # these containers will load balance all found tests among themselves + - name: smoke e2e on firebase + if: ${{ needs.firebase_preview.outputs.output_url }} + continue-on-error: true + run: npx nx run ci-docs-e2e:e2e --runner cloud --record --group smoke --baseUrl=${{ needs.firebase_preview.outputs.output_url }}/ngx-bootstrap/ -- --parallel + + - name: smoke e2e local + if: ${{ !needs.firebase_preview.outputs.output_url }} + continue-on-error: true + run: npx nx run ngx-bootstrap-docs-e2e:e2e --prod --runner cloud --record --group smoke -- --parallel + + diff --git a/.github/workflows/on-push-to-dev.yml b/.github/workflows/on-push-to-dev.yml new file mode 100644 index 0000000000..ba9b653155 --- /dev/null +++ b/.github/workflows/on-push-to-dev.yml @@ -0,0 +1,170 @@ +# todo: heroku deploy to ssr preview and test -> delete env +name: on-push-to-dev + +on: + push: + branches: + - development + +env: + NX_BRANCH: ${{ github.event.number }} + NX_RUN_GROUP: ${{ github.run_id }} + NX_CLOUD_AUTH_TOKEN: ${{ secrets.NX_CLOUD_AUTH_TOKEN }} + MOZ_HEALESS: 1 + SAUCE_USERNAME_PR: valorkinpr + SAUCE_ACCESS_KEY_PR: e0a97bd3-4b74-4408-89bf-cce1b44a8bf1 + CYPRESS_CACHE_FOLDER: 'node_modules/.cypress' + CYPRESS_RECORD_KEY: 4aa7a1c0-3a4f-444e-b324-6fc305a543a8 + +jobs: + build_and_cache: + runs-on: ubuntu-latest + steps: + # checkout + # checkout + - uses: actions/checkout@v2.3.4 + # start: npm ci && build + - uses: actions/cache@v2.1.4 + id: cache-build + with: + path: | + ~/.npm + node_modules + dist + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + - run: npm ci + if: steps.cache-build.outputs.cache-hit != 'true' + + # end: npm ci && build + - run: | + npx ng build --runner cloud --prod --with-deps + npx nx run ngx-bootstrap:build-sass --runner cloud + + unit_tests_with_coverage: + runs-on: ubuntu-latest + needs: build_and_cache + steps: + - uses: actions/checkout@v2.3.4 + + # start: npm ci && build + - uses: actions/cache@v2.1.4 + id: cache-build + with: + path: | + ~/.npm + node_modules + dist + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + - name: npm ci && npm run build --prod + if: steps.cache-build.outputs.cache-hit != 'true' + run: | + npm ci + npx ng build --runner cloud --prod --with-deps + npx nx run ngx-bootstrap:build-sass --runner cloud + # end: npm ci && build + + - run: npm test -- --runner cloud --codeCoverage + continue-on-error: true + - run: npx codecov ./coverage/ + continue-on-error: true + + linting: + runs-on: ubuntu-latest + needs: build_and_cache + steps: + - uses: actions/checkout@v2.3.4 + + # start: npm ci && build + - uses: actions/cache@v2.1.4 + id: cache-build + with: + path: | + ~/.npm + node_modules + dist + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + - name: npm ci && npm run build --prod + if: steps.cache-build.outputs.cache-hit != 'true' + run: | + npm ci + npx ng build --runner cloud --prod --with-deps + npx nx run ngx-bootstrap:build-sass --runner cloud + # end: npm ci && build + - run: npm run lint -- --runner cloud + continue-on-error: true + + firebase_preview: + runs-on: ubuntu-latest + needs: build_and_cache + outputs: + output_url: ${{ steps.firebase_hosting_preview.outputs.details_url }} + steps: + - uses: actions/checkout@v2.3.4 + + # start: npm ci && build + - uses: actions/cache@v2.1.4 + id: cache-build + with: + path: | + ~/.npm + node_modules + dist + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + - name: npm ci && npm run build --prod + if: steps.cache-build.outputs.cache-hit != 'true' + run: | + npm ci + npx ng build --runner cloud --prod --with-deps + npx nx run ngx-bootstrap:build-sass --runner cloud + # end: npm ci && build + + - uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_NGX_BOOTSTRAP_DEMO }}' + channelId: live + projectId: ngx-bootstrap-demo + + e2e_full: + name: Cypress run + runs-on: ubuntu-latest + needs: [build_and_cache, firebase_preview] + strategy: + # when one test fails, DO NOT cancel the other + # containers, because this will kill Cypress processes + # leaving the Dashboard hanging ... + # https://github.com/cypress-io/github-action/issues/48 + fail-fast: false + matrix: + # run 3 copies of the current job in parallel + containers: [1, 2, 3, 4, 5] + steps: + - uses: actions/checkout@v2.3.4 + + # start: npm ci && build + - uses: actions/cache@v2.1.4 + id: cache-build + with: + path: | + ~/.npm + node_modules + dist + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + - name: npm ci && npm run build --prod + if: steps.cache-build.outputs.cache-hit != 'true' + run: | + npm ci + npx ng build --prod --with-deps + npx nx run ngx-bootstrap:build-sass + # end: npm ci && build + + - name: full e2e + continue-on-error: true + run: npx nx run ci-docs-e2e:e2e --runner cloud --cypressConfig ./apps/ngx-bootstrap-docs-e2e/cypress-full.json --record --group full --baseUrl=${{ needs.firebase_preview.outputs.output_url }}/ngx-bootstrap/ -- --parallel + # because of "record" and "parallel" parameters + # these containers will load balance all found tests among themselves diff --git a/.github/workflows/on-release.yml b/.github/workflows/on-release.yml new file mode 100644 index 0000000000..3b0f7d5b1e --- /dev/null +++ b/.github/workflows/on-release.yml @@ -0,0 +1,160 @@ + + +name: on-release +on: release + +env: + NX_BRANCH: ${{ github.event.number }} + NX_RUN_GROUP: ${{ github.run_id }} + MOZ_HEADLESS: 1 + # SAUCE_USERNAME_PR: valorkinpr + # SAUCE_ACCESS_KEY_PR: e0a97bd3-4b74-4408-89bf-cce1b44a8bf1 + CYPRESS_RECORD_KEY: 4aa7a1c0-3a4f-444e-b324-6fc305a543a8 + GH_PAGES_URI: https://valorkin.github.io + +jobs: + build_and_cache: + runs-on: ubuntu-latest + steps: + # checkout + - uses: actions/checkout@v2.3.4 + # start: npm ci && build + - uses: actions/cache@v2.1.4 + id: cache-build + with: + path: | + ~/.npm + ~/.cache/Cypress + node_modules + dist + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + - name: npm ci + if: steps.cache-build.outputs.cache-hit != 'true' + run: | + npm ci + # end: npm ci && build + - run: | + npx ng build --runner cloud --prod --with-deps + npx nx run ngx-bootstrap:build-sass --runner cloud + + gh_pages_deploy: + runs-on: ubuntu-latest + needs: build_and_cache + outputs: + output_url: ${{ steps.firebase_hosting_preview.outputs.details_url }} + steps: + - uses: actions/checkout@v2.3.4 + - uses: actions/checkout@v2.3.4 + with: + ref: 'gh-pages' + path: 'gh-pages' + + # start: npm ci && build + - uses: actions/cache@v2.1.4 + id: cache-build + with: + path: | + ~/.npm + ~/.cache/Cypress + node_modules + dist + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + - name: npm ci && npm run build --prod + if: steps.cache-build.outputs.cache-hit != 'true' + run: | + npm ci + npx ng build --runner cloud --prod --with-deps + npx nx run ngx-bootstrap:build-sass --runner cloud + # end: npm ci && build + + - run: npm run scully + - run: npx ts-node ./scripts/gh-pages-predeploy.ts + - run: | + cd gh-pages + git config user.email "valorkin@gmail.com" + git config user.name "ngx bootstrap ci" + git add -A + git commit -am "ci: gh-pages update" + continue-on-error: true + - name: push to gh-pages + uses: ad-m/github-push-action@v0.6.0 + continue-on-error: true + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + branch: 'gh-pages' + directory: 'gh-pages' + + test_and_lint: + runs-on: ubuntu-latest + needs: build_and_cache + steps: + - uses: actions/checkout@v2.3.4 + + # start: npm ci && build + - uses: actions/cache@v2.1.4 + id: cache-build + with: + path: | + ~/.npm + ~/.cache/Cypress + node_modules + dist + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + - name: npm ci && npm run build --prod + if: steps.cache-build.outputs.cache-hit != 'true' + run: | + npm ci + npx ng build --runner cloud --prod --with-deps + npx nx run ngx-bootstrap:build-sass --runner cloud + # end: npm ci && build + + - run: npm run lint -- --runner cloud + continue-on-error: true + - run: npm test -- --runner cloud + continue-on-error: true + + e2e_full: + name: Cypress run + runs-on: ubuntu-latest + needs: [ build_and_cache, gh_pages_deploy ] + + strategy: + # when one test fails, DO NOT cancel the other + # containers, because this will kill Cypress processes + # leaving the Dashboard hanging ... + # https://github.com/cypress-io/github-action/issues/48 + fail-fast: false + matrix: + # run 3 copies of the current job in parallel + containers: [ 1, 2, 3, 4, 5 ] + steps: + - uses: actions/checkout@v2.3.4 + + # start: npm ci && build + - uses: actions/cache@v2.1.4 + id: cache-build + with: + path: | + ~/.npm + ~/.cache/Cypresss + node_modules + dist + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + - name: npm ci && npm run build --prod + if: steps.cache-build.outputs.cache-hit != 'true' + run: | + npm ci + npx ng build --runner cloud --prod --with-deps + npx nx run ngx-bootstrap:build-sass --runner cloud + # end: npm ci && build + + - name: full e2e + continue-on-error: true + run: npx nx run ngx-bootstrap-docs-e2e:e2e --runner cloud --cypressConfig ./apps/ngx-bootstrap-docs-e2e/cypress-full.json --record --group full --baseUrl=${{ GH_PAGES_URI }}/ngx-bootstrap/ -- --parallel + # because of "record" and "parallel" parameters + # these containers will load balance all found tests among themselves + diff --git a/.gitignore b/.gitignore index f56cf19add..314807e5de 100644 --- a/.gitignore +++ b/.gitignore @@ -1,48 +1,47 @@ -# Dependency directory -# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/tmp +/out-tsc +/coverage + +# dependencies /node_modules -/bower_components -yarn.lock # IDEs and editors /.idea -/.vscode .project .classpath +.c9/ *.launch .settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json # misc /.sass-cache /connect.lock -/coverage/* +/coverage /libpeerconnection.log npm-debug.log +yarn-error.log +testem.log +/typings -# ignore build and dist for now -.tmp -/dist -/temp -/demo/dist -/demo/temp -/logs -/gh-pages -/cypress/videos/* -/cypress/screenshots/* - -#System Files +# System Files .DS_Store Thumbs.db - -/demo/e2e/*.js -/demo/e2e/*.map -/demo/src/ng-api-doc.ts -src/**/*.js -src/**/*.map -scripts/**/*.js -scripts/**/*.map - -schematics/src/**/*.js -schematics/src/**/*.js.map -schematics/src/**/*.d.ts +firebase-debug.log +.nx-cache +scully.log +/.scully +/.firebase +/gh-pages diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000000..d0b804da2a --- /dev/null +++ b/.prettierignore @@ -0,0 +1,4 @@ +# Add files here to ignore them from prettier formatting + +/dist +/coverage diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000000..bdeb4c8c09 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,9 @@ +{ + "recommendations": [ + "nrwl.angular-console", + "angular.ng-template", + "ms-vscode.vscode-typescript-tslint-plugin", + "esbenp.prettier-vscode", + "firsttris.vscode-jest-runner" + ] +} \ No newline at end of file diff --git a/LICENSE b/LICENSE index a1d1221248..ab4f002399 100644 --- a/LICENSE +++ b/LICENSE @@ -1,7 +1,7 @@ The MIT License (MIT) -Copyright (c) 2015-2017 Valor Software -Copyright (c) 2015-2017 Dmitriy Shekhovtsov +Copyright (c) 2015-2020 Valor Software +Copyright (c) 2015-2020 Dmitriy Shekhovtsov Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/.travis.yml b/_root/.travis.yml similarity index 95% rename from .travis.yml rename to _root/.travis.yml index 4a88e4477a..da6b581cd4 100644 --- a/.travis.yml +++ b/_root/.travis.yml @@ -22,7 +22,7 @@ env: - CYPRESS_RECORD_KEY=4aa7a1c0-3a4f-444e-b324-6fc305a543a8 - NPM_AUTH_TOKEN_CI_PR=$(./scripts/ci/npm-ci-key.sh) -# test cypress smoke +# testing cypress smoke testSmokeCy: &testSmokeCy script: - ng serve --prod & @@ -81,7 +81,7 @@ jobs: # chrome: stable # apt: # sources: - # - ubuntu-toolchain-r-test + # - ubuntu-toolchain-r-testing # # required by node-gyp to build some packages # packages: # - g++-4.8 @@ -104,14 +104,14 @@ jobs: script: npm run lint-src name: "Lint" install: true - # test - - script: npm run test-coverage + # testing + - script: npm run testing-coverage name: "Test with current Angular version" after_success: ./node_modules/.bin/codecov - - script: ng test && tsc -p schematics/tsconfig.json && npm run test:schematics + - script: ng testing && tsc -p schematics/tsconfig.json && npm run testing:schematics name: "Test with latest Angular version" env: NGV=latest - - script: ng test && tsc -p schematics/tsconfig.json && npm run test:schematics + - script: ng testing && tsc -p schematics/tsconfig.json && npm run testing:schematics name: "Test with next Angular version" env: NGV=next - script: @@ -128,7 +128,7 @@ jobs: - script: npm run demo.ng-build name: "Check prod build with next Angular version" env: NGV=next - - script: npm run test-cross + - script: npm run testing-cross name: sauce-tests env: SAUCE=true addons: @@ -212,7 +212,7 @@ jobs: on: tags: true - # test cypress full for herokuapp + # testing cypress full for herokuapp - stage: "post deploy testing" # name: "Run cypress to check SSR" # env: URL=https://ngx-universal.herokuapp.com/# @@ -234,7 +234,7 @@ jobs: - GROUP_NAME=SSR - BASE_URL=https://ngx-universal.herokuapp.com/#/ <<: *testPostDeploy - # test cypress full for gh-pages + # testing cypress full for gh-pages - script: name: "Cypress with @latest angular 1thread" env: diff --git a/Dockerfile b/_root/Dockerfile similarity index 95% rename from Dockerfile rename to _root/Dockerfile index b8b71f6e7d..eb644b9bd2 100644 --- a/Dockerfile +++ b/_root/Dockerfile @@ -6,7 +6,7 @@ RUN mkdir /home/ngx-bootstrap WORKDIR /home/ngx-bootstrap -COPY ./ ./ +COPY .. ./ RUN npm i diff --git a/cypress.json b/_root/_cypress.json similarity index 69% rename from cypress.json rename to _root/_cypress.json index 003a9b54f1..6e4c4e65f0 100644 --- a/cypress.json +++ b/_root/_cypress.json @@ -1,5 +1,5 @@ { - "baseUrl": "http://localhost:4200/#", + "baseUrl": "https://ngx-bootstrap-demo--pr1-nx-workspace-4ht65xrm.web.app/#", "video": false, "projectId": "5mm2dy", "responseTimeout": 60000, diff --git a/_root/angular.json b/_root/angular.json new file mode 100644 index 0000000000..d64344976d --- /dev/null +++ b/_root/angular.json @@ -0,0 +1,181 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "ngx-bootstrap": { + "root": "", + "sourceRoot": "demo/src", + "projectType": "application", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "demo/dist/browser", + "index": "demo/src/index.html", + "main": "demo/src/main.ts", + "tsConfig": "demo/src/tsconfig.json", + "aot": true, + "polyfills": "demo/src/polyfills.ts", + "assets": [ + "demo/src/assets" + ], + "styles": [ + "src/datepicker/bs-datepicker.scss", + "demo/src/assets/css/style.scss", + "demo/src/assets/css/prettify-angulario.css" + ], + "scripts": [] + }, + "configurations": { + "production": { + "preserveSymlinks": true, + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "extractCss": true, + "namedChunks": true, + "aot": true, + "extractLicenses": true, + "vendorChunk": true, + "buildOptimizer": true, + "fileReplacements": [ + { + "replace": "demo/src/environments/environment.ts", + "with": "demo/src/environments/environment.prod.ts" + } + ] + }, + "server": { + "preserveSymlinks": true, + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "extractCss": true, + "namedChunks": true, + "aot": true, + "extractLicenses": true, + "vendorChunk": false, + "buildOptimizer": true, + "fileReplacements": [ + { + "replace": "demo/src/environments/environment.ts", + "with": "demo/src/environments/environment.server.ts" + } + ] + } + } + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "options": { + "browserTarget": "ngx-bootstrap:build" + }, + "configurations": { + "production": { + "browserTarget": "ngx-bootstrap:build:production" + }, + "server": { + "browserTarget": "ngx-bootstrap:build:server" + } + } + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "ngx-bootstrap:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "scripts/test-demo.ts", + "karmaConfig": "karma-demo.conf.js", + "polyfills": "demo/src/polyfills.ts", + "tsConfig": "src/tsconfig.spec.json", + "codeCoverageExclude": ["dist/**/*"], + "sourceMap": false, + "scripts": [], + "styles": [ + "src/datepicker/bs-datepicker.scss", + "demo/src/assets/css/style.scss", + "demo/src/assets/css/prettify-angulario.css" + ], + "assets": [ + "demo/src/assets" + ] + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "../tslint.json" + ], + "exclude": [] + } + }, + "server": { + "builder": "@angular-devkit/build-angular:server", + "options": { + "outputPath": "demo/dist/server", + "main": "demo/src/main.server.ts", + "tsConfig": "demo/src/tsconfig.server.json" + } + } + } + }, + "ngx-bootstrap-source": { + "root": "", + "sourceRoot": "src", + "projectType": "library", + "architect": { + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "scripts/test-source.ts", + "karmaConfig": "karma-source.conf.js", + "polyfills": "demo/src/polyfills.ts", + "tsConfig": "src/tsconfig.spec.json", + "codeCoverageExclude": ["dist/**/*"], + "sourceMap": false, + "scripts": [], + "styles": [ + "src/datepicker/bs-datepicker.scss", + "demo/src/assets/css/style.scss", + "demo/src/assets/css/prettify-angulario.css" + ], + "assets": [] + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "../tslint.json" + ], + "exclude": [] + } + }, + "server": { + "builder": "@angular-devkit/build-angular:server", + "options": { + "outputPath": "demo/dist/server", + "main": "demo/src/main.server.ts", + "tsConfig": "demo/src/tsconfig.server.json" + } + } + } + } + }, + "defaultProject": "ngx-bootstrap", + "schematics": { + "@schematics/angular:component": { + "prefix": "", + "styleext": "scss" + }, + "@schematics/angular:directive": { + "prefix": "" + } + } +} diff --git a/cypress/plugins/cy-ts-preprocessor.js b/_root/cypress/plugins/cy-ts-preprocessor.js similarity index 100% rename from cypress/plugins/cy-ts-preprocessor.js rename to _root/cypress/plugins/cy-ts-preprocessor.js diff --git a/cypress/plugins/index.js b/_root/cypress/plugins/index.js similarity index 100% rename from cypress/plugins/index.js rename to _root/cypress/plugins/index.js diff --git a/cypress/snapshot/snapshot_spec.js b/_root/cypress/snapshot/snapshot_spec.js similarity index 97% rename from cypress/snapshot/snapshot_spec.js rename to _root/cypress/snapshot/snapshot_spec.js index 24c5295d78..839ab836e0 100644 --- a/cypress/snapshot/snapshot_spec.js +++ b/_root/cypress/snapshot/snapshot_spec.js @@ -4,7 +4,7 @@ import { ModalsPo } from '../support/modals.po'; import { TabsPo } from '../support/tabs.po'; import { TypeaheadPo } from '../support/typeahead.po'; -describe('Snapshot test', () => { +describe('Snapshot testing', () => { const componentsArray = [ new DatepickerPo(), new DropdownsPo(), diff --git a/cypress/support/commands.js b/_root/cypress/support/commands.js similarity index 100% rename from cypress/support/commands.js rename to _root/cypress/support/commands.js diff --git a/cypress/support/index.js b/_root/cypress/support/index.js similarity index 92% rename from cypress/support/index.js rename to _root/cypress/support/index.js index 38ec0b20b5..9f3a0024e5 100644 --- a/cypress/support/index.js +++ b/_root/cypress/support/index.js @@ -1,6 +1,6 @@ // *********************************************************** // This example support/index.js is processed and -// loaded automatically before your test files. +// loaded automatically before your testing files. // // This is a great place to put global configuration and // behavior that modifies Cypress. diff --git a/cypress/tsconfig.json b/_root/cypress/tsconfig.json similarity index 100% rename from cypress/tsconfig.json rename to _root/cypress/tsconfig.json diff --git a/demo/.gitignore b/_root/demo/.gitignore similarity index 100% rename from demo/.gitignore rename to _root/demo/.gitignore diff --git a/demo/src/app/app.server.module.ts b/_root/demo/src/app/app.server.module.ts similarity index 65% rename from demo/src/app/app.server.module.ts rename to _root/demo/src/app/app.server.module.ts index f17b89ea66..6a74868f4b 100644 --- a/demo/src/app/app.server.module.ts +++ b/_root/demo/src/app/app.server.module.ts @@ -1,6 +1,6 @@ import { NgModule } from '@angular/core'; -import { AppComponent } from './app.component'; -import { AppModule } from './app.module'; +import { AppComponent } from '../../../../apps/ngx-bootstrap-docs/src/app/app.component'; +import { AppModule } from '../../../../apps/ngx-bootstrap-docs/src/app/app.module'; import { ServerModule } from '@angular/platform-server'; import { ModuleMapLoaderModule } from '@nguniversal/module-map-ngfactory-loader'; diff --git a/demo/src/environments/environment.server.ts b/_root/demo/src/environments/environment.server.ts similarity index 100% rename from demo/src/environments/environment.server.ts rename to _root/demo/src/environments/environment.server.ts diff --git a/demo/src/main.server.ts b/_root/demo/src/main.server.ts similarity index 100% rename from demo/src/main.server.ts rename to _root/demo/src/main.server.ts diff --git a/karma-demo.conf.js b/_root/karma-demo.conf.js similarity index 100% rename from karma-demo.conf.js rename to _root/karma-demo.conf.js diff --git a/karma-source.conf.js b/_root/karma-source.conf.js similarity index 100% rename from karma-source.conf.js rename to _root/karma-source.conf.js diff --git a/karma.base.conf.js b/_root/karma.base.conf.js similarity index 99% rename from karma.base.conf.js rename to _root/karma.base.conf.js index fabafedf29..e4e43814ac 100644 --- a/karma.base.conf.js +++ b/_root/karma.base.conf.js @@ -5,7 +5,7 @@ process.env.CHROME_BIN = require('puppeteer').executablePath() module.exports = function(projectConfig) { return function (config) { const baseConfiguration = { - basePath: '', + basePath: '..', frameworks: ['jasmine', '@angular-devkit/build-angular'], plugins: [ require('karma-jasmine'), diff --git a/karma.conf.js b/_root/karma.conf.js similarity index 100% rename from karma.conf.js rename to _root/karma.conf.js diff --git a/mocha.opts b/_root/mocha.opts similarity index 100% rename from mocha.opts rename to _root/mocha.opts diff --git a/ngcc.config.js b/_root/ngcc.config.js similarity index 100% rename from ngcc.config.js rename to _root/ngcc.config.js diff --git a/_root/package.json b/_root/package.json new file mode 100644 index 0000000000..0e86601843 --- /dev/null +++ b/_root/package.json @@ -0,0 +1,200 @@ +{ + "name": "ngx-bootstrap-base", + "version": "6.2.0", + "description": "Native Angular Bootstrap Components", + "private": true, + "scripts": { + "lite-server": "lite-server -c scripts/bs-config.js", + "demo.gen-docs": "node ../scripts/docs/get-doc.js", + "demo.fetch": "node scripts/fetch-docs.js", + "demo.archive": "node ../scripts/gh-pages-predeploy.ts", + "demo.ng-build": "ng build --prod", + "demo.set-version": "run-s demo.fetch demo.archive", + "demo.deploy-gh-pages": "gh-pages -d gh-pages", + "demo.build": "run-s build demo.gen-docs demo.ng-build demo.set-version", + "demo.build:latest": "run-s build.latest demo.gen-docs demo.ng-build demo.set-version", + "demo.serve": "run-s demo.build lite-server", + "demo.serve-universal": "run-s build:dynamic serve:dynamic", + "demo.deploy": "run-s demo.build demo.deploy-gh-pages", + "link": "npm link ./dist && npm link ngx-bootstrap", + "lint-pretty": "prettier --config .prettierrc --write -l \\\"{demo/src,src}/**/*.ts\\\"", + "lint-src": "tslint \\\"src/**/*.ts\\\" -c tslint.json -p src/tsconfig.spec.json -e \\\"src/chronos/**\\\"", + "lint": "exit 0", + "disable-lint": "tslint \\\"**/*.ts\\\" -c tslint.json --fix --type-check -t prose -e \\\"node_modules/**\\\" -e \\\"dist/**\\\" -e \\\"temp/**\\\" -e \\\"scripts/docs/**\\\"", + "flow.changelog": "conventional-changelog -i ../CHANGELOG.md -s -p angular", + "flow.github-release": "conventional-github-releaser -p angular", + "build": "run-s build.modules build:schematics build.sass", + "build.windows": "run-s build-modules.windows build:schematics build.sass", + "build.latest": "run-s build-modules.latest build:schematics build.sass", + "dist-to-modules": "cp -R ./dist/. ./node_modules/ngx-bootstrap", + "dist-to-modules.windows": "mkdir .\\node_modules\\ngx-bootstrap & xcopy .\\dist\\. .\\node_modules\\ngx-bootstrap /s /y", + "dist-to-modules.deploy": "rsync -R ./dist/. ./node_modules/ngx-bootstrap", + "build.watch": "node scripts/build-modules --watch", + "build-modules.windows": "node scripts/build-modules --windows", + "build-modules.latest": "node scripts/build-modules --latest", + "build:schematics": "node scripts/schematics/build", + "build.modules": "node scripts/build-modules", + "ci:update-pkg": "node scripts/ci/update-pkg.js", + "ci:rename-pkg": "mv node_modules/ngx-bootstrap-ci node_modules/ngx-bootstrap", + "build.sass": "node-sass --recursive ../src --output dist --source-map true --source-map-contents sass", + "start": "ng serve --aot --host 0.0.0.0", + "pretest": "run-s lint build", + "test": "ng test && npm run test:schematics", + "test:schematics": "jasmine schematics/src/**/*.spec.js", + "test-cross": "SAUCE=true && ng test", + "test-coverage": "ng test --code-coverage", + "version": "node scripts/version && npm run version.changelog", + "version.changelog": "run-s changelog git-add git-commit-changelog", + "git-add": "git add -A", + "git-commit-changelog": "git commit -am \"chore(changelog): update [skip ci] \"", + "changelog": "conventional-changelog -i ../CHANGELOG.md -s -p angular -r 0", + "cy:open": "../cypress open", + "cy:run:smoke": "APPLITOOLS_CONCURRENCY=100 ../cypress run --config integrationFolder=cypress/integration", + "cy:run:full": "APPLITOOLS_CONCURRENCY=100 ../cypress run --config integrationFolder=cypress/full", + "cy:run:all": "APPLITOOLS_CONCURRENCY=100 ../cypress run --config integrationFolder=cypress --spec '**/*_spec.ts'", + "cy:run:snapshot": "APPLITOOLS_CONCURRENCY=100 ../cypress run --config integrationFolder=cypress/snapshot", + "view-stats": "webpack-bundle-analyzer demo/dist/stats.json", + "build:ssr": "run-s build build:client-and-server-bundles webpack:server configure-heroku", + "serve:ssr": "node demo/dist/server", + "build:client-and-server-bundles": "ng build --prod && ng run ngx-bootstrap:server", + "webpack:server": "webpack --config scripts/universal/webpack.server.config.js --progress --colors", + "configure-heroku": "node scripts/universal/configure-heroku.js" + }, + "husky": { + "hooks": { + "pre-push": "npm run lint-src" + } + }, + "main": "bundles/ngx-bootstrap.umd.js", + "module": "esm5/ngx-bootstrap.js", + "typings": "ngx-bootstrap.d.ts", + "keywords": [ + "angular", + "bootstap", + "ng", + "ng2", + "angular2", + "twitter-bootstrap" + ], + "author": "Dmitriy Shekhovtsov ", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/valor-software/ngx-bootstrap.git" + }, + "bugs": { + "url": "https://github.com/valor-software/ngx-bootstrap/issues" + }, + "homepage": "https://github.com/valor-software/ngx-bootstrap#readme", + "devDependencies": { + "@angular-devkit/build-angular": "0.1100.3", + "@angular-devkit/core": "11.0.3", + "@angular-devkit/schematics": "11.0.3", + "@angular/animations": "11.0.3", + "@angular/cli": "11.0.3", + "@angular/common": "11.0.3", + "@angular/compiler": "11.0.3", + "@angular/compiler-cli": "11.0.3", + "@angular/core": "11.0.3", + "@angular/forms": "11.0.3", + "@angular/language-service": "11.0.3", + "@angular/platform-browser": "11.0.3", + "@angular/platform-browser-dynamic": "11.0.3", + "@angular/platform-server": "11.0.3", + "@angular/router": "11.0.3", + "@angular/service-worker": "11.0.3", + "@applitools/eyes.cypress": "3.4.2", + "@cypress/webpack-preprocessor": "3.0.1", + "@nestjs/common": "6.0.1", + "@nestjs/core": "6.0.5", + "@nestjs/microservices": "6.0.5", + "@nestjs/ng-universal": "0.5.1", + "@nestjs/platform-express": "^6.0.1", + "@netbasal/spectator": "3.12.0", + "@nguniversal/common": "11.0.1", + "@nguniversal/express-engine": "11.0.1", + "@nguniversal/module-map-ngfactory-loader": "9.0.0-next.9", + "@schematics/angular": "11.0.3", + "@stackblitz/sdk": "1.5.2", + "@types/chai": "4.2.14", + "@types/jasmine": "2.8.7", + "@types/jasminewd2": "2.0.8", + "@types/marked": "1.2.1", + "@types/node": "14.14.10", + "@types/sinon": "2.3.7", + "@types/tapable": "1.0.6", + "@types/webpack": "4.41.25", + "bootstrap": "4.5.3", + "chai": "4.1.2", + "classlist-polyfill": "1.2.0", + "codecov": "3.1.0", + "codelyzer": "5.0.1", + "compression": "1.7.2", + "conventional-changelog-cli": "1.3.22", + "conventional-github-releaser": "2.0.2", + "core-js": "3.6.0", + "cpy": "7.0.0", + "cpy-cli": "2.0.0", + "cypress": "3.4.1", + "express": "4.17.1", + "gh-pages": "1.1.0", + "gitignore-to-glob": "0.3.0", + "google-code-prettify": "1.0.5", + "html-loader": "0.5.5", + "husky": "1.0.0", + "intl": "^1.2.5", + "jasmine": "3.1.0", + "jasmine-core": "3.1.0", + "jasmine-data-provider": "2.2.0", + "jasmine-spec-reporter": "4.2.1", + "json": "9.0.6", + "karma": "4.1.0", + "karma-chrome-launcher": "2.2.0", + "karma-cli": "^1.0.1", + "karma-coverage-istanbul-reporter": "1.4.3", + "karma-edge-launcher": "0.4.2", + "karma-firefox-launcher": "1.1.0", + "karma-ie-launcher": "1.0.0", + "karma-jasmine": "1.1.2", + "karma-jasmine-html-reporter": "1.1.0", + "karma-remap-istanbul": "0.6.0", + "karma-safari-launcher": "1.0.0", + "karma-sauce-launcher": "1.2.0", + "karma-typescript": "4.0.0", + "lite-server": "2.3.0", + "lodash": "4.17.20", + "mini-css-extract-plugin": "0.5.0", + "mocha": "5.1.1", + "ng-packagr": "9.0.0", + "ngm-cli": "1.0.4", + "ngx-page-scroll": "7.0.3", + "ngx-page-scroll-core": "7.0.3", + "nodemon": "1.18.10", + "npm-run-all": "4.1.5", + "prettier": "1.12.1", + "puppeteer": "5.5.0", + "reflect-metadata": "0.1.13", + "require-dir": "1.0.0", + "rollup": "0.58.2", + "rollup-plugin-commonjs": "9.1.3", + "rollup-plugin-node-resolve": "3.3.0", + "rxjs": "6.6.3", + "terser": "3.17.0", + "ts-helpers": "^1.1.1", + "ts-loader": "4.3.0", + "ts-node": "6.0.3", + "tsconfig-paths": "3.8.0", + "tsickle": "0.35.0", + "tslib": "1.9.3", + "tslint": "5.10.0", + "tslint-config-valorsoft": "2.1.1", + "typedoc": "0.11.1", + "typescript": "4.0.5", + "wait-on": "2.1.0", + "wallaby-webpack": "3.9.7", + "web-animations-js": "2.3.2", + "webpack-bundle-analyzer": "2.11.3", + "webpack-cli": "3.3.0", + "zone.js": "0.11.3" + } +} diff --git a/scripts/bs-config.js b/_root/scripts/bs-config.js similarity index 100% rename from scripts/bs-config.js rename to _root/scripts/bs-config.js diff --git a/scripts/build-modules.js b/_root/scripts/build-modules.js similarity index 100% rename from scripts/build-modules.js rename to _root/scripts/build-modules.js diff --git a/scripts/ci/npm-ci-key.sh b/_root/scripts/ci/npm-ci-key.sh similarity index 100% rename from scripts/ci/npm-ci-key.sh rename to _root/scripts/ci/npm-ci-key.sh diff --git a/scripts/ci/npm-ng-latest.sh b/_root/scripts/ci/npm-ng-latest.sh similarity index 80% rename from scripts/ci/npm-ng-latest.sh rename to _root/scripts/ci/npm-ng-latest.sh index bf203057b7..8078c1c7ac 100755 --- a/scripts/ci/npm-ng-latest.sh +++ b/_root/scripts/ci/npm-ng-latest.sh @@ -16,10 +16,7 @@ npm i @angular/animations@latest \ @angular/platform-server@latest \ @angular/router@latest \ @angular/service-worker@latest \ - @schematics/angular@11.0.3 \ + @schematics/angular@latest\ @types/node@latest \ - caniuse-lite@latest \ - typescript@4.0.2 \ - ng-packagr@10.0.0 \ - tsickle@0.35.0 \ - rxjs@6.5.2 + ng-packagr@latest \ + rxjs@latest diff --git a/scripts/ci/npm-ng-min.sh b/_root/scripts/ci/npm-ng-min.sh similarity index 100% rename from scripts/ci/npm-ng-min.sh rename to _root/scripts/ci/npm-ng-min.sh diff --git a/scripts/ci/npm-ng-next.sh b/_root/scripts/ci/npm-ng-next.sh similarity index 73% rename from scripts/ci/npm-ng-next.sh rename to _root/scripts/ci/npm-ng-next.sh index c0eacaa8fa..0cce4d9a7a 100755 --- a/scripts/ci/npm-ng-next.sh +++ b/_root/scripts/ci/npm-ng-next.sh @@ -1,7 +1,4 @@ -#!/usr/bin/env bash - npm i @angular/animations@next \ - @angular/core@next \ @angular-devkit/build-angular@next \ @angular-devkit/core@next \ @angular-devkit/schematics@next \ @@ -9,6 +6,7 @@ npm i @angular/animations@next \ @angular/common@next \ @angular/compiler-cli@next \ @angular/compiler@next \ + @angular/core@next \ @angular/forms@next \ @angular/language-service@next \ @angular/platform-browser-dynamic@next \ @@ -16,10 +14,7 @@ npm i @angular/animations@next \ @angular/platform-server@next \ @angular/router@next \ @angular/service-worker@next \ - @schematics/angular@11.0.3 \ - @types/node@14.0.4 \ - caniuse-lite@latest \ - typescript@4.0.2 \ - ng-packagr@10.0.0 \ - tsickle@0.35.0 \ - rxjs@6.5.2 + @schematics/angular@next\ + @types/node@latest \ + ng-packagr@latest \ + rxjs@latest diff --git a/scripts/ci/update-pkg.js b/_root/scripts/ci/update-pkg.js similarity index 100% rename from scripts/ci/update-pkg.js rename to _root/scripts/ci/update-pkg.js diff --git a/scripts/fetch-docs.js b/_root/scripts/fetch-docs.js similarity index 100% rename from scripts/fetch-docs.js rename to _root/scripts/fetch-docs.js diff --git a/scripts/firebase/deploy-to-preview-channel.sh b/_root/scripts/firebase/deploy-to-preview-channel.sh similarity index 100% rename from scripts/firebase/deploy-to-preview-channel.sh rename to _root/scripts/firebase/deploy-to-preview-channel.sh diff --git a/scripts/matchers.ts b/_root/scripts/matchers.ts similarity index 100% rename from scripts/matchers.ts rename to _root/scripts/matchers.ts diff --git a/scripts/ng-packagr/api.js b/_root/scripts/ng-packagr/api.js similarity index 100% rename from scripts/ng-packagr/api.js rename to _root/scripts/ng-packagr/api.js diff --git a/scripts/ng-packagr/tsconfig.ngc.json b/_root/scripts/ng-packagr/tsconfig.ngc.json similarity index 97% rename from scripts/ng-packagr/tsconfig.ngc.json rename to _root/scripts/ng-packagr/tsconfig.ngc.json index 76da99f089..a7a005e99b 100644 --- a/scripts/ng-packagr/tsconfig.ngc.json +++ b/_root/scripts/ng-packagr/tsconfig.ngc.json @@ -11,7 +11,7 @@ "buildOnSave": false, "compileOnSave": false, "compilerOptions": { - "baseUrl": ".", + "baseUrl": "./", "target": "es2015", "module": "es2015", "moduleResolution": "node", diff --git a/scripts/sauce/sauce_connect_block.sh b/_root/scripts/sauce/sauce_connect_block.sh similarity index 100% rename from scripts/sauce/sauce_connect_block.sh rename to _root/scripts/sauce/sauce_connect_block.sh diff --git a/scripts/sauce/sauce_connect_setup.sh b/_root/scripts/sauce/sauce_connect_setup.sh similarity index 100% rename from scripts/sauce/sauce_connect_setup.sh rename to _root/scripts/sauce/sauce_connect_setup.sh diff --git a/scripts/sauce/sauce_connect_teardown.sh b/_root/scripts/sauce/sauce_connect_teardown.sh similarity index 100% rename from scripts/sauce/sauce_connect_teardown.sh rename to _root/scripts/sauce/sauce_connect_teardown.sh diff --git a/scripts/schematics/build.js b/_root/scripts/schematics/build.js similarity index 100% rename from scripts/schematics/build.js rename to _root/scripts/schematics/build.js diff --git a/scripts/test-demo.ts b/_root/scripts/test-demo.ts similarity index 100% rename from scripts/test-demo.ts rename to _root/scripts/test-demo.ts diff --git a/scripts/test-source.ts b/_root/scripts/test-source.ts similarity index 100% rename from scripts/test-source.ts rename to _root/scripts/test-source.ts diff --git a/scripts/typings.d.ts b/_root/scripts/typings.d.ts similarity index 100% rename from scripts/typings.d.ts rename to _root/scripts/typings.d.ts diff --git a/scripts/universal/app.module.ts b/_root/scripts/universal/app.module.ts similarity index 87% rename from scripts/universal/app.module.ts rename to _root/scripts/universal/app.module.ts index 609329d511..9d04bcee38 100755 --- a/scripts/universal/app.module.ts +++ b/_root/scripts/universal/app.module.ts @@ -10,7 +10,7 @@ applyDomino(global, join(BROWSER_DIR, 'index.html')); imports: [ AngularUniversalModule.forRoot({ viewsPath: BROWSER_DIR, - bundle: require('./../../demo/dist/server/main.js') + bundle: require('../../_root/demo/dist/server/main.js') }) ] }) diff --git a/scripts/universal/configure-heroku.js b/_root/scripts/universal/configure-heroku.js similarity index 77% rename from scripts/universal/configure-heroku.js rename to _root/scripts/universal/configure-heroku.js index 8515d30dd5..89edc8ad76 100644 --- a/scripts/universal/configure-heroku.js +++ b/_root/scripts/universal/configure-heroku.js @@ -1,6 +1,6 @@ const fs = require('fs-extra'); const path = require('path'); -const devDependencies = JSON.stringify(require('../../package').devDependencies, null, 2); +const devDependencies = JSON.stringify(require('../../../package.json').devDependencies, null, 2); fs.writeFileSync(path.join(process.cwd(), 'demo/dist/Procfile'), 'web: node server.js', 'utf8'); fs.writeFileSync(path.join(process.cwd(), 'demo/dist/package.json'), diff --git a/scripts/universal/prerender.ts b/_root/scripts/universal/prerender.ts similarity index 97% rename from scripts/universal/prerender.ts rename to _root/scripts/universal/prerender.ts index 1fb7329848..6bf0af4f97 100644 --- a/scripts/universal/prerender.ts +++ b/_root/scripts/universal/prerender.ts @@ -24,7 +24,7 @@ applyDomino(global, indexPath); const { AppServerModuleNgFactory, LAZY_MODULE_MAP -} = require('../../demo/dist/server/main'); +} = require('../../_root/demo/dist/server/main'); let previousRender = Promise.resolve(); diff --git a/scripts/universal/server.ts b/_root/scripts/universal/server.ts similarity index 100% rename from scripts/universal/server.ts rename to _root/scripts/universal/server.ts diff --git a/scripts/universal/static.paths.ts b/_root/scripts/universal/static.paths.ts similarity index 100% rename from scripts/universal/static.paths.ts rename to _root/scripts/universal/static.paths.ts diff --git a/scripts/universal/webpack.server.config.js b/_root/scripts/universal/webpack.server.config.js similarity index 100% rename from scripts/universal/webpack.server.config.js rename to _root/scripts/universal/webpack.server.config.js diff --git a/scripts/version.js b/_root/scripts/version.js similarity index 84% rename from scripts/version.js rename to _root/scripts/version.js index 205b63b072..6b4b0d2c9f 100644 --- a/scripts/version.js +++ b/_root/scripts/version.js @@ -6,7 +6,7 @@ changeVersion(); async function changeVersion() { console.log(`Updating version`); - const _version = require('../package').version; + const _version = require('../../package.json').version; await execa.shell(`find src -maxdepth 2 -name package.json -exec bash -c "npm --prefix \\$(dirname {}) version ${_version}" \\;`); console.log('versioning completed'); } diff --git a/_root/tools/gen.sh b/_root/tools/gen.sh new file mode 100755 index 0000000000..f2e6dd7acb --- /dev/null +++ b/_root/tools/gen.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +array=( utils positioning component-loader chronos locale mini-ngrx accordion alert dropdown modal \ +collapse progressbar tabs \ +buttons pagination rating timepicker \ +carousel datepicker popover sortable tooltip typeahead ) +for i in "${array[@]}" +do + ng generate @nrwl/angular:library --name=$i --style=css --buildable --importPath=ngx-bootstrap/$i \ + --publishable --skipPackageJson --strict --no-interactive +done + diff --git a/demo/src/app/components/+datepicker/todo.md b/_root/tools/generators/.gitkeep similarity index 100% rename from demo/src/app/components/+datepicker/todo.md rename to _root/tools/generators/.gitkeep diff --git a/_root/tools/tsconfig.tools.json b/_root/tools/tsconfig.tools.json new file mode 100644 index 0000000000..3a78850161 --- /dev/null +++ b/_root/tools/tsconfig.tools.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "../dist/out-tsc/tools", + "rootDir": ".", + "module": "commonjs", + "target": "es5", + "types": ["node"], + "importHelpers": false + }, + "include": ["**/*.ts"] +} diff --git a/tsconfig.json b/_root/tsconfig.json similarity index 95% rename from tsconfig.json rename to _root/tsconfig.json index c5084f0d6d..e92dc41690 100644 --- a/tsconfig.json +++ b/_root/tsconfig.json @@ -16,7 +16,7 @@ "lib": ["es2017", "dom"] }, "exclude": [ - "scripts", + "../scripts", "cypress" ] -} \ No newline at end of file +} diff --git a/tslint.json b/_root/tslint.json similarity index 100% rename from tslint.json rename to _root/tslint.json diff --git a/typedoc.js b/_root/typedoc.js similarity index 100% rename from typedoc.js rename to _root/typedoc.js diff --git a/wallaby.js b/_root/wallaby.js similarity index 100% rename from wallaby.js rename to _root/wallaby.js diff --git a/angular.json b/angular.json index d64344976d..eb747dcbe4 100644 --- a/angular.json +++ b/angular.json @@ -1,66 +1,89 @@ { - "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, - "newProjectRoot": "projects", + "cli": { + "defaultCollection": "@nrwl/angular" + }, + "schematics": { + "@nrwl/angular": { + "application": { + "linter": "eslint" + }, + "library": { + "linter": "eslint" + }, + "storybook-configuration": { + "linter": "eslint" + } + }, + "@nrwl/angular:application": { + "style": "scss", + "linter": "eslint", + "unitTestRunner": "jest", + "e2eTestRunner": "cypress" + }, + "@nrwl/angular:library": { + "style": "scss", + "linter": "eslint", + "unitTestRunner": "jest", + "strict": true + }, + "@nrwl/angular:component": { + "style": "scss" + } + }, + "defaultProject": "ngx-bootstrap-docs", "projects": { - "ngx-bootstrap": { - "root": "", - "sourceRoot": "demo/src", + "ngx-bootstrap-docs": { "projectType": "application", + "root": "apps/ngx-bootstrap-docs", + "sourceRoot": "apps/ngx-bootstrap-docs/src", + "prefix": "ngx-bootstrap-base", "architect": { "build": { "builder": "@angular-devkit/build-angular:browser", "options": { - "outputPath": "demo/dist/browser", - "index": "demo/src/index.html", - "main": "demo/src/main.ts", - "tsConfig": "demo/src/tsconfig.json", + "baseHref": "/ngx-bootstrap/", + "outputPath": "dist/apps/ngx-bootstrap", + "index": "apps/ngx-bootstrap-docs/src/index.html", + "main": "apps/ngx-bootstrap-docs/src/main.ts", + "polyfills": "apps/ngx-bootstrap-docs/src/polyfills.ts", + "tsConfig": "apps/ngx-bootstrap-docs/tsconfig.app.json", "aot": true, - "polyfills": "demo/src/polyfills.ts", "assets": [ - "demo/src/assets" + "apps/ngx-bootstrap-docs/src/assets" ], "styles": [ "src/datepicker/bs-datepicker.scss", - "demo/src/assets/css/style.scss", - "demo/src/assets/css/prettify-angulario.css" + "apps/ngx-bootstrap-docs/src/assets/css/style.scss", + "apps/ngx-bootstrap-docs/src/assets/css/prettify-angulario.css" ], "scripts": [] }, "configurations": { "production": { - "preserveSymlinks": true, - "optimization": true, - "outputHashing": "all", - "sourceMap": false, - "extractCss": true, - "namedChunks": true, - "aot": true, - "extractLicenses": true, - "vendorChunk": true, - "buildOptimizer": true, "fileReplacements": [ { - "replace": "demo/src/environments/environment.ts", - "with": "demo/src/environments/environment.prod.ts" + "replace": "apps/ngx-bootstrap-docs/src/environments/environment.ts", + "with": "apps/ngx-bootstrap-docs/src/environments/environment.prod.ts" } - ] - }, - "server": { - "preserveSymlinks": true, + ], "optimization": true, "outputHashing": "all", "sourceMap": false, - "extractCss": true, - "namedChunks": true, - "aot": true, + "namedChunks": false, "extractLicenses": true, "vendorChunk": false, "buildOptimizer": true, - "fileReplacements": [ + "budgets": [ { - "replace": "demo/src/environments/environment.ts", - "with": "demo/src/environments/environment.server.ts" + "type": "initial", + "maximumWarning": "2mb", + "maximumError": "5mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "6kb", + "maximumError": "10kb" } ] } @@ -69,113 +92,1163 @@ "serve": { "builder": "@angular-devkit/build-angular:dev-server", "options": { - "browserTarget": "ngx-bootstrap:build" + "baseHref": "/ngx-bootstrap/", + "browserTarget": "ngx-bootstrap-docs:build" }, "configurations": { "production": { - "browserTarget": "ngx-bootstrap:build:production" - }, - "server": { - "browserTarget": "ngx-bootstrap:build:server" + "baseHref": "/ngx-bootstrap/", + "browserTarget": "ngx-bootstrap-docs:build:production" } } }, "extract-i18n": { "builder": "@angular-devkit/build-angular:extract-i18n", "options": { - "browserTarget": "ngx-bootstrap:build" + "browserTarget": "ngx-bootstrap-docs:build" + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "apps/ngx-bootstrap-docs/src/**/*.ts", + "apps/ngx-bootstrap-docs/src/**/*.html" + ] } }, "test": { - "builder": "@angular-devkit/build-angular:karma", + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/apps/ngx-bootstrap-docs" + ], "options": { - "main": "scripts/test-demo.ts", - "karmaConfig": "karma-demo.conf.js", - "polyfills": "demo/src/polyfills.ts", - "tsConfig": "src/tsconfig.spec.json", - "codeCoverageExclude": ["dist/**/*"], - "sourceMap": false, - "scripts": [], - "styles": [ - "src/datepicker/bs-datepicker.scss", - "demo/src/assets/css/style.scss", - "demo/src/assets/css/prettify-angulario.css" - ], - "assets": [ - "demo/src/assets" + "jestConfig": "apps/ngx-bootstrap-docs/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "ngx-bootstrap-docs-e2e": { + "root": "apps/ngx-bootstrap-docs-e2e", + "sourceRoot": "apps/ngx-bootstrap-docs-e2e/src", + "projectType": "application", + "architect": { + "e2e": { + "builder": "@nrwl/cypress:cypress", + "options": { + "cypressConfig": "apps/ngx-bootstrap-docs-e2e/cypress.json", + "tsConfig": "apps/ngx-bootstrap-docs-e2e/tsconfig.e2e.json", + "devServerTarget": "ngx-bootstrap-docs:serve" + }, + "configurations": { + "firebase": {}, + "production": { + "devServerTarget": "ngx-bootstrap-docs:serve:production" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "apps/ngx-bootstrap-docs-e2e/**/*.{js,ts}" ] } + } + } + }, + "ci-docs-e2e": { + "root": "apps/ngx-bootstrap-docs-e2e", + "sourceRoot": "apps/ngx-bootstrap-docs-e2e/src", + "projectType": "application", + "architect": { + "e2e": { + "builder": "@nrwl/cypress:cypress", + "options": { + "cypressConfig": "apps/ngx-bootstrap-docs-e2e/cypress.json", + "tsConfig": "apps/ngx-bootstrap-docs-e2e/tsconfig.e2e.json", + "baseUrl": "http://localhost:4200/#/" + }, + "configurations": { + "production": {} + } }, "lint": { - "builder": "@angular-devkit/build-angular:tslint", + "builder": "@nrwl/linter:eslint", "options": { - "tsConfig": [ - "../tslint.json" - ], - "exclude": [] + "lintFilePatterns": [ + "apps/ngx-bootstrap-docs-e2e/**/*.{js,ts}" + ] + } + } + } + }, + "accordion": { + "projectType": "library", + "root": "src/accordion", + "sourceRoot": "src/accordion", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/accordion" + ], + "options": { + "tsConfig": "src/accordion/tsconfig.lib.json", + "project": "src/accordion/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/accordion/tsconfig.lib.prod.json" + } } }, - "server": { - "builder": "@angular-devkit/build-angular:server", + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/accordion/**/*.ts", + "src/accordion/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/accordion" + ], "options": { - "outputPath": "demo/dist/server", - "main": "demo/src/main.server.ts", - "tsConfig": "demo/src/tsconfig.server.json" + "jestConfig": "src/accordion/jest.config.js", + "passWithNoTests": true } } } }, - "ngx-bootstrap-source": { - "root": "", - "sourceRoot": "src", + "alert": { "projectType": "library", + "root": "src/alert", + "sourceRoot": "src/alert", + "prefix": "ngx-bootstrap-base", "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/alert" + ], + "options": { + "tsConfig": "src/alert/tsconfig.lib.json", + "project": "src/alert/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/alert/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/alert/**/*.ts", + "src/alert/**/*.html" + ] + } + }, "test": { - "builder": "@angular-devkit/build-angular:karma", + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/alert" + ], "options": { - "main": "scripts/test-source.ts", - "karmaConfig": "karma-source.conf.js", - "polyfills": "demo/src/polyfills.ts", - "tsConfig": "src/tsconfig.spec.json", - "codeCoverageExclude": ["dist/**/*"], - "sourceMap": false, - "scripts": [], - "styles": [ - "src/datepicker/bs-datepicker.scss", - "demo/src/assets/css/style.scss", - "demo/src/assets/css/prettify-angulario.css" - ], - "assets": [] + "jestConfig": "src/alert/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "buttons": { + "projectType": "library", + "root": "src/buttons", + "sourceRoot": "src/buttons", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/buttons" + ], + "options": { + "tsConfig": "src/buttons/tsconfig.lib.json", + "project": "src/buttons/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/buttons/tsconfig.lib.prod.json" + } } }, "lint": { - "builder": "@angular-devkit/build-angular:tslint", + "builder": "@nrwl/linter:eslint", "options": { - "tsConfig": [ - "../tslint.json" - ], - "exclude": [] + "lintFilePatterns": [ + "src/buttons/**/*.ts", + "src/buttons/**/*.html" + ] } }, - "server": { - "builder": "@angular-devkit/build-angular:server", + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/buttons" + ], "options": { - "outputPath": "demo/dist/server", - "main": "demo/src/main.server.ts", - "tsConfig": "demo/src/tsconfig.server.json" + "jestConfig": "src/buttons/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "carousel": { + "projectType": "library", + "root": "src/carousel", + "sourceRoot": "src/carousel/src", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/carousel" + ], + "options": { + "tsConfig": "src/carousel/tsconfig.lib.json", + "project": "src/carousel/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/carousel/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/carousel/**/*.ts", + "src/carousel/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/carousel" + ], + "options": { + "jestConfig": "src/carousel/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "chronos": { + "projectType": "library", + "root": "src/chronos", + "sourceRoot": "src/chronos", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/chronos" + ], + "options": { + "tsConfig": "src/chronos/tsconfig.lib.json", + "project": "src/chronos/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/chronos/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/chronos/**/*.ts", + "src/chronos/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/chronos" + ], + "options": { + "jestConfig": "src/chronos/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "collapse": { + "projectType": "library", + "root": "src/collapse", + "sourceRoot": "src/collapse", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/collapse" + ], + "options": { + "tsConfig": "src/collapse/tsconfig.lib.json", + "project": "src/collapse/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/collapse/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/collapse/**/*.ts", + "src/collapse/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/collapse" + ], + "options": { + "jestConfig": "src/collapse/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "component-loader": { + "projectType": "library", + "root": "src/component-loader", + "sourceRoot": "src/component-loader", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/component-loader" + ], + "options": { + "tsConfig": "src/component-loader/tsconfig.lib.json", + "project": "src/component-loader/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/component-loader/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/component-loader/**/*.ts", + "src/component-loader/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/component-loader" + ], + "options": { + "jestConfig": "src/component-loader/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "datepicker": { + "projectType": "library", + "root": "src/datepicker", + "sourceRoot": "src/datepicker", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/datepicker" + ], + "options": { + "tsConfig": "src/datepicker/tsconfig.lib.json", + "project": "src/datepicker/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/datepicker/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/datepicker/**/*.ts", + "src/datepicker/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/datepicker" + ], + "options": { + "jestConfig": "src/datepicker/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "dropdown": { + "projectType": "library", + "root": "src/dropdown", + "sourceRoot": "src/dropdown", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/dropdown" + ], + "options": { + "tsConfig": "src/dropdown/tsconfig.lib.json", + "project": "src/dropdown/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/dropdown/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/dropdown/**/*.ts", + "src/dropdown/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/dropdown" + ], + "options": { + "jestConfig": "src/dropdown/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "locale": { + "projectType": "library", + "root": "src/locale", + "sourceRoot": "src/locale", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/locale" + ], + "options": { + "tsConfig": "src/locale/tsconfig.lib.json", + "project": "src/locale/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/locale/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/locale/**/*.ts", + "src/locale/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/locale" + ], + "options": { + "jestConfig": "src/locale/jest.config.js", + "passWithNoTests": true } } } - } - }, - "defaultProject": "ngx-bootstrap", - "schematics": { - "@schematics/angular:component": { - "prefix": "", - "styleext": "scss" }, - "@schematics/angular:directive": { - "prefix": "" + "mini-ngrx": { + "projectType": "library", + "root": "src/mini-ngrx", + "sourceRoot": "src/mini-ngrx", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/mini-ngrx" + ], + "options": { + "tsConfig": "src/mini-ngrx/tsconfig.lib.json", + "project": "src/mini-ngrx/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/mini-ngrx/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/mini-ngrx/**/*.ts", + "src/mini-ngrx/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/mini-ngrx" + ], + "options": { + "jestConfig": "src/mini-ngrx/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "modal": { + "projectType": "library", + "root": "src/modal", + "sourceRoot": "src/modal", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/modal" + ], + "options": { + "tsConfig": "src/modal/tsconfig.lib.json", + "project": "src/modal/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/modal/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/modal/**/*.ts", + "src/modal/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/modal" + ], + "options": { + "jestConfig": "src/modal/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "pagination": { + "projectType": "library", + "root": "src/pagination", + "sourceRoot": "src/pagination", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/pagination" + ], + "options": { + "tsConfig": "src/pagination/tsconfig.lib.json", + "project": "src/pagination/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/pagination/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/pagination/**/*.ts", + "src/pagination/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/pagination" + ], + "options": { + "jestConfig": "src/pagination/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "popover": { + "projectType": "library", + "root": "src/popover", + "sourceRoot": "src/popover", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/popover" + ], + "options": { + "tsConfig": "src/popover/tsconfig.lib.json", + "project": "src/popover/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/popover/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/popover/**/*.ts", + "src/popover/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/popover" + ], + "options": { + "jestConfig": "src/popover/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "positioning": { + "projectType": "library", + "root": "src/positioning", + "sourceRoot": "src/positioning", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/positioning" + ], + "options": { + "tsConfig": "src/positioning/tsconfig.lib.json", + "project": "src/positioning/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/positioning/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/positioning/**/*.ts", + "src/positioning/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/positioning" + ], + "options": { + "jestConfig": "src/positioning/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "progressbar": { + "projectType": "library", + "root": "src/progressbar", + "sourceRoot": "src/progressbar", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/progressbar" + ], + "options": { + "tsConfig": "src/progressbar/tsconfig.lib.json", + "project": "src/progressbar/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/progressbar/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/progressbar/**/*.ts", + "src/progressbar/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/progressbar" + ], + "options": { + "jestConfig": "src/progressbar/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "rating": { + "projectType": "library", + "root": "src/rating", + "sourceRoot": "src/rating", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/rating" + ], + "options": { + "tsConfig": "src/rating/tsconfig.lib.json", + "project": "src/rating/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/rating/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/rating/**/*.ts", + "src/rating/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/rating" + ], + "options": { + "jestConfig": "src/rating/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "sortable": { + "projectType": "library", + "root": "src/sortable", + "sourceRoot": "src/sortable", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/sortable" + ], + "options": { + "tsConfig": "src/sortable/tsconfig.lib.json", + "project": "src/sortable/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/sortable/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/sortable/**/*.ts", + "src/sortable/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/sortable" + ], + "options": { + "jestConfig": "src/sortable/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "tabs": { + "projectType": "library", + "root": "src/tabs", + "sourceRoot": "src/tabs", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/tabs" + ], + "options": { + "tsConfig": "src/tabs/tsconfig.lib.json", + "project": "src/tabs/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/tabs/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/tabs/**/*.ts", + "src/tabs/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/tabs" + ], + "options": { + "jestConfig": "src/tabs/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "timepicker": { + "projectType": "library", + "root": "src/timepicker", + "sourceRoot": "src/timepicker", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/timepicker" + ], + "options": { + "tsConfig": "src/timepicker/tsconfig.lib.json", + "project": "src/timepicker/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/timepicker/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/timepicker/**/*.ts", + "src/timepicker/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/timepicker" + ], + "options": { + "jestConfig": "src/timepicker/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "tooltip": { + "projectType": "library", + "root": "src/tooltip", + "sourceRoot": "src/tooltip", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/tooltip" + ], + "options": { + "tsConfig": "src/tooltip/tsconfig.lib.json", + "project": "src/tooltip/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/tooltip/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/tooltip/**/*.ts", + "src/tooltip/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/tooltip" + ], + "options": { + "jestConfig": "src/tooltip/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "typeahead": { + "projectType": "library", + "root": "src/typeahead", + "sourceRoot": "src/typeahead", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/typeahead" + ], + "options": { + "tsConfig": "src/typeahead/tsconfig.lib.json", + "project": "src/typeahead/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/typeahead/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/typeahead/**/*.ts", + "src/typeahead/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/typeahead" + ], + "options": { + "jestConfig": "src/typeahead/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "utils": { + "projectType": "library", + "root": "src/utils", + "sourceRoot": "src/utils", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "outputs": [ + "node_modules/ngx-bootstrap/utils" + ], + "options": { + "tsConfig": "src/utils/tsconfig.lib.json", + "project": "src/utils/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/utils/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/utils/**/*.ts", + "src/utils/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/utils" + ], + "options": { + "jestConfig": "src/utils/jest.config.js", + "passWithNoTests": true + } + } + } + }, + "ngx-bootstrap": { + "projectType": "library", + "root": "src/root", + "sourceRoot": "src/root", + "prefix": "ngx-bootstrap-base", + "architect": { + "build": { + "builder": "@nrwl/angular:package", + "options": { + "tsConfig": "src/root/tsconfig.lib.json", + "project": "src/root/ng-package.json" + }, + "configurations": { + "production": { + "tsConfig": "src/root/tsconfig.lib.prod.json" + } + } + }, + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "src/root/**/*.ts", + "src/root/**/*.html" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/src/root" + ], + "options": { + "jestConfig": "src/root/jest.config.js", + "passWithNoTests": true + } + }, + "build-sass": { + "builder": "@nrwl/workspace:run-commands", + "outputs": [], + "options": { + "command": "sass src:node_modules/ngx-bootstrap --source-map" + } + }, + "docs": { + "builder": "@nrwl/workspace:run-commands", + "outputs": [], + "options": { + "command": "node ./scripts/docs/get-doc.js" + } + }, + "stats": { + "builder": "@nrwl/workspace:run-commands", + "outputs": [], + "options": { + "command": "webpack-bundle-analyzer dist/apps/ngx-bootstrap-docs/stats.json" + } + } + } + }, + "schematics": { + "root": "schematics", + "sourceRoot": "schematics/src", + "projectType": "library", + "architect": { + "lint": { + "builder": "@nrwl/linter:eslint", + "options": { + "lintFilePatterns": [ + "schematics/**/*.ts" + ] + } + }, + "test": { + "builder": "@nrwl/jest:jest", + "outputs": [ + "coverage/schematics" + ], + "options": { + "jestConfig": "schematics/jest.config.js", + "passWithNoTests": true + } + }, + "build": { + "builder": "@nrwl/node:package", + "outputs": [ + "{options.outputPath}" + ], + "options": { + "outputPath": "dist/schematics", + "tsConfig": "schematics/tsconfig.lib.json", + "packageJson": "schematics/package.json", + "main": "schematics/src/index.ts", + "assets": [ + "schematics/*.md" + ] + } + } + } } } } diff --git a/apps/.gitkeep b/apps/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/apps/ngx-bootstrap-docs-e2e/.eslintrc.json b/apps/ngx-bootstrap-docs-e2e/.eslintrc.json new file mode 100644 index 0000000000..595f51e407 --- /dev/null +++ b/apps/ngx-bootstrap-docs-e2e/.eslintrc.json @@ -0,0 +1,14 @@ +{ + "extends": ["plugin:cypress/recommended", "../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "rules": {}, + "overrides": [ + { + "files": ["src/plugins/index.js"], + "rules": { + "@typescript-eslint/no-var-requires": "off", + "no-undef": "off" + } + } + ] +} diff --git a/apps/ngx-bootstrap-docs-e2e/cypress-full.json b/apps/ngx-bootstrap-docs-e2e/cypress-full.json new file mode 100644 index 0000000000..f86f9f5812 --- /dev/null +++ b/apps/ngx-bootstrap-docs-e2e/cypress-full.json @@ -0,0 +1,17 @@ +{ + "baseUrl": "http://localhost:4200/#/", + "projectId": "5mm2dy", + "fileServerFolder": ".", + "fixturesFolder": "./src/fixtures", + "integrationFolder": "./src/full", + "modifyObstructiveCode": false, + "pluginsFile": "./src/plugins/index", + "supportFile": "./src/support/index.ts", + "video": true, + "parallel": true, + "videosFolder": "../../dist/cypress/apps/ngx-bootstrap-docs-e2e/videos", + "screenshotsFolder": "../../dist/cypress/apps/ngx-bootstrap-docs-e2e/screenshots", + "chromeWebSecurity": false, + "responseTimeout": 60000, + "pageLoadTimeout": 120000 +} diff --git a/apps/ngx-bootstrap-docs-e2e/cypress.json b/apps/ngx-bootstrap-docs-e2e/cypress.json new file mode 100644 index 0000000000..e4b552bbc9 --- /dev/null +++ b/apps/ngx-bootstrap-docs-e2e/cypress.json @@ -0,0 +1,17 @@ +{ + "baseUrl": "http://localhost:4200/#/", + "projectId": "5mm2dy", + "fileServerFolder": ".", + "fixturesFolder": "./src/fixtures", + "integrationFolder": "./src/integration", + "modifyObstructiveCode": false, + "pluginsFile": "./src/plugins/index", + "supportFile": "./src/support/index.ts", + "video": true, + "parallel": true, + "videosFolder": "../../dist/cypress/apps/ngx-bootstrap-docs-e2e/videos", + "screenshotsFolder": "../../dist/cypress/apps/ngx-bootstrap-docs-e2e/screenshots", + "chromeWebSecurity": false, + "responseTimeout": 60000, + "pageLoadTimeout": 120000 +} diff --git a/cypress/fixtures/example.json b/apps/ngx-bootstrap-docs-e2e/src/fixtures/example.json similarity index 100% rename from cypress/fixtures/example.json rename to apps/ngx-bootstrap-docs-e2e/src/fixtures/example.json diff --git a/cypress/full/accordion_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/accordion_page_spec.ts similarity index 99% rename from cypress/full/accordion_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/accordion_page_spec.ts index 6c694d9c81..a0c86fc5f3 100644 --- a/cypress/full/accordion_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/accordion_page_spec.ts @@ -1,6 +1,6 @@ import { AccordionPo } from '../support/accordion.po'; -describe('Accordion page test suite', () => { +describe('Accordion page testing suite', () => { const accordion = new AccordionPo(); beforeEach(() => accordion.navigateTo()); diff --git a/cypress/full/alerts_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/alerts_page_spec.ts similarity index 99% rename from cypress/full/alerts_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/alerts_page_spec.ts index d6a42c400f..337fb908f1 100644 --- a/cypress/full/alerts_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/alerts_page_spec.ts @@ -1,6 +1,6 @@ import { AlertsPo } from '../support/alerts.po'; -describe('Alerts page test suite', () => { +describe('Alerts page testing suite', () => { const alerts = new AlertsPo(); beforeEach(() => { diff --git a/cypress/full/buttons_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/buttons_page_spec.ts similarity index 99% rename from cypress/full/buttons_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/buttons_page_spec.ts index cab64b1406..ac8e117902 100644 --- a/cypress/full/buttons_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/buttons_page_spec.ts @@ -1,6 +1,6 @@ import { ButtonsPo } from '../support/buttons.po'; -describe('Buttons page test suite', () => { +describe('Buttons page testing suite', () => { const buttons = new ButtonsPo(); const buttonGroupSelector = buttons.buttonGroupSelector; diff --git a/cypress/full/carousel_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/carousel_page_spec.ts similarity index 99% rename from cypress/full/carousel_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/carousel_page_spec.ts index a0246fc600..83c108f3d6 100644 --- a/cypress/full/carousel_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/carousel_page_spec.ts @@ -1,6 +1,6 @@ import { CarouselPo } from '../support/carousel.po'; -describe('Carousel page test suite', () => { +describe('Carousel page testing suite', () => { const carousel = new CarouselPo(); beforeEach(() => { diff --git a/cypress/full/collapse_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/collapse_page_spec.ts similarity index 98% rename from cypress/full/collapse_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/collapse_page_spec.ts index 41e17e64ae..58d955d57b 100644 --- a/cypress/full/collapse_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/collapse_page_spec.ts @@ -1,6 +1,6 @@ import { CollapsePo } from '../support/collapse.po'; -describe('Collapse demo page test suite', () => { +describe('Collapse demo page testing suite', () => { const collapse = new CollapsePo(); beforeEach(() => collapse.navigateTo()); diff --git a/cypress/full/datepicker/config_method_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/config_method_spec.ts similarity index 97% rename from cypress/full/datepicker/config_method_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/config_method_spec.ts index f135c5a6d7..edba362470 100644 --- a/cypress/full/datepicker/config_method_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/config_method_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Config method', () => { +describe('Datepicker demo testing suite: Config method', () => { const datepicker = new DatepickerPo(); const configMethod = datepicker.exampleDemosArr.configMethod; diff --git a/cypress/full/datepicker/config_properties_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/config_properties_spec.ts similarity index 95% rename from cypress/full/datepicker/config_properties_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/config_properties_spec.ts index 145344c181..c8c2753035 100644 --- a/cypress/full/datepicker/config_properties_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/config_properties_spec.ts @@ -1,7 +1,7 @@ import { DatepickerPo } from '../../support/datepicker.po'; import { formatDate } from 'ngx-bootstrap/chronos'; -describe('Datepicker demo test suite: Config properties', () => { +describe('Datepicker demo testing suite: Config properties', () => { const datepicker = new DatepickerPo(); const configProperties = datepicker.exampleDemosArr.configProperties; diff --git a/cypress/full/datepicker/custom_date_format_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/custom_date_format_spec.ts similarity index 98% rename from cypress/full/datepicker/custom_date_format_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/custom_date_format_spec.ts index 1c654cc46d..4ec280df6f 100644 --- a/cypress/full/datepicker/custom_date_format_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/custom_date_format_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Custom date format', () => { +describe('Datepicker demo testing suite: Custom date format', () => { const datepicker = new DatepickerPo(); const customFormat = datepicker.exampleDemosArr.customFormat; const newDate = new Date(); diff --git a/cypress/full/datepicker/custom_today_class_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/custom_today_class_spec.ts similarity index 96% rename from cypress/full/datepicker/custom_today_class_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/custom_today_class_spec.ts index dd62407be7..2dc75db6f0 100644 --- a/cypress/full/datepicker/custom_today_class_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/custom_today_class_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Custom today class', () => { +describe('Datepicker demo testing suite: Custom today class', () => { const datepicker = new DatepickerPo(); const customToday = datepicker.exampleDemosArr.customTodayClass; diff --git a/cypress/full/datepicker/custom_triggers_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/custom_triggers_spec.ts similarity index 98% rename from cypress/full/datepicker/custom_triggers_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/custom_triggers_spec.ts index 8671d915f2..a2c167c5c3 100644 --- a/cypress/full/datepicker/custom_triggers_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/custom_triggers_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Custom triggers', () => { +describe('Datepicker demo testing suite: Custom triggers', () => { const datepicker = new DatepickerPo(); const customTriggers = datepicker.exampleDemosArr.customTriggers; const currentMonthNum: number = new Date().getMonth(); diff --git a/cypress/full/datepicker/days_disabled_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/days_disabled_spec.ts similarity index 97% rename from cypress/full/datepicker/days_disabled_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/days_disabled_spec.ts index ec62f10d84..b4cf794389 100644 --- a/cypress/full/datepicker/days_disabled_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/days_disabled_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Days disabled', () => { +describe('Datepicker demo testing suite: Days disabled', () => { const datepicker = new DatepickerPo(); const daysDisabled = datepicker.exampleDemosArr.daysDisabled; diff --git a/cypress/full/datepicker/disabled_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/disabled_spec.ts similarity index 98% rename from cypress/full/datepicker/disabled_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/disabled_spec.ts index 9d07b4cbf2..45e93ccedf 100644 --- a/cypress/full/datepicker/disabled_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/disabled_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Disabled', () => { +describe('Datepicker demo testing suite: Disabled', () => { const datepicker = new DatepickerPo(); const disabled = datepicker.exampleDemosArr.disabled; diff --git a/cypress/full/datepicker/forms_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/forms_spec.ts similarity index 97% rename from cypress/full/datepicker/forms_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/forms_spec.ts index a6f4f21c4e..f19466db08 100644 --- a/cypress/full/datepicker/forms_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/forms_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Forms', () => { +describe('Datepicker demo testing suite: Forms', () => { const datepicker = new DatepickerPo(); const forms = datepicker.exampleDemosArr.forms; diff --git a/cypress/full/datepicker/hide_on_scroll_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/hide_on_scroll_spec.ts similarity index 94% rename from cypress/full/datepicker/hide_on_scroll_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/hide_on_scroll_spec.ts index bb38630fc4..ba949fa90e 100644 --- a/cypress/full/datepicker/hide_on_scroll_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/hide_on_scroll_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Hide on scroll', () => { +describe('Datepicker demo testing suite: Hide on scroll', () => { const datepicker = new DatepickerPo(); const hideOnScroll = datepicker.exampleDemosArr.hideOnScroll; diff --git a/cypress/full/datepicker/initial_state_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/initial_state_spec.ts similarity index 98% rename from cypress/full/datepicker/initial_state_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/initial_state_spec.ts index 35ac1b041c..f53db9452b 100644 --- a/cypress/full/datepicker/initial_state_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/initial_state_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Initial state', () => { +describe('Datepicker demo testing suite: Initial state', () => { const datepicker = new DatepickerPo(); const initialState = datepicker.exampleDemosArr.initialState; const newDate = new Date(); diff --git a/cypress/full/datepicker/inline_datepicker_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/inline_datepicker_spec.ts similarity index 95% rename from cypress/full/datepicker/inline_datepicker_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/inline_datepicker_spec.ts index a6e790ed8e..1291f901ed 100644 --- a/cypress/full/datepicker/inline_datepicker_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/inline_datepicker_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Inline Datepicker', () => { +describe('Datepicker demo testing suite: Inline Datepicker', () => { const datepicker = new DatepickerPo(); const inlineDatepicker = datepicker.exampleDemosArr.inlineDatepicker; const todayDay = new Date().getDate(); diff --git a/cypress/full/datepicker/locales_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/locales_spec.ts similarity index 98% rename from cypress/full/datepicker/locales_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/locales_spec.ts index 56d75a8832..b717820356 100644 --- a/cypress/full/datepicker/locales_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/locales_spec.ts @@ -1,7 +1,7 @@ import { DatepickerPo } from '../../support/datepicker.po'; import * as globalLocales from 'ngx-bootstrap/locale'; -describe('Datepicker demo test suite: Locales', () => { +describe('Datepicker demo testing suite: Locales', () => { const datepicker = new DatepickerPo(); const locales = datepicker.exampleDemosArr.locales; diff --git a/cypress/full/datepicker/manual_trigger_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/manual_trigger_spec.ts similarity index 97% rename from cypress/full/datepicker/manual_trigger_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/manual_trigger_spec.ts index ad1735dd07..a34c52ba33 100644 --- a/cypress/full/datepicker/manual_trigger_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/manual_trigger_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Manual triggering', () => { +describe('Datepicker demo testing suite: Manual triggering', () => { const datepicker = new DatepickerPo(); const manualTrigger = datepicker.exampleDemosArr.manualTrigger; diff --git a/cypress/full/datepicker/max_date_ranges_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/max_date_ranges_spec.ts similarity index 94% rename from cypress/full/datepicker/max_date_ranges_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/max_date_ranges_spec.ts index 21b458ed48..a0175f697b 100644 --- a/cypress/full/datepicker/max_date_ranges_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/max_date_ranges_spec.ts @@ -1,6 +1,6 @@ import {DatepickerPo} from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Max-Date-Range', () => { +describe('Datepicker demo testing suite: Max-Date-Range', () => { const datepicker = new DatepickerPo(); const maxDateRange = datepicker.exampleDemosArr.maxDateRange; diff --git a/cypress/full/datepicker/min_max_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/min_max_spec.ts similarity index 98% rename from cypress/full/datepicker/min_max_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/min_max_spec.ts index 6a333c29cf..55eb239321 100644 --- a/cypress/full/datepicker/min_max_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/min_max_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Min-max', () => { +describe('Datepicker demo testing suite: Min-max', () => { const datepicker = new DatepickerPo(); const minMax = datepicker.exampleDemosArr.minMax; diff --git a/cypress/full/datepicker/min_mode_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/min_mode_spec.ts similarity index 97% rename from cypress/full/datepicker/min_mode_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/min_mode_spec.ts index cedabeba7e..ade35786f1 100644 --- a/cypress/full/datepicker/min_mode_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/min_mode_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Min-mode', () => { +describe('Datepicker demo testing suite: Min-mode', () => { const datepicker = new DatepickerPo(); const minMode = datepicker.exampleDemosArr.minMode; diff --git a/cypress/full/datepicker/outside_click_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/outside_click_spec.ts similarity index 96% rename from cypress/full/datepicker/outside_click_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/outside_click_spec.ts index 31391de91b..c5991d936c 100644 --- a/cypress/full/datepicker/outside_click_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/outside_click_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Outside click', () => { +describe('Datepicker demo testing suite: Outside click', () => { const datepicker = new DatepickerPo(); const outsideClick = datepicker.exampleDemosArr.outsideClick; diff --git a/cypress/full/datepicker/placement_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/placement_spec.ts similarity index 97% rename from cypress/full/datepicker/placement_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/placement_spec.ts index 8bb08fd959..4070b10996 100644 --- a/cypress/full/datepicker/placement_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/placement_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Placement', () => { +describe('Datepicker demo testing suite: Placement', () => { const datepicker = new DatepickerPo(); const placement = datepicker.exampleDemosArr.placement; diff --git a/cypress/full/datepicker/quick_select_ranges_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/quick_select_ranges_spec.ts similarity index 96% rename from cypress/full/datepicker/quick_select_ranges_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/quick_select_ranges_spec.ts index 8c35bca4e8..dbc97a9621 100644 --- a/cypress/full/datepicker/quick_select_ranges_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/quick_select_ranges_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Quick-select-ranges', () => { +describe('Datepicker demo testing suite: Quick-select-ranges', () => { const datepicker = new DatepickerPo(); const quickSelectRange = datepicker.exampleDemosArr.quickSelectRange; diff --git a/cypress/full/datepicker/reactive_forms_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/reactive_forms_spec.ts similarity index 97% rename from cypress/full/datepicker/reactive_forms_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/reactive_forms_spec.ts index 8241a3456c..dacb028e41 100644 --- a/cypress/full/datepicker/reactive_forms_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/reactive_forms_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Reactive forms', () => { +describe('Datepicker demo testing suite: Reactive forms', () => { const datepicker = new DatepickerPo(); const reactiveForms = datepicker.exampleDemosArr.reactiveForms; diff --git a/cypress/full/datepicker/select_dates_from_other_month_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/select_dates_from_other_month_spec.ts similarity index 96% rename from cypress/full/datepicker/select_dates_from_other_month_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/select_dates_from_other_month_spec.ts index 80f253f4a9..d452015490 100644 --- a/cypress/full/datepicker/select_dates_from_other_month_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/select_dates_from_other_month_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Select dates from other month', () => { +describe('Datepicker demo testing suite: Select dates from other month', () => { const datepicker = new DatepickerPo(); const selectDatesFromOtherMonths = datepicker.exampleDemosArr.selectFromOtherMonth; diff --git a/cypress/full/datepicker/select_week_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/select_week_spec.ts similarity index 99% rename from cypress/full/datepicker/select_week_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/select_week_spec.ts index fab0cbcb19..20839e8b68 100644 --- a/cypress/full/datepicker/select_week_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/select_week_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Select week', () => { +describe('Datepicker demo testing suite: Select week', () => { const datepicker = new DatepickerPo(); const selectWeek = datepicker.exampleDemosArr.selectWeek; diff --git a/cypress/full/datepicker/themes_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/themes_spec.ts similarity index 97% rename from cypress/full/datepicker/themes_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/themes_spec.ts index 3805dc3a57..aa3e51af43 100644 --- a/cypress/full/datepicker/themes_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/themes_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Themes', () => { +describe('Datepicker demo testing suite: Themes', () => { const datepicker = new DatepickerPo(); const themes = datepicker.exampleDemosArr.themes; diff --git a/cypress/full/datepicker/trigger_by_isOpen_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/trigger_by_isOpen_spec.ts similarity index 96% rename from cypress/full/datepicker/trigger_by_isOpen_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/trigger_by_isOpen_spec.ts index f0d447a284..842c0ff9e8 100644 --- a/cypress/full/datepicker/trigger_by_isOpen_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/trigger_by_isOpen_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Trigger by isOpen property', () => { +describe('Datepicker demo testing suite: Trigger by isOpen property', () => { const datepicker = new DatepickerPo(); const triggerByIsOpen = datepicker.exampleDemosArr.triggerByIsOpen; diff --git a/cypress/full/datepicker/value_change_event_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/value_change_event_spec.ts similarity index 97% rename from cypress/full/datepicker/value_change_event_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/value_change_event_spec.ts index 9b3ed4443b..a877943115 100644 --- a/cypress/full/datepicker/value_change_event_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/value_change_event_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Value change event', () => { +describe('Datepicker demo testing suite: Value change event', () => { const datepicker = new DatepickerPo(); const valueChangeEvent = datepicker.exampleDemosArr.valueChangeEvent; diff --git a/cypress/full/datepicker/visibility_events_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/visibility_events_spec.ts similarity index 96% rename from cypress/full/datepicker/visibility_events_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/datepicker/visibility_events_spec.ts index 4dc37244e7..823329b320 100644 --- a/cypress/full/datepicker/visibility_events_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/datepicker/visibility_events_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../../support/datepicker.po'; -describe('Datepicker demo test suite: Visibility Events', () => { +describe('Datepicker demo testing suite: Visibility Events', () => { const datepicker = new DatepickerPo(); const visibilityEvents = datepicker.exampleDemosArr.visibilityEvents; diff --git a/cypress/full/dropdowns_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/dropdowns_page_spec.ts similarity index 99% rename from cypress/full/dropdowns_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/dropdowns_page_spec.ts index 7d30bad1c3..34aa7ad47e 100644 --- a/cypress/full/dropdowns_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/dropdowns_page_spec.ts @@ -1,6 +1,6 @@ import { DropdownsPo } from '../support/dropdowns.po'; -describe('Dropdowns demo page test suite', () => { +describe('Dropdowns demo page testing suite', () => { const dropdowns = new DropdownsPo(); beforeEach(() => dropdowns.navigateTo()); diff --git a/cypress/full/modals_directive_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/modals_directive_page_spec.ts similarity index 99% rename from cypress/full/modals_directive_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/modals_directive_page_spec.ts index 8bc507bbf0..870bf4b56d 100644 --- a/cypress/full/modals_directive_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/modals_directive_page_spec.ts @@ -1,6 +1,6 @@ import { ModalsPo } from '../support/modals.po'; -describe('Modals demo page test suite: Directive examples', () => { +describe('Modals demo page testing suite: Directive examples', () => { const modals = new ModalsPo(); beforeEach(() => modals.navigateTo()); diff --git a/cypress/full/modals_service_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/modals_service_page_spec.ts similarity index 99% rename from cypress/full/modals_service_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/modals_service_page_spec.ts index d482ce2ed2..bcd73b89f7 100644 --- a/cypress/full/modals_service_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/modals_service_page_spec.ts @@ -1,7 +1,7 @@ import { ModalsPo } from '../support/modals.po'; import { TooltipPo } from '../support/tooltip.po'; -describe('Modals demo page test suite: Service examples', () => { +describe('Modals demo page testing suite: Service examples', () => { const modals = new ModalsPo(); beforeEach(() => modals.navigateTo()); @@ -239,7 +239,7 @@ describe('Modals demo page test suite: Service examples', () => { }); describe('Custom css class', () => { - beforeEach(() => modals.scrollToMenu('Сustom css class')); + beforeEach(() => modals.scrollToMenu('Custom css class')); const customCSSDemo = modals.exampleDemosArr.serviceCustomCSS; const btnText = 'Open modal with custom css class'; diff --git a/cypress/full/pagination_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/pagination_page_spec.ts similarity index 99% rename from cypress/full/pagination_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/pagination_page_spec.ts index 2d973d66c6..3941b691ca 100644 --- a/cypress/full/pagination_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/pagination_page_spec.ts @@ -1,6 +1,6 @@ import { PaginationPo } from '../support/pagination.po'; -describe('Pagination demo page test suite', () => { +describe('Pagination demo page testing suite', () => { const pagination = new PaginationPo(); beforeEach(() => pagination.navigateTo()); diff --git a/cypress/full/popover_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/popover_page_spec.ts similarity index 99% rename from cypress/full/popover_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/popover_page_spec.ts index 8eddf302ee..3ee61ae715 100644 --- a/cypress/full/popover_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/popover_page_spec.ts @@ -1,6 +1,6 @@ import { PopoverPo } from '../support/popover.po'; -describe('Popover demo page test suite', () => { +describe('Popover demo page testing suite', () => { const popover = new PopoverPo(); diff --git a/cypress/full/progressbar_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/progressbar_page_spec.ts similarity index 98% rename from cypress/full/progressbar_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/progressbar_page_spec.ts index 6cdbe29ef9..7d24b93c96 100644 --- a/cypress/full/progressbar_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/progressbar_page_spec.ts @@ -26,7 +26,7 @@ export function checkDynamicProgressbar() { } // TODO: Tests are broken with Angular latest on Travis, need to investigate, excluded for now -xdescribe('Progressbar demo page test suite', () => { +xdescribe('Progressbar demo page testing suite', () => { const progressbar = new ProgressbarPo(); beforeEach(() => progressbar.navigateTo()); diff --git a/cypress/full/rating_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/rating_page_spec.ts similarity index 99% rename from cypress/full/rating_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/rating_page_spec.ts index 46ca1583de..a440fe7da9 100644 --- a/cypress/full/rating_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/rating_page_spec.ts @@ -1,6 +1,6 @@ import { RatingPo } from '../support/rating.po'; -describe('Rating demo page test suite', () => { +describe('Rating demo page testing suite', () => { const rating = new RatingPo(); beforeEach(() => rating.navigateTo()); diff --git a/cypress/full/sortable_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/sortable_page_spec.ts similarity index 99% rename from cypress/full/sortable_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/sortable_page_spec.ts index 3cf91be7eb..53a4895734 100644 --- a/cypress/full/sortable_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/sortable_page_spec.ts @@ -1,6 +1,6 @@ import { SortablePo } from '../support/sortable.po'; -describe('Sortable demo page test suite', () => { +describe('Sortable demo page testing suite', () => { const sortable = new SortablePo(); beforeEach(() => sortable.navigateTo()); diff --git a/cypress/full/tabs_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/tabs_page_spec.ts similarity index 100% rename from cypress/full/tabs_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/tabs_page_spec.ts diff --git a/cypress/full/timepicker/arrow_keys_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/arrow_keys_spec.ts similarity index 97% rename from cypress/full/timepicker/arrow_keys_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/timepicker/arrow_keys_spec.ts index a3469ccb92..b0708290a9 100644 --- a/cypress/full/timepicker/arrow_keys_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/arrow_keys_spec.ts @@ -1,6 +1,6 @@ import { TimepickerPo } from '../../support/timepicker.po'; -describe('Timepicker demo page test suite: Arrow Keys', () => { +describe('Timepicker demo page testing suite: Arrow Keys', () => { const timepicker = new TimepickerPo(); const arrowKeys = timepicker.exampleDemosArr.arrowKeys; const btnEnableDisable = 'Enable / Disable keyboard arrow keys'; diff --git a/cypress/full/timepicker/configuring_defaults_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/configuring_defaults_spec.ts similarity index 97% rename from cypress/full/timepicker/configuring_defaults_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/timepicker/configuring_defaults_spec.ts index 302fceff5b..e370fab557 100644 --- a/cypress/full/timepicker/configuring_defaults_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/configuring_defaults_spec.ts @@ -1,6 +1,6 @@ import { TimepickerPo } from '../../support/timepicker.po'; -describe('Timepicker demo page test suite: Configuring defaults', () => { +describe('Timepicker demo page testing suite: Configuring defaults', () => { const timepicker = new TimepickerPo(); const configDefaults = timepicker.exampleDemosArr.configDefaults; diff --git a/cypress/full/timepicker/custom_meridian_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/custom_meridian_spec.ts similarity index 96% rename from cypress/full/timepicker/custom_meridian_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/timepicker/custom_meridian_spec.ts index a6e786d8bf..6bcac1c6c3 100644 --- a/cypress/full/timepicker/custom_meridian_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/custom_meridian_spec.ts @@ -1,6 +1,6 @@ import { TimepickerPo } from '../../support/timepicker.po'; -describe('Timepicker demo page test suite: Custom meridian', () => { +describe('Timepicker demo page testing suite: Custom meridian', () => { const timepicker = new TimepickerPo(); const customMeridian = timepicker.exampleDemosArr.customMeridian; diff --git a/cypress/full/timepicker/custom_steps_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/custom_steps_spec.ts similarity index 98% rename from cypress/full/timepicker/custom_steps_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/timepicker/custom_steps_spec.ts index be8356ea73..48cb02b75c 100644 --- a/cypress/full/timepicker/custom_steps_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/custom_steps_spec.ts @@ -1,6 +1,6 @@ import { TimepickerPo } from '../../support/timepicker.po'; -describe('Timepicker demo page test suite: Custom steps', () => { +describe('Timepicker demo page testing suite: Custom steps', () => { const timepicker = new TimepickerPo(); const customSteps = timepicker.exampleDemosArr.customSteps; diff --git a/cypress/full/timepicker/custom_validation_events_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/custom_validation_events_spec.ts similarity index 96% rename from cypress/full/timepicker/custom_validation_events_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/timepicker/custom_validation_events_spec.ts index 115d8c0252..1216b11b41 100644 --- a/cypress/full/timepicker/custom_validation_events_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/custom_validation_events_spec.ts @@ -1,6 +1,6 @@ import { TimepickerPo } from '../../support/timepicker.po'; -describe('Timepicker demo page test suite: Custom validation with isValid event', () => { +describe('Timepicker demo page testing suite: Custom validation with isValid event', () => { const timepicker = new TimepickerPo(); const customEvent = timepicker.exampleDemosArr.isValidEvent; diff --git a/cypress/full/timepicker/custom_validation_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/custom_validation_spec.ts similarity index 96% rename from cypress/full/timepicker/custom_validation_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/timepicker/custom_validation_spec.ts index af88270d37..e60ae586b3 100644 --- a/cypress/full/timepicker/custom_validation_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/custom_validation_spec.ts @@ -1,6 +1,6 @@ import { TimepickerPo } from '../../support/timepicker.po'; -describe('Timepicker demo page test suite: Custom validation', () => { +describe('Timepicker demo page testing suite: Custom validation', () => { const timepicker = new TimepickerPo(); const customValidation = timepicker.exampleDemosArr.customValidation; diff --git a/cypress/full/timepicker/disabled_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/disabled_spec.ts similarity index 98% rename from cypress/full/timepicker/disabled_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/timepicker/disabled_spec.ts index c99dbe6a5f..343544f2e1 100644 --- a/cypress/full/timepicker/disabled_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/disabled_spec.ts @@ -1,6 +1,6 @@ import { TimepickerPo } from '../../support/timepicker.po'; -describe('Timepicker demo page test suite: Disabled', () => { +describe('Timepicker demo page testing suite: Disabled', () => { const timepicker = new TimepickerPo(); const disabled = timepicker.exampleDemosArr.disabled; diff --git a/cypress/full/timepicker/dynamic_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/dynamic_spec.ts similarity index 97% rename from cypress/full/timepicker/dynamic_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/timepicker/dynamic_spec.ts index 889782b32b..d4f6fb78f1 100644 --- a/cypress/full/timepicker/dynamic_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/dynamic_spec.ts @@ -1,6 +1,6 @@ import { TimepickerPo } from '../../support/timepicker.po'; -describe('Timepicker demo page test suite: Dynamic', () => { +describe('Timepicker demo page testing suite: Dynamic', () => { const timepicker = new TimepickerPo(); const dynamic = timepicker.exampleDemosArr.dynamic; const btnSet1400 = 'Set to 14:00'; diff --git a/cypress/full/timepicker/form_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/form_spec.ts similarity index 97% rename from cypress/full/timepicker/form_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/timepicker/form_spec.ts index b30b699d2a..596053c247 100644 --- a/cypress/full/timepicker/form_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/form_spec.ts @@ -1,6 +1,6 @@ import { TimepickerPo } from '../../support/timepicker.po'; -describe('Timepicker demo page test suite: Form', () => { +describe('Timepicker demo page testing suite: Form', () => { const timepicker = new TimepickerPo(); const form = timepicker.exampleDemosArr.form; diff --git a/cypress/full/timepicker/meridian_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/meridian_spec.ts similarity index 98% rename from cypress/full/timepicker/meridian_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/timepicker/meridian_spec.ts index 3f4d4e5cd8..4e38e8ba3c 100644 --- a/cypress/full/timepicker/meridian_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/meridian_spec.ts @@ -1,6 +1,6 @@ import { TimepickerPo } from '../../support/timepicker.po'; -describe('Timepicker demo page test suite: Meridian', () => { +describe('Timepicker demo page testing suite: Meridian', () => { const timepicker = new TimepickerPo(); const meridian = timepicker.exampleDemosArr.meridian; diff --git a/cypress/full/timepicker/min_max_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/min_max_spec.ts similarity index 99% rename from cypress/full/timepicker/min_max_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/timepicker/min_max_spec.ts index 432284a2e1..acf786264b 100644 --- a/cypress/full/timepicker/min_max_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/min_max_spec.ts @@ -1,6 +1,6 @@ import { TimepickerPo } from '../../support/timepicker.po'; -describe('Timepicker demo page test suite: Min - Max', () => { +describe('Timepicker demo page testing suite: Min - Max', () => { const timepicker = new TimepickerPo(); const minMax = timepicker.exampleDemosArr.minMax; const maxHours = 5; diff --git a/cypress/full/timepicker/mouse_wheel_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/mouse_wheel_spec.ts similarity index 98% rename from cypress/full/timepicker/mouse_wheel_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/timepicker/mouse_wheel_spec.ts index fcd30c88e1..8d8e6cbb08 100644 --- a/cypress/full/timepicker/mouse_wheel_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/mouse_wheel_spec.ts @@ -1,6 +1,6 @@ import { TimepickerPo } from '../../support/timepicker.po'; -describe('Timepicker demo page test suite: Mouse wheel', () => { +describe('Timepicker demo page testing suite: Mouse wheel', () => { const timepicker = new TimepickerPo(); const mouseWheel = timepicker.exampleDemosArr.mousewheel; diff --git a/cypress/full/timepicker/readonly_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/readonly_spec.ts similarity index 97% rename from cypress/full/timepicker/readonly_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/timepicker/readonly_spec.ts index 58eb84a909..d6f8c2dd68 100644 --- a/cypress/full/timepicker/readonly_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/readonly_spec.ts @@ -1,6 +1,6 @@ import { TimepickerPo } from '../../support/timepicker.po'; -describe('Timepicker demo page test suite: Readonly', () => { +describe('Timepicker demo page testing suite: Readonly', () => { const timepicker = new TimepickerPo(); const readonly = timepicker.exampleDemosArr.readonly; diff --git a/cypress/full/timepicker/spinners_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/spinners_spec.ts similarity index 97% rename from cypress/full/timepicker/spinners_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/timepicker/spinners_spec.ts index 0b9ad326ff..402d8487ed 100644 --- a/cypress/full/timepicker/spinners_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/spinners_spec.ts @@ -1,6 +1,6 @@ import { TimepickerPo } from '../../support/timepicker.po'; -describe('Timepicker demo page test suite: Spinners', () => { +describe('Timepicker demo page testing suite: Spinners', () => { const timepicker = new TimepickerPo(); const spinners = timepicker.exampleDemosArr.spinners; const newDate = new Date(); diff --git a/cypress/full/timepicker/toggle_min_sec_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/toggle_min_sec_spec.ts similarity index 97% rename from cypress/full/timepicker/toggle_min_sec_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/timepicker/toggle_min_sec_spec.ts index d0279fdadb..947f7e5e04 100644 --- a/cypress/full/timepicker/toggle_min_sec_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/timepicker/toggle_min_sec_spec.ts @@ -1,6 +1,6 @@ import { TimepickerPo } from '../../support/timepicker.po'; -describe('Timepicker demo page test suite: Toggle minutes/seconds', () => { +describe('Timepicker demo page testing suite: Toggle minutes/seconds', () => { const timepicker = new TimepickerPo(); const toggleMinSec = timepicker.exampleDemosArr.toggleMinSec; diff --git a/cypress/full/tooltip_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/tooltip_page_spec.ts similarity index 99% rename from cypress/full/tooltip_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/tooltip_page_spec.ts index 949fe97343..9906b2474d 100644 --- a/cypress/full/tooltip_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/tooltip_page_spec.ts @@ -1,6 +1,6 @@ import { TooltipPo } from '../support/tooltip.po'; -describe('Tooltip demo page test suite', () => { +describe('Tooltip demo page testing suite', () => { const tooltip = new TooltipPo(); beforeEach(() => tooltip.navigateTo()); diff --git a/cypress/full/typeahead_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/full/typeahead_page_spec.ts similarity index 99% rename from cypress/full/typeahead_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/full/typeahead_page_spec.ts index b9a668fefb..962c11bb3d 100644 --- a/cypress/full/typeahead_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/full/typeahead_page_spec.ts @@ -1,6 +1,6 @@ import { TypeaheadPo } from '../support/typeahead.po'; -describe('Typeahead demo page test suite', () => { +describe('Typeahead demo page testing suite', () => { const typeahead = new TypeaheadPo(); beforeEach(() => typeahead.navigateTo()); diff --git a/cypress/integration/accordion_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/integration/accordion_page_spec.ts similarity index 98% rename from cypress/integration/accordion_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/integration/accordion_page_spec.ts index 9ae3e6bb63..7e84a50990 100644 --- a/cypress/integration/accordion_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/integration/accordion_page_spec.ts @@ -1,6 +1,6 @@ import { AccordionPo } from '../support/accordion.po'; -describe('Accordion page test suite', () => { +describe('Accordion page testing suite', () => { const accordion = new AccordionPo(); beforeEach(() => accordion.navigateTo()); diff --git a/cypress/integration/alerts_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/integration/alerts_page_spec.ts similarity index 91% rename from cypress/integration/alerts_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/integration/alerts_page_spec.ts index 38fa953213..406e61573e 100644 --- a/cypress/integration/alerts_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/integration/alerts_page_spec.ts @@ -1,6 +1,6 @@ import { AlertsPo } from '../support/alerts.po'; -describe('Alerts page test suite', () => { +describe('Alerts page testing suite', () => { const alerts = new AlertsPo(); beforeEach(() => alerts.navigateTo()); diff --git a/apps/ngx-bootstrap-docs-e2e/src/integration/app.spec.ts b/apps/ngx-bootstrap-docs-e2e/src/integration/app.spec.ts new file mode 100644 index 0000000000..df5565836d --- /dev/null +++ b/apps/ngx-bootstrap-docs-e2e/src/integration/app.spec.ts @@ -0,0 +1 @@ +// no idea where it's required diff --git a/cypress/integration/buttons_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/integration/buttons_page_spec.ts similarity index 90% rename from cypress/integration/buttons_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/integration/buttons_page_spec.ts index 0843d9ac43..133408562a 100644 --- a/cypress/integration/buttons_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/integration/buttons_page_spec.ts @@ -1,6 +1,6 @@ import { ButtonsPo } from '../support/buttons.po'; -describe('Buttons page test suite', () => { +describe('Buttons page testing suite', () => { const buttons = new ButtonsPo(); beforeEach(() => buttons.navigateTo()); diff --git a/cypress/integration/carousel_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/integration/carousel_page_spec.ts similarity index 96% rename from cypress/integration/carousel_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/integration/carousel_page_spec.ts index 5df27a6d93..74f83209ba 100644 --- a/cypress/integration/carousel_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/integration/carousel_page_spec.ts @@ -1,6 +1,6 @@ import { CarouselPo } from '../support/carousel.po'; -describe('Carousel page test suite', () => { +describe('Carousel page testing suite', () => { const carousel = new CarouselPo(); beforeEach(() => { diff --git a/cypress/integration/collapse_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/integration/collapse_page_spec.ts similarity index 90% rename from cypress/integration/collapse_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/integration/collapse_page_spec.ts index e647ee76c7..c6cdb41144 100644 --- a/cypress/integration/collapse_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/integration/collapse_page_spec.ts @@ -1,6 +1,6 @@ import { CollapsePo } from '../support/collapse.po'; -describe('Collapse demo page test suite', () => { +describe('Collapse demo page testing suite', () => { const collapse = new CollapsePo(); beforeEach(() => collapse.navigateTo()); diff --git a/cypress/integration/datepicker_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/integration/datepicker_page_spec.ts similarity index 99% rename from cypress/integration/datepicker_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/integration/datepicker_page_spec.ts index 2bf453e213..14f3863c4c 100644 --- a/cypress/integration/datepicker_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/integration/datepicker_page_spec.ts @@ -1,6 +1,6 @@ import { DatepickerPo } from '../support/datepicker.po'; -describe('Datepicker demo page test suite', () => { +describe('Datepicker demo page testing suite', () => { const datepicker = new DatepickerPo(); const currentMonthNum: number = new Date().getMonth(); const prevMonthStr: string = datepicker.monthNames[currentMonthNum === 0 ? 11 : currentMonthNum - 1]; diff --git a/cypress/integration/dropdowns_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/integration/dropdowns_page_spec.ts similarity index 94% rename from cypress/integration/dropdowns_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/integration/dropdowns_page_spec.ts index 9eebca1cbf..4c6d2cf785 100644 --- a/cypress/integration/dropdowns_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/integration/dropdowns_page_spec.ts @@ -1,6 +1,6 @@ import { DropdownsPo } from '../support/dropdowns.po'; -describe('Dropdowns demo page test suite', () => { +describe('Dropdowns demo page testing suite', () => { const dropdowns = new DropdownsPo(); beforeEach(() => { diff --git a/cypress/integration/landing_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/integration/landing_page_spec.ts similarity index 98% rename from cypress/integration/landing_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/integration/landing_page_spec.ts index f4c4475e5d..b57ab80726 100644 --- a/cypress/integration/landing_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/integration/landing_page_spec.ts @@ -1,6 +1,6 @@ import { LandingPo } from '../support/landing.po'; -describe('Landing Page test suite', () => { +describe('Landing Page testing suite', () => { const landing = new LandingPo(); beforeEach(() => landing.navigateTo()); diff --git a/cypress/integration/modals_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/integration/modals_page_spec.ts similarity index 97% rename from cypress/integration/modals_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/integration/modals_page_spec.ts index 635356ed1b..abd047ffbc 100644 --- a/cypress/integration/modals_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/integration/modals_page_spec.ts @@ -1,6 +1,6 @@ import { ModalsPo } from '../support/modals.po'; -describe('Modals demo page test suite', () => { +describe('Modals demo page testing suite', () => { const modals = new ModalsPo(); beforeEach(() => modals.navigateTo()); diff --git a/cypress/integration/pagination_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/integration/pagination_page_spec.ts similarity index 95% rename from cypress/integration/pagination_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/integration/pagination_page_spec.ts index bbea6d21b8..495c1b0b6b 100644 --- a/cypress/integration/pagination_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/integration/pagination_page_spec.ts @@ -1,6 +1,6 @@ import { PaginationPo } from '../support/pagination.po'; -describe('Pagination demo page test suite', () => { +describe('Pagination demo page testing suite', () => { const pagination = new PaginationPo(); beforeEach(() => pagination.navigateTo()); diff --git a/cypress/integration/popover_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/integration/popover_page_spec.ts similarity index 92% rename from cypress/integration/popover_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/integration/popover_page_spec.ts index 4e7b9b0b2e..477c2160b5 100644 --- a/cypress/integration/popover_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/integration/popover_page_spec.ts @@ -1,6 +1,6 @@ import { PopoverPo } from '../support/popover.po'; -describe('Popover demo page test suite', () => { +describe('Popover demo page testing suite', () => { const popover = new PopoverPo(); diff --git a/cypress/integration/progressbar_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/integration/progressbar_page_spec.ts similarity index 95% rename from cypress/integration/progressbar_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/integration/progressbar_page_spec.ts index 292a3d1fe8..0ce323e2db 100644 --- a/cypress/integration/progressbar_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/integration/progressbar_page_spec.ts @@ -1,6 +1,6 @@ import { ProgressbarPo } from '../support/progressbar.po'; -describe('Progressbar demo page test suite', () => { +describe('Progressbar demo page testing suite', () => { const progressbar = new ProgressbarPo(); beforeEach(() => progressbar.navigateTo()); diff --git a/cypress/integration/rating_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/integration/rating_page_spec.ts similarity index 92% rename from cypress/integration/rating_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/integration/rating_page_spec.ts index 083ba00b78..62185def89 100644 --- a/cypress/integration/rating_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/integration/rating_page_spec.ts @@ -1,6 +1,6 @@ import { RatingPo } from '../support/rating.po'; -describe('Rating demo page test suite', () => { +describe('Rating demo page testing suite', () => { const rating = new RatingPo(); beforeEach(() => rating.navigateTo()); diff --git a/cypress/integration/sortable_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/integration/sortable_page_spec.ts similarity index 97% rename from cypress/integration/sortable_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/integration/sortable_page_spec.ts index 7812977bb6..13eb39dce7 100644 --- a/cypress/integration/sortable_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/integration/sortable_page_spec.ts @@ -1,6 +1,6 @@ import { SortablePo } from '../support/sortable.po'; -describe('Sortable demo page test suite', () => { +describe('Sortable demo page testing suite', () => { const sortable = new SortablePo(); beforeEach(() => sortable.navigateTo()); diff --git a/cypress/integration/tabs_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/integration/tabs_page_spec.ts similarity index 100% rename from cypress/integration/tabs_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/integration/tabs_page_spec.ts diff --git a/cypress/integration/timepicker_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/integration/timepicker_page_spec.ts similarity index 99% rename from cypress/integration/timepicker_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/integration/timepicker_page_spec.ts index e002e5ed87..45ed9881ac 100644 --- a/cypress/integration/timepicker_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/integration/timepicker_page_spec.ts @@ -1,6 +1,6 @@ import { TimepickerPo } from '../support/timepicker.po'; -describe('Timepicker demo page test suite', () => { +describe('Timepicker demo page testing suite', () => { const timepicker = new TimepickerPo(); beforeEach(() => timepicker.navigateTo()); diff --git a/cypress/integration/tooltip_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/integration/tooltip_page_spec.ts similarity index 92% rename from cypress/integration/tooltip_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/integration/tooltip_page_spec.ts index af8dce2e1e..c507ae3a52 100644 --- a/cypress/integration/tooltip_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/integration/tooltip_page_spec.ts @@ -1,6 +1,6 @@ import { TooltipPo } from '../support/tooltip.po'; -describe('Tooltip demo page test suite', () => { +describe('Tooltip demo page testing suite', () => { const tooltip = new TooltipPo(); beforeEach(() => tooltip.navigateTo()); diff --git a/cypress/integration/typeahead_page_spec.ts b/apps/ngx-bootstrap-docs-e2e/src/integration/typeahead_page_spec.ts similarity index 96% rename from cypress/integration/typeahead_page_spec.ts rename to apps/ngx-bootstrap-docs-e2e/src/integration/typeahead_page_spec.ts index f9efd7e97c..a0ecc21f94 100644 --- a/cypress/integration/typeahead_page_spec.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/integration/typeahead_page_spec.ts @@ -1,6 +1,6 @@ import { TypeaheadPo } from '../support/typeahead.po'; -describe('Typeahead demo page test suite', () => { +describe('Typeahead demo page testing suite', () => { const typeahead = new TypeaheadPo(); beforeEach(() => typeahead.navigateTo()); diff --git a/apps/ngx-bootstrap-docs-e2e/src/plugins/index.js b/apps/ngx-bootstrap-docs-e2e/src/plugins/index.js new file mode 100644 index 0000000000..b7044251f6 --- /dev/null +++ b/apps/ngx-bootstrap-docs-e2e/src/plugins/index.js @@ -0,0 +1,26 @@ +// *********************************************************** +// This example plugins/index.js can be used to load plugins +// +// You can change the location of this file or turn off loading +// the plugins file with the 'pluginsFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/plugins-guide +// *********************************************************** + +// This function is called when a project is opened or re-opened (e.g. due to +// the project's config changing) + +const { preprocessTypescript } = require('@nrwl/cypress/plugins/preprocessor'); + +module.exports = (on, config) => { + // `on` is used to hook into various events Cypress emits + // `config` is the resolved Cypress config + + // Preprocess Typescript file using Nx helper + on('file:preprocessor', preprocessTypescript(config)); + + config.env.bsVersion = process.env.bsVersion ? process.env.bsVersion : false; +}; + +require('@applitools/eyes.cypress')(module); diff --git a/cypress/support/accordion.po.ts b/apps/ngx-bootstrap-docs-e2e/src/support/accordion.po.ts similarity index 100% rename from cypress/support/accordion.po.ts rename to apps/ngx-bootstrap-docs-e2e/src/support/accordion.po.ts diff --git a/cypress/support/alerts.po.ts b/apps/ngx-bootstrap-docs-e2e/src/support/alerts.po.ts similarity index 100% rename from cypress/support/alerts.po.ts rename to apps/ngx-bootstrap-docs-e2e/src/support/alerts.po.ts diff --git a/apps/ngx-bootstrap-docs-e2e/src/support/app.po.ts b/apps/ngx-bootstrap-docs-e2e/src/support/app.po.ts new file mode 100644 index 0000000000..df5565836d --- /dev/null +++ b/apps/ngx-bootstrap-docs-e2e/src/support/app.po.ts @@ -0,0 +1 @@ +// no idea where it's required diff --git a/cypress/support/base.component.ts b/apps/ngx-bootstrap-docs-e2e/src/support/base.component.ts similarity index 100% rename from cypress/support/base.component.ts rename to apps/ngx-bootstrap-docs-e2e/src/support/base.component.ts diff --git a/cypress/support/buttons.po.ts b/apps/ngx-bootstrap-docs-e2e/src/support/buttons.po.ts similarity index 100% rename from cypress/support/buttons.po.ts rename to apps/ngx-bootstrap-docs-e2e/src/support/buttons.po.ts diff --git a/cypress/support/carousel.po.ts b/apps/ngx-bootstrap-docs-e2e/src/support/carousel.po.ts similarity index 100% rename from cypress/support/carousel.po.ts rename to apps/ngx-bootstrap-docs-e2e/src/support/carousel.po.ts diff --git a/cypress/support/collapse.po.ts b/apps/ngx-bootstrap-docs-e2e/src/support/collapse.po.ts similarity index 100% rename from cypress/support/collapse.po.ts rename to apps/ngx-bootstrap-docs-e2e/src/support/collapse.po.ts diff --git a/cypress/support/datepicker.po.ts b/apps/ngx-bootstrap-docs-e2e/src/support/datepicker.po.ts similarity index 99% rename from cypress/support/datepicker.po.ts rename to apps/ngx-bootstrap-docs-e2e/src/support/datepicker.po.ts index 2235c7425a..a784664dc7 100644 --- a/cypress/support/datepicker.po.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/support/datepicker.po.ts @@ -1,6 +1,5 @@ import { BaseComponent } from './base.component'; import * as globalLocales from 'ngx-bootstrap/locale'; -import { getDate } from '../../src/chronos/utils/date-getters'; export class DatepickerPo extends BaseComponent { pageUrl = '/datepicker'; diff --git a/cypress/support/dropdowns.po.ts b/apps/ngx-bootstrap-docs-e2e/src/support/dropdowns.po.ts similarity index 100% rename from cypress/support/dropdowns.po.ts rename to apps/ngx-bootstrap-docs-e2e/src/support/dropdowns.po.ts diff --git a/apps/ngx-bootstrap-docs-e2e/src/support/index.ts b/apps/ngx-bootstrap-docs-e2e/src/support/index.ts new file mode 100644 index 0000000000..080f217a2c --- /dev/null +++ b/apps/ngx-bootstrap-docs-e2e/src/support/index.ts @@ -0,0 +1,18 @@ +// *********************************************************** +// This example support/index.js is processed and +// loaded automatically before your testing files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +// import './commands'; +// import '@applitools/eyes.cypress/commands' diff --git a/cypress/support/interfaces.ts b/apps/ngx-bootstrap-docs-e2e/src/support/interfaces.ts similarity index 100% rename from cypress/support/interfaces.ts rename to apps/ngx-bootstrap-docs-e2e/src/support/interfaces.ts diff --git a/cypress/support/landing.po.ts b/apps/ngx-bootstrap-docs-e2e/src/support/landing.po.ts similarity index 100% rename from cypress/support/landing.po.ts rename to apps/ngx-bootstrap-docs-e2e/src/support/landing.po.ts diff --git a/cypress/support/modals.po.ts b/apps/ngx-bootstrap-docs-e2e/src/support/modals.po.ts similarity index 97% rename from cypress/support/modals.po.ts rename to apps/ngx-bootstrap-docs-e2e/src/support/modals.po.ts index 21f1fdb70c..ba6d6eb58b 100644 --- a/cypress/support/modals.po.ts +++ b/apps/ngx-bootstrap-docs-e2e/src/support/modals.po.ts @@ -1,4 +1,5 @@ import { BaseComponent } from './base.component'; +import PositionType = Cypress.PositionType; export class ModalsPo extends BaseComponent { pageUrl = '/modals'; @@ -79,14 +80,14 @@ export class ModalsPo extends BaseComponent { cy.get(`${baseSelector} .modal`).click(); } - clickOnModalCorner(position: string) { + clickOnModalCorner(position: PositionType) { cy.get(this.modalContainer).click(position); } startClickOnModalReleaseOnBackdrop(baseSelector: string) { cy.get(`${baseSelector} .modal-content`) .trigger('mousedown') - .wait(100) + // .wait(100) .get(this.modalContainer) .trigger('mouseup'); } diff --git a/cypress/support/pagination.po.ts b/apps/ngx-bootstrap-docs-e2e/src/support/pagination.po.ts similarity index 100% rename from cypress/support/pagination.po.ts rename to apps/ngx-bootstrap-docs-e2e/src/support/pagination.po.ts diff --git a/cypress/support/popover.po.ts b/apps/ngx-bootstrap-docs-e2e/src/support/popover.po.ts similarity index 100% rename from cypress/support/popover.po.ts rename to apps/ngx-bootstrap-docs-e2e/src/support/popover.po.ts diff --git a/cypress/support/progressbar.po.ts b/apps/ngx-bootstrap-docs-e2e/src/support/progressbar.po.ts similarity index 100% rename from cypress/support/progressbar.po.ts rename to apps/ngx-bootstrap-docs-e2e/src/support/progressbar.po.ts diff --git a/cypress/support/rating.po.ts b/apps/ngx-bootstrap-docs-e2e/src/support/rating.po.ts similarity index 100% rename from cypress/support/rating.po.ts rename to apps/ngx-bootstrap-docs-e2e/src/support/rating.po.ts diff --git a/cypress/support/sortable.po.ts b/apps/ngx-bootstrap-docs-e2e/src/support/sortable.po.ts similarity index 100% rename from cypress/support/sortable.po.ts rename to apps/ngx-bootstrap-docs-e2e/src/support/sortable.po.ts diff --git a/cypress/support/tabs.po.ts b/apps/ngx-bootstrap-docs-e2e/src/support/tabs.po.ts similarity index 100% rename from cypress/support/tabs.po.ts rename to apps/ngx-bootstrap-docs-e2e/src/support/tabs.po.ts diff --git a/cypress/support/timepicker.po.ts b/apps/ngx-bootstrap-docs-e2e/src/support/timepicker.po.ts similarity index 100% rename from cypress/support/timepicker.po.ts rename to apps/ngx-bootstrap-docs-e2e/src/support/timepicker.po.ts diff --git a/cypress/support/tooltip.po.ts b/apps/ngx-bootstrap-docs-e2e/src/support/tooltip.po.ts similarity index 100% rename from cypress/support/tooltip.po.ts rename to apps/ngx-bootstrap-docs-e2e/src/support/tooltip.po.ts diff --git a/cypress/support/typeahead.po.ts b/apps/ngx-bootstrap-docs-e2e/src/support/typeahead.po.ts similarity index 100% rename from cypress/support/typeahead.po.ts rename to apps/ngx-bootstrap-docs-e2e/src/support/typeahead.po.ts diff --git a/apps/ngx-bootstrap-docs-e2e/tsconfig.e2e.json b/apps/ngx-bootstrap-docs-e2e/tsconfig.e2e.json new file mode 100644 index 0000000000..9dc3660a79 --- /dev/null +++ b/apps/ngx-bootstrap-docs-e2e/tsconfig.e2e.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "sourceMap": false, + "outDir": "../../dist/out-tsc", + "allowJs": true, + "types": ["cypress", "node"] + }, + "include": ["src/**/*.ts", "src/**/*.js"] +} diff --git a/apps/ngx-bootstrap-docs-e2e/tsconfig.json b/apps/ngx-bootstrap-docs-e2e/tsconfig.json new file mode 100644 index 0000000000..08841a7f56 --- /dev/null +++ b/apps/ngx-bootstrap-docs-e2e/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.base.json", + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.e2e.json" + } + ] +} diff --git a/apps/ngx-bootstrap-docs/.browserslistrc b/apps/ngx-bootstrap-docs/.browserslistrc new file mode 100644 index 0000000000..427441dc93 --- /dev/null +++ b/apps/ngx-bootstrap-docs/.browserslistrc @@ -0,0 +1,17 @@ +# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. +# For additional information regarding the format and rule options, please see: +# https://github.com/browserslist/browserslist#queries + +# For the full list of supported browsers by the Angular framework, please see: +# https://angular.io/guide/browser-support + +# You can see what browsers were selected by your queries by running: +# npx browserslist + +last 1 Chrome version +last 1 Firefox version +last 2 Edge major versions +last 2 Safari major versions +last 2 iOS major versions +Firefox ESR +not IE 11 # Angular supports IE 11 only as an opt-in. To opt-in, remove the 'not' prefix on this line. diff --git a/apps/ngx-bootstrap-docs/.eslintrc.json b/apps/ngx-bootstrap-docs/.eslintrc.json new file mode 100644 index 0000000000..ffe8b27ad5 --- /dev/null +++ b/apps/ngx-bootstrap-docs/.eslintrc.json @@ -0,0 +1,39 @@ +{ + "extends": ["../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts"], + "extends": [ + "plugin:@nrwl/nx/angular", + "plugin:@angular-eslint/template/process-inline-templates" + ], + "parserOptions": { + "project": ["apps/ngx-bootstrap-docs/tsconfig.*?.json"] + }, + "rules": { + "@angular-eslint/directive-selector": [ + "error", + { + "type": "attribute", + "prefix": "ngx-bootstrap-base", + "style": "camelCase" + } + ], + "@angular-eslint/component-selector": [ + "error", + { + "type": "element", + "prefix": "ngx-bootstrap-base", + "style": "kebab-case" + } + ] + } + }, + { + "files": ["*.html"], + "extends": ["plugin:@nrwl/nx/angular-template"], + "rules": {} + } + ] +} diff --git a/apps/ngx-bootstrap-docs/jest.config.js b/apps/ngx-bootstrap-docs/jest.config.js new file mode 100644 index 0000000000..d2fe5fddaa --- /dev/null +++ b/apps/ngx-bootstrap-docs/jest.config.js @@ -0,0 +1,23 @@ +module.exports = { + displayName: 'ngx-bootstrap-docs', + preset: '../../jest.preset.js', + setupFilesAfterEnv: ['/src/test-setup.ts'], + globals: { + 'ts-jest': { + tsconfig: '/tsconfig.spec.json', + stringifyContentPathRegex: '\\.(html|svg)$', + astTransformers: { + before: [ + 'jest-preset-angular/build/InlineFilesTransformer', + 'jest-preset-angular/build/StripStylesTransformer', + ], + }, + }, + }, + coverageDirectory: '../../coverage/apps/ngx-bootstrap-docs', + snapshotSerializers: [ + 'jest-preset-angular/build/AngularNoNgAttributesSnapshotSerializer.js', + 'jest-preset-angular/build/AngularSnapshotSerializer.js', + 'jest-preset-angular/build/HTMLCommentSerializer.js', + ], +}; diff --git a/demo/src/app/app.component.html b/apps/ngx-bootstrap-docs/src/app/app.component.html similarity index 100% rename from demo/src/app/app.component.html rename to apps/ngx-bootstrap-docs/src/app/app.component.html diff --git a/demo/src/app/app.component.spec.ts b/apps/ngx-bootstrap-docs/src/app/app.component.spec.ts similarity index 52% rename from demo/src/app/app.component.spec.ts rename to apps/ngx-bootstrap-docs/src/app/app.component.spec.ts index 2ddb8e008e..4b42e311d5 100644 --- a/demo/src/app/app.component.spec.ts +++ b/apps/ngx-bootstrap-docs/src/app/app.component.spec.ts @@ -1,20 +1,22 @@ -import { TestBed, async, ComponentFixture } from '@angular/core/testing'; +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { AppComponent } from './app.component'; import { AppModule } from './app.module'; -describe('App: Ng2Bootstrap', () => { +xdescribe('App: Ng2Bootstrap', () => { let fixture: ComponentFixture; /* tslint:disable-next-line: no-any */ let context: any; - beforeEach(() => { + beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ imports: [AppModule] - }); - - fixture = TestBed.createComponent(AppComponent); - context = fixture.componentInstance; - }); + }) + .compileComponents() + .then(() => { + fixture = TestBed.createComponent(AppComponent); + context = fixture.componentInstance; + }); + })); it('should create the app', (() => { expect(context).toBeTruthy(); diff --git a/demo/src/app/app.component.ts b/apps/ngx-bootstrap-docs/src/app/app.component.ts similarity index 100% rename from demo/src/app/app.component.ts rename to apps/ngx-bootstrap-docs/src/app/app.component.ts diff --git a/demo/src/app/app.module.ts b/apps/ngx-bootstrap-docs/src/app/app.module.ts similarity index 86% rename from demo/src/app/app.module.ts rename to apps/ngx-bootstrap-docs/src/app/app.module.ts index 66f96e6451..0c0ec60a60 100644 --- a/demo/src/app/app.module.ts +++ b/apps/ngx-bootstrap-docs/src/app/app.module.ts @@ -1,7 +1,5 @@ import { HttpClientModule } from '@angular/common/http'; import { NgModule } from '@angular/core'; -import { FormsModule } from '@angular/forms'; -import { BrowserModule } from '@angular/platform-browser'; import { RouterModule } from '@angular/router'; import { NgxPageScrollCoreModule } from 'ngx-page-scroll-core'; import { NgxPageScrollModule } from 'ngx-page-scroll'; @@ -11,30 +9,31 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { environment } from '../environments/environment'; import { ngdoc } from '../ng-api-doc'; import { AppComponent } from './app.component'; -import { routes } from './app.routing'; import { DocumentationComponent } from './common/documentation/documentation.component'; import { LandingComponent } from './common/landing/landing.component'; import { TopMenuComponent } from './common/top-menu/top-menu.component'; import { DiscoverComponent } from './common/discover/discover.component'; -import { DocsModule } from './docs'; +import { DocsModule } from './docs/index'; import { NgApiDoc } from './docs/api-docs/api-docs.model'; import { StyleManager } from './theme/style-manager'; import { ThemeStorage } from './theme/theme-storage'; +import { ScullyLibModule } from '@scullyio/ng-lib'; +import { routes } from './app.routing'; @NgModule({ declarations: [AppComponent, DocumentationComponent, TopMenuComponent, LandingComponent, DiscoverComponent], imports: [ BrowserAnimationsModule, DocsModule, - FormsModule, HttpClientModule, RouterModule.forRoot(routes, { useHash: environment.useHash }), NgxPageScrollCoreModule.forRoot({ duration: 11, scrollOffset: 70 }), NgxPageScrollModule, BsDropdownModule.forRoot(), - BrowserModule.withServerTransition({ appId: 'ngx-bootstrap' }) + ScullyLibModule ], providers: [ThemeStorage, StyleManager, { provide: NgApiDoc, useValue: ngdoc }], bootstrap: [AppComponent] }) -export class AppModule {} +export class AppModule { +} diff --git a/demo/src/app/app.routing.ts b/apps/ngx-bootstrap-docs/src/app/app.routing.ts similarity index 52% rename from demo/src/app/app.routing.ts rename to apps/ngx-bootstrap-docs/src/app/app.routing.ts index f1a0796d51..43e41a0c70 100644 --- a/demo/src/app/app.routing.ts +++ b/apps/ngx-bootstrap-docs/src/app/app.routing.ts @@ -1,8 +1,9 @@ +import { Routes } from '@angular/router'; import { LandingComponent } from './common/landing/landing.component'; import { DocumentationComponent } from './common/documentation/documentation.component'; import { DiscoverComponent } from './common/discover/discover.component'; -export const routes = [ +export const routes: Routes = [ { path: '', data: ['Landing page'], @@ -21,115 +22,88 @@ export const routes = [ { path: 'accordion', data: ['Accordion', {moduleName: 'AccordionModule', moduleFolder: 'accordion'}], - // component: AccordionSectionComponent - loadChildren: - './components/+accordion/demo-accordion.module#DemoAccordionModule' + loadChildren: () => import('./components/+accordion/demo-accordion.module').then(m => m.DemoAccordionModule) }, { path: 'alerts', data: ['Alerts', {moduleName: 'AlertModule', moduleFolder: 'alert'}], - // component: AlertsSectionComponent, - loadChildren: './components/+alerts/demo-alert.module#DemoAlertsModule' + loadChildren: () => import('./components/+alerts/demo-alert.module').then(m => m.DemoAlertsModule) }, { path: 'buttons', data: ['Buttons', {moduleName: 'ButtonsModule', moduleFolder: 'buttons'}], - // component: ButtonsSectionComponent - loadChildren: './components/+buttons/demo-buttons.module#DemoButtonsModule' + loadChildren: () => import('./components/+buttons/demo-buttons.module').then(m => m.DemoButtonsModule) }, { path: 'carousel', data: ['Carousel', {moduleName: 'CarouselModule', moduleFolder: 'carousel'}], - // component: CarouselSectionComponent - loadChildren: - './components/+carousel/demo-carousel.module#DemoCarouselModule' + loadChildren: () => import('./components/+carousel/demo-carousel.module').then(m => m.DemoCarouselModule) }, { path: 'collapse', data: ['Collapse', {moduleName: 'CollapseModule', moduleFolder: 'collapse'}], - // component: CollapseSectionComponent - loadChildren: - './components/+collapse/demo-collapse.module#DemoCollapseModule' + loadChildren: () => import('./components/+collapse/demo-collapse.module').then(m => m.DemoCollapseModule) }, { path: 'datepicker', data: ['Datepicker', {moduleName: 'BsDatepickerModule', moduleFolder: 'datepicker'}], - // component: DatepickerSectionComponent - loadChildren: - './components/+datepicker/demo-datepicker.module#DemoDatepickerModule' + loadChildren: () => import('./components/+datepicker/demo-datepicker.module').then(m => m.DemoDatepickerModule) }, { path: 'dropdowns', data: ['Dropdowns', {moduleName: 'BsDropdownModule', moduleFolder: 'dropdown'}], - // component: DropdownSectionComponent - loadChildren: - './components/+dropdown/demo-dropdown.module#DemoDropdownModule' + loadChildren: () => import('./components/+dropdown/demo-dropdown.module').then(m => m.DemoDropdownModule) }, { path: 'modals', data: ['Modals', {moduleName: 'ModalModule', moduleFolder: 'modal'}], - // component: ModalSectionComponent - loadChildren: './components/+modal/demo-modal.module#DemoModalModule' + loadChildren: () => import('./components/+modal/demo-modal.module').then(m => m.DemoModalModule) }, { path: 'pagination', data: ['Pagination', {moduleName: 'PaginationModule', moduleFolder: 'pagination'}], - // component: PaginationSectionComponent - loadChildren: - './components/+pagination/demo-pagination.module#DemoPaginationModule' + loadChildren: () => import('./components/+pagination/demo-pagination.module').then(m => m.DemoPaginationModule) }, { path: 'popover', data: ['Popover', {moduleName: 'PopoverModule', moduleFolder: 'popover'}], - // component: PopoverSectionComponent - loadChildren: './components/+popover/demo-popover.module#DemoPopoverModule' + loadChildren: () => import('./components/+popover/demo-popover.module').then(m => m.DemoPopoverModule) }, { path: 'progressbar', data: ['Progressbar', {moduleName: 'ProgressbarModule', moduleFolder: 'progressbar'}], - // component: ProgressbarSectionComponent - loadChildren: - './components/+progressbar/demo-progressbar.module#DemoProgressbarModule' + loadChildren: () => import('./components/+progressbar/demo-progressbar.module').then(m => m.DemoProgressbarModule) }, { path: 'rating', data: ['Rating', {moduleName: 'RatingModule', moduleFolder: 'rating'}], - // component: RatingSectionComponent, - loadChildren: './components/+rating/demo-rating.module#DemoRatingModule' + loadChildren: () => import('./components/+rating/demo-rating.module').then(m => m.DemoRatingModule) }, { path: 'sortable', data: ['Sortable', {moduleName: 'SortableModule', moduleFolder: 'sortable'}], - // component: SortableSectionComponent, - loadChildren: - './components/+sortable/demo-sortable.module#DemoSortableModule' + loadChildren: () => import('./components/+sortable/demo-sortable.module').then(m => m.DemoSortableModule) }, { path: 'tabs', data: ['Tabs', {moduleName: 'TabsModule', moduleFolder: 'tabs'}], - // component: TabsSectionComponent - loadChildren: './components/+tabs/demo-tabs.module#DemoTabsModule' + loadChildren: () => import('./components/+tabs/demo-tabs.module').then(m => m.DemoTabsModule) }, { path: 'timepicker', data: ['Timepicker', {moduleName: 'TimepickerModule', moduleFolder: 'timepicker'}], - // component: TimepickerSectionComponent - loadChildren: - './components/+timepicker/demo-timepicker.module#DemoTimepickerModule' + loadChildren: () => import('./components/+timepicker/demo-timepicker.module').then(m => m.DemoTimepickerModule) }, { path: 'tooltip', data: ['Tooltip', {moduleName: 'TooltipModule', moduleFolder: 'tooltip'}], - // component: TooltipSectionComponent - loadChildren: './components/+tooltip/demo-tooltip.module#DemoTooltipModule' + loadChildren: () => import('./components/+tooltip/demo-tooltip.module').then(m => m.DemoTooltipModule) }, { path: 'typeahead', data: ['Typeahead', {moduleName: 'TypeaheadModule', moduleFolder: 'typeahead'}], - // component: TypeaheadSectionComponent - loadChildren: - './components/+typeahead/demo-typeahead.module#DemoTypeaheadModule' + loadChildren: () => import('./components/+typeahead/demo-typeahead.module').then(m => m.DemoTypeaheadModule) }, { path: '**', diff --git a/demo/src/app/common/add-nav/add-nav.component.html b/apps/ngx-bootstrap-docs/src/app/common/add-nav/add-nav.component.html similarity index 100% rename from demo/src/app/common/add-nav/add-nav.component.html rename to apps/ngx-bootstrap-docs/src/app/common/add-nav/add-nav.component.html diff --git a/demo/src/app/common/add-nav/add-nav.component.ts b/apps/ngx-bootstrap-docs/src/app/common/add-nav/add-nav.component.ts similarity index 100% rename from demo/src/app/common/add-nav/add-nav.component.ts rename to apps/ngx-bootstrap-docs/src/app/common/add-nav/add-nav.component.ts diff --git a/demo/src/app/common/app-footer/app-footer.component.html b/apps/ngx-bootstrap-docs/src/app/common/app-footer/app-footer.component.html similarity index 100% rename from demo/src/app/common/app-footer/app-footer.component.html rename to apps/ngx-bootstrap-docs/src/app/common/app-footer/app-footer.component.html diff --git a/demo/src/app/common/app-footer/app-footer.component.ts b/apps/ngx-bootstrap-docs/src/app/common/app-footer/app-footer.component.ts similarity index 100% rename from demo/src/app/common/app-footer/app-footer.component.ts rename to apps/ngx-bootstrap-docs/src/app/common/app-footer/app-footer.component.ts diff --git a/demo/src/app/common/discover/discover.component.html b/apps/ngx-bootstrap-docs/src/app/common/discover/discover.component.html similarity index 100% rename from demo/src/app/common/discover/discover.component.html rename to apps/ngx-bootstrap-docs/src/app/common/discover/discover.component.html diff --git a/demo/src/app/common/discover/discover.component.scss b/apps/ngx-bootstrap-docs/src/app/common/discover/discover.component.scss similarity index 100% rename from demo/src/app/common/discover/discover.component.scss rename to apps/ngx-bootstrap-docs/src/app/common/discover/discover.component.scss diff --git a/demo/src/app/common/discover/discover.component.ts b/apps/ngx-bootstrap-docs/src/app/common/discover/discover.component.ts similarity index 100% rename from demo/src/app/common/discover/discover.component.ts rename to apps/ngx-bootstrap-docs/src/app/common/discover/discover.component.ts diff --git a/demo/src/app/common/documentation/documentation.component.html b/apps/ngx-bootstrap-docs/src/app/common/documentation/documentation.component.html similarity index 100% rename from demo/src/app/common/documentation/documentation.component.html rename to apps/ngx-bootstrap-docs/src/app/common/documentation/documentation.component.html diff --git a/demo/src/app/common/documentation/documentation.component.ts b/apps/ngx-bootstrap-docs/src/app/common/documentation/documentation.component.ts similarity index 100% rename from demo/src/app/common/documentation/documentation.component.ts rename to apps/ngx-bootstrap-docs/src/app/common/documentation/documentation.component.ts diff --git a/demo/src/app/common/landing/landing.component.html b/apps/ngx-bootstrap-docs/src/app/common/landing/landing.component.html similarity index 100% rename from demo/src/app/common/landing/landing.component.html rename to apps/ngx-bootstrap-docs/src/app/common/landing/landing.component.html diff --git a/demo/src/app/common/landing/landing.component.ts b/apps/ngx-bootstrap-docs/src/app/common/landing/landing.component.ts similarity index 100% rename from demo/src/app/common/landing/landing.component.ts rename to apps/ngx-bootstrap-docs/src/app/common/landing/landing.component.ts diff --git a/demo/src/app/common/sidebar/search-filter.pipe.ts b/apps/ngx-bootstrap-docs/src/app/common/sidebar/search-filter.pipe.ts similarity index 100% rename from demo/src/app/common/sidebar/search-filter.pipe.ts rename to apps/ngx-bootstrap-docs/src/app/common/sidebar/search-filter.pipe.ts diff --git a/demo/src/app/common/sidebar/sidebar.component.html b/apps/ngx-bootstrap-docs/src/app/common/sidebar/sidebar.component.html similarity index 92% rename from demo/src/app/common/sidebar/sidebar.component.html rename to apps/ngx-bootstrap-docs/src/app/common/sidebar/sidebar.component.html index 46a1bf8fcb..15c6888651 100644 --- a/demo/src/app/common/sidebar/sidebar.component.html +++ b/apps/ngx-bootstrap-docs/src/app/common/sidebar/sidebar.component.html @@ -1,7 +1,7 @@