mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-09-16 18:13:06 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dec8fcfb91 | ||
|
|
2ebe4ccfb0 | ||
|
|
9af4b7a4b6 | ||
|
|
a748541ca0 | ||
|
|
ac3c30480b | ||
|
|
002c5b4bf7 | ||
|
|
2f4dad1636 | ||
|
|
d298d92214 | ||
|
|
b7d687f3d2 | ||
|
|
c2c3bff7bb | ||
|
|
c2f4597309 | ||
|
|
0d670dd333 | ||
|
|
54f20b7b6e | ||
|
|
d85a261720 | ||
|
|
b61912e3eb | ||
|
|
ea58a5d794 | ||
|
|
e11aa6ddf3 | ||
|
|
61e1395bfa | ||
|
|
43622266ce | ||
|
|
38d98200a6 | ||
|
|
e28e924b87 | ||
|
|
3180ca8e9d | ||
|
|
c2add07426 | ||
|
|
2a4f341dbd | ||
|
|
ab67ba3414 | ||
|
|
c4f276e228 | ||
|
|
f7d26d904f | ||
|
|
e85a27e05b | ||
|
|
4acda3b09b | ||
|
|
4feba2f304 | ||
|
|
a4f5cfc964 | ||
|
|
e78c590323 | ||
|
|
71d518539d | ||
|
|
86093adf18 | ||
|
|
59b148ea03 | ||
|
|
82b9b18891 | ||
|
|
5016eff847 | ||
|
|
6ab54be7d0 | ||
|
|
2d68cf9916 | ||
|
|
42a1ddf540 | ||
|
|
8c9f6a0828 | ||
|
|
160b12993f | ||
|
|
f152953cc9 | ||
|
|
e202c693c1 | ||
|
|
1c8af0467e | ||
|
|
1685ee4c8b | ||
|
|
983d505309 | ||
|
|
81a0ee0963 | ||
|
|
b1f9f32e3f | ||
|
|
718df62173 | ||
|
|
022f75efe1 | ||
|
|
56047699a5 | ||
|
|
9196932e06 | ||
|
|
fa5277e1b7 | ||
|
|
472ca5a20e | ||
|
|
e1d56be29c | ||
|
|
9b17f50401 | ||
|
|
9fc7c22e18 | ||
|
|
c6b3f74350 | ||
|
|
07d0b278ed | ||
|
|
0e6ef311ac | ||
|
|
010ea60e9b | ||
|
|
72555b7326 | ||
|
|
5a8088a5ec | ||
|
|
dfc65ae45c | ||
|
|
cef71a2d71 | ||
|
|
124fd66965 | ||
|
|
0335a32a3a | ||
|
|
8ebb67d1cf | ||
|
|
84d32157ad | ||
|
|
816601fcec | ||
|
|
cb5831450e | ||
|
|
b8d228d409 | ||
|
|
970cd7d6e5 | ||
|
|
74437a01c0 | ||
|
|
685ac09387 | ||
|
|
d11fbf4b5e | ||
|
|
afb22c2cd6 | ||
|
|
24cb259f99 | ||
|
|
56092ff2c1 | ||
|
|
33ca9313be | ||
|
|
8b553bb00f | ||
|
|
25ecfcf5e1 | ||
|
|
3356dab434 | ||
|
|
dffa37f182 | ||
|
|
622dcafbc4 | ||
|
|
29d341cc3b | ||
|
|
b6ea1e056e | ||
|
|
40ff0d56af | ||
|
|
6b9d3d2104 | ||
|
|
fb72ccffcc | ||
|
|
84fcc48c1a | ||
|
|
731443ca1c | ||
|
|
91d6b80965 | ||
|
|
ef29bafc75 | ||
|
|
591934db0e | ||
|
|
4964ae94c5 | ||
|
|
2b08e0c1d0 | ||
|
|
1b212e8805 | ||
|
|
d230176e7f | ||
|
|
d49575ba03 | ||
|
|
1c8181fca8 | ||
|
|
4f2b5329c6 | ||
|
|
a347b20f20 | ||
|
|
b400757ad1 | ||
|
|
10afe75e94 | ||
|
|
196b60a7d9 | ||
|
|
82f96d9510 | ||
|
|
3a1020ea7b | ||
|
|
7bdbf6194e | ||
|
|
36b4c34008 | ||
|
|
7206a6322d | ||
|
|
fd29e953d6 | ||
|
|
c8c1ae7838 | ||
|
|
3b5e98b182 | ||
|
|
09c35ea903 | ||
|
|
923feccdb9 | ||
|
|
e7024d1970 | ||
|
|
a72726427b | ||
|
|
054ecf3dcb | ||
|
|
8c51e783e5 | ||
|
|
fd88e1014c | ||
|
|
2ec227c331 | ||
|
|
2235c6b09e | ||
|
|
dfa6db447f | ||
|
|
e7bba32679 | ||
|
|
ea81fcd6ad | ||
|
|
f1fea0a70b | ||
|
|
0564e67ba6 | ||
|
|
3ac2a91ea0 | ||
|
|
88b857a8fe | ||
|
|
51c55674b4 | ||
|
|
93c872b65d | ||
|
|
195194fb15 | ||
|
|
49375181e4 | ||
|
|
aae4efdd92 | ||
|
|
a4e62974ea | ||
|
|
81fed833f5 | ||
|
|
609144551c | ||
|
|
5bc4c02a94 | ||
|
|
04d488b8ea | ||
|
|
dabab63f78 | ||
|
|
b277a29f32 | ||
|
|
bdeb8a8e51 | ||
|
|
9c0313a00c | ||
|
|
2200135b82 | ||
|
|
a141d19629 | ||
|
|
15ed9a5f81 | ||
|
|
f205cbc33c | ||
|
|
e0f0486e66 | ||
|
|
0576aac985 | ||
|
|
de537f0a0d | ||
|
|
2e20c3da45 | ||
|
|
ac7e21d699 | ||
|
|
bf8c68e05f | ||
|
|
f81348997b | ||
|
|
cbc204519e | ||
|
|
ca59fed287 | ||
|
|
9bb3d7ff31 | ||
|
|
ba52e7fd56 | ||
|
|
e3556735ae | ||
|
|
5d12b4e1c9 | ||
|
|
9b6688ce10 | ||
|
|
9deaab4c11 | ||
|
|
81e307c81e | ||
|
|
0e4fced94e | ||
|
|
e1dc355647 | ||
|
|
09b36a2e2d | ||
|
|
b16e326ac3 | ||
|
|
e83c8f7fd7 | ||
|
|
598fdda77d | ||
|
|
0d47a32484 | ||
|
|
794bc92b4a | ||
|
|
5213621023 | ||
|
|
67b1d67668 | ||
|
|
1fe4dd6fc9 | ||
|
|
45643ff3f9 | ||
|
|
9a0b75caa1 | ||
|
|
8ef0aee768 | ||
|
|
bfd29139a1 | ||
|
|
dc762a7797 | ||
|
|
3eead3917e | ||
|
|
83d0ac10ee | ||
|
|
11bb85693a | ||
|
|
de49bf1b86 | ||
|
|
be457c2ff3 | ||
|
|
c8f0860514 | ||
|
|
b67d0a7886 | ||
|
|
010ebe4f98 | ||
|
|
613de66244 | ||
|
|
8978e24c79 | ||
|
|
bf7f7ebf9f | ||
|
|
d5c2e7c585 | ||
|
|
4c4dd195a4 | ||
|
|
a29d846f4a | ||
|
|
7fbcfe7d6a | ||
|
|
a5561cdd0b | ||
|
|
5baccc495d | ||
|
|
25e9123999 | ||
|
|
0706c9f6de | ||
|
|
dcd15debf0 | ||
|
|
fbacd5c51e | ||
|
|
19b69e024a | ||
|
|
71df219f94 | ||
|
|
49c0f44435 | ||
|
|
9a3ababb9c | ||
|
|
d7ec3a1b77 | ||
|
|
06a9ddc068 | ||
|
|
ac25abc64b | ||
|
|
31bff2806b | ||
|
|
0f9e4759ad | ||
|
|
5e6e2b5949 | ||
|
|
0b90affea4 | ||
|
|
45834e20f9 | ||
|
|
f67a7d0721 | ||
|
|
4dd8367878 | ||
|
|
b2246cb148 | ||
|
|
fb3a9ca2c2 | ||
|
|
f15014f295 | ||
|
|
b28479b92b | ||
|
|
89380f2905 | ||
|
|
e5fcfde2ec | ||
|
|
2e10d2c5c7 | ||
|
|
96281d32a1 | ||
|
|
1f5785aa8e | ||
|
|
be03d82668 | ||
|
|
d265172cee | ||
|
|
7aa07ef525 | ||
|
|
2ebee4c024 | ||
|
|
b563e283c1 | ||
|
|
f1bdbf63b0 | ||
|
|
1dd7d29bf2 | ||
|
|
0651dc25d5 | ||
|
|
ec145fb73c | ||
|
|
450a4a0a49 | ||
|
|
792011ed4d | ||
|
|
699474ff59 | ||
|
|
2bf97891d9 | ||
|
|
11cb2ea688 | ||
|
|
1d2cb2390b | ||
|
|
1218def6cd | ||
|
|
6a3623bd76 | ||
|
|
5438eef9db | ||
|
|
e96f5b3c48 | ||
|
|
6b09745d09 | ||
|
|
5e11ade63c | ||
|
|
ad5e7a7d9b | ||
|
|
4bd656cc48 | ||
|
|
6c94ebde4b | ||
|
|
54fd097fab | ||
|
|
9bed60befc | ||
|
|
c863da0c5d | ||
|
|
951b22e098 | ||
|
|
c7f28d54d6 | ||
|
|
d776c7c77d | ||
|
|
6dafcb4447 | ||
|
|
5d043e6987 | ||
|
|
57713dbe6e | ||
|
|
cfe5242fda | ||
|
|
5f574b0176 | ||
|
|
2de76607a6 | ||
|
|
c245e467e4 | ||
|
|
8b3b6ffbca | ||
|
|
16f42be08e | ||
|
|
056e4c1429 | ||
|
|
dcab68d78a | ||
|
|
4b6896ae3d | ||
|
|
f40107de33 | ||
|
|
c16417cbff | ||
|
|
27502d5d67 | ||
|
|
3126c869b5 | ||
|
|
1d782191ae | ||
|
|
1dc6045c85 | ||
|
|
a4072aca74 | ||
|
|
22b62804d5 |
@@ -1,21 +0,0 @@
|
||||
.git
|
||||
.github
|
||||
.vscode
|
||||
assets
|
||||
coverage
|
||||
docs
|
||||
e2e
|
||||
e2e-output
|
||||
node_modules
|
||||
scripts
|
||||
src
|
||||
lib
|
||||
tools
|
||||
/angular.json
|
||||
/desktop.ini
|
||||
/cspell.json
|
||||
/CODE_OF_CONDUCT.md
|
||||
/.stylelintignore
|
||||
/ALFRESCOCORS.md
|
||||
/CONTRIBUTING.md
|
||||
/BROWSER-SUPPORT.md
|
||||
@@ -9,5 +9,4 @@ scripts
|
||||
/angular.json
|
||||
docs/**/*.md
|
||||
lib/js-api/docs/**/*.md
|
||||
.storybook
|
||||
webpack.config.js
|
||||
|
||||
+10
-14
@@ -1,16 +1,7 @@
|
||||
module.exports = {
|
||||
root: true,
|
||||
|
||||
ignorePatterns: [
|
||||
'projects/**/*',
|
||||
'**/node_modules/**/*',
|
||||
'lib/cli/node_modules/**/*',
|
||||
'**/node_modules',
|
||||
'**/docker',
|
||||
'**/assets',
|
||||
'**/scripts',
|
||||
'**/docs'
|
||||
],
|
||||
ignorePatterns: ['projects/**/*', '**/node_modules/**/*', 'lib/cli/node_modules/**/*', '**/node_modules', '**/assets', '**/scripts', '**/docs'],
|
||||
|
||||
plugins: ['@nx'],
|
||||
|
||||
@@ -28,6 +19,11 @@ module.exports = {
|
||||
'plugin:@angular-eslint/recommended',
|
||||
'plugin:@angular-eslint/template/process-inline-templates',
|
||||
'plugin:jsdoc/recommended-typescript-error'
|
||||
// Uncomment this once all linting issues are fixed
|
||||
// Note to developers:
|
||||
// you can uncomment the full ruleset locally when fixing issues, and then comment
|
||||
// that will allow splitting the work into smaller chunks
|
||||
// 'plugin:unicorn/recommended'
|
||||
],
|
||||
plugins: [
|
||||
'eslint-plugin-unicorn',
|
||||
@@ -152,6 +148,7 @@ module.exports = {
|
||||
'rxjs/no-subject-value': 'error',
|
||||
'rxjs/no-unsafe-takeuntil': 'error',
|
||||
'unicorn/filename-case': 'error',
|
||||
'unicorn/prefer-optional-catch-binding': 'error',
|
||||
'@typescript-eslint/no-unused-expressions': [
|
||||
'error',
|
||||
{
|
||||
@@ -194,7 +191,8 @@ module.exports = {
|
||||
files: ['*.spec.ts'],
|
||||
plugins: ['@alfresco/eslint-angular'],
|
||||
rules: {
|
||||
'@alfresco/eslint-angular/no-angular-material-selectors': 'error'
|
||||
'@alfresco/eslint-angular/no-angular-material-selectors': 'error',
|
||||
'@angular-eslint/component-class-suffix': 'off'
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -209,7 +207,5 @@ module.exports = {
|
||||
'comma-dangle': ['error', 'never']
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
extends: ['plugin:storybook/recommended']
|
||||
]
|
||||
};
|
||||
|
||||
@@ -9,12 +9,6 @@ inputs:
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Before install
|
||||
if: ${{ ! env.ACT }}
|
||||
shell: bash
|
||||
run: |
|
||||
pip install --user --quiet awscli
|
||||
|
||||
- name: base vars
|
||||
shell: bash
|
||||
run: |
|
||||
@@ -51,11 +45,13 @@ runs:
|
||||
- name: RELEASE on master/develop patch branch
|
||||
if: ${{ env.BREAK_ACTION == false && github.event.pull_request.merged }}
|
||||
shell: bash
|
||||
env:
|
||||
REF_NAME: ${{ github.ref_name }}
|
||||
run: |
|
||||
if [[ "${{ github.ref_name }}" =~ ^master(-patch.*)?$ ]]; then
|
||||
if [[ "$REF_NAME" =~ ^master(-patch.*)?$ ]]; then
|
||||
# into master(-patch*)
|
||||
echo "Setting up CI flags for Push on master patch"
|
||||
elif [[ "${{ github.ref_name }}" =~ ^develop-patch.*$ ]]; then
|
||||
elif [[ "$REF_NAME" =~ ^develop-patch.*$ ]]; then
|
||||
# into develop-patch*
|
||||
echo "Setting up CI flags for Push develop patch"
|
||||
else
|
||||
|
||||
@@ -3,17 +3,27 @@ description: "Download build artifacts"
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: download and extract artifacts from s3
|
||||
shell: bash
|
||||
env:
|
||||
REMOTE_PATH: "alfresco-ng2-components/build-cache/${{ github.run_id }}"
|
||||
run: |
|
||||
packages=( dist nxcache node_modules )
|
||||
for i in "${packages[@]}"; do
|
||||
time aws s3 cp --no-progress s3://${S3_BUILD_BUCKET_SHORT_NAME}/${REMOTE_PATH}/$i.tar.gz $i.tar.gz
|
||||
du -h $i.tar.gz
|
||||
time tar xzf $i.tar.gz
|
||||
done
|
||||
- name: Restore dist from cache
|
||||
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
|
||||
with:
|
||||
path: dist
|
||||
key: dist-${{ github.run_id }}-${{ github.run_attempt }}
|
||||
fail-on-cache-miss: true
|
||||
|
||||
- name: Restore nxcache from cache
|
||||
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
|
||||
with:
|
||||
path: nxcache
|
||||
key: nxcache-${{ github.run_id }}-${{ github.run_attempt }}
|
||||
fail-on-cache-miss: true
|
||||
|
||||
- name: Restore node_modules from cache
|
||||
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
|
||||
with:
|
||||
path: node_modules
|
||||
key: node-modules-${{ github.run_id }}-${{ github.run_attempt }}
|
||||
fail-on-cache-miss: true
|
||||
|
||||
- name: show files
|
||||
shell: bash
|
||||
run: |
|
||||
@@ -24,4 +34,4 @@ runs:
|
||||
echo "====NXCACHE===="
|
||||
find nxcache -maxdepth 1 -type d
|
||||
echo "====ADF===="
|
||||
find node_modules/@alfresco/ -maxdepth 1 -type d
|
||||
find node_modules/@alfresco/ -maxdepth 1 -type d
|
||||
|
||||
@@ -20,8 +20,10 @@ runs:
|
||||
- name: set dryrun flag to TRUE
|
||||
shell: bash
|
||||
id: dryrun
|
||||
env:
|
||||
DRY_RUN_FLAG: ${{ inputs.dry-run-flag }}
|
||||
run: |
|
||||
if [[ '${{ inputs.dry-run-flag }}' == 'true' ]]; then
|
||||
if [[ '$DRY_RUN_FLAG' == 'true' ]]; then
|
||||
echo "dryrun=--dryrun" >> $GITHUB_OUTPUT;
|
||||
echo "enabling dryrun"
|
||||
else
|
||||
|
||||
@@ -23,4 +23,6 @@ runs:
|
||||
echo "TAG_NPM not set, aborting"
|
||||
exit 1
|
||||
fi
|
||||
./scripts/github/build/npm-check-bundles.sh
|
||||
ADF_VERSION=$(npm view @alfresco/adf-core@${TAG_NPM} version)
|
||||
echo "check bundle on TAG_NPM='${TAG_NPM}' and ADF_VERSION='${ADF_VERSION}'"
|
||||
./scripts/github/build/npm-check-bundles.sh -v ${ADF_VERSION}
|
||||
|
||||
@@ -17,11 +17,13 @@ runs:
|
||||
|
||||
- name: set TAG_NPM
|
||||
shell: bash
|
||||
env:
|
||||
BRANCH_NAME: ${{ inputs.branch_name }}
|
||||
run: |
|
||||
TAG_NPM="alpha"
|
||||
VERSION_IN_PACKAGE_JSON=$(node -p "require('./package.json')".version)
|
||||
echo "version in package.json=${VERSION_IN_PACKAGE_JSON}"
|
||||
if [[ ${{ inputs.branch_name }} =~ ^master(-patch.*)?$ ]]; then
|
||||
if [[ $BRANCH_NAME =~ ^master(-patch.*)?$ ]]; then
|
||||
# Pre-release versions
|
||||
if [[ $VERSION_IN_PACKAGE_JSON =~ ^[0-9]*\.[0-9]*\.[0-9]*-A\.[0-9]*$ ]];
|
||||
then
|
||||
@@ -31,7 +33,7 @@ runs:
|
||||
TAG_NPM=latest
|
||||
fi
|
||||
fi
|
||||
if [[ ${{ inputs.branch_name }} =~ ^develop(-patch.*)?$ ]]; then
|
||||
if [[ $BRANCH_NAME =~ ^develop(-patch.*)?$ ]]; then
|
||||
TAG_NPM=alpha
|
||||
fi
|
||||
echo "TAG_NPM=${TAG_NPM}" >> $GITHUB_ENV
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
name: 'Setup'
|
||||
description: 'Initialize cache, env var load'
|
||||
inputs:
|
||||
enable-cache:
|
||||
description: 'enable caching'
|
||||
required: false
|
||||
type: boolean
|
||||
default: 'true'
|
||||
enable-node-modules-cache:
|
||||
description: 'enable caching for node modules'
|
||||
required: false
|
||||
@@ -20,18 +15,18 @@ runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: install NPM
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
cache-dependency-path: package-lock.json
|
||||
- name: get latest tag sha
|
||||
id: tag-sha
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/git-latest-tag@c2278c8ec6744d3595478217e9736ebb47d501db # v8.23.3
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/git-latest-tag@de5e037bf9a2ac174c1993dab82002a2278a6506 # v9.3.2
|
||||
# CACHE
|
||||
- name: Node Modules cache
|
||||
id: node-modules-cache
|
||||
if: ${{ inputs.enable-node-modules-cache == 'true' }}
|
||||
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
||||
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
|
||||
env:
|
||||
cache-name: node-modules-cache
|
||||
with:
|
||||
@@ -42,14 +37,6 @@ runs:
|
||||
node_modules-${{ runner.os }}-build-${{ env.cache-name }}-
|
||||
node_modules-${{ runner.os }}-build-
|
||||
node_modules-${{ runner.os }}-
|
||||
- name: pip cache
|
||||
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
||||
if: ${{ inputs.enable-cache == 'true' }}
|
||||
with:
|
||||
path: ~/.cache/pip
|
||||
key: ${{ runner.os }}-pip-
|
||||
restore-keys: |
|
||||
${{ runner.os }}
|
||||
- name: load "NPM TAG"
|
||||
uses: ./.github/actions/set-npm-tag
|
||||
- name: before install script
|
||||
|
||||
@@ -4,16 +4,22 @@ description: "Upload build artifacts"
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: tar and upload artifacts
|
||||
shell: bash
|
||||
env:
|
||||
REMOTE_PATH: "alfresco-ng2-components/build-cache/${{ github.run_id }}"
|
||||
run: |
|
||||
packages=( dist nxcache node_modules )
|
||||
for i in "${packages[@]}"; do
|
||||
time tar czf $i.tar.gz $i
|
||||
du -h $i.tar.gz
|
||||
time aws s3 cp --no-progress $i.tar.gz "s3://${S3_BUILD_BUCKET_SHORT_NAME}/${REMOTE_PATH}/$i.tar.gz"
|
||||
done
|
||||
- name: Save dist to cache
|
||||
uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
|
||||
with:
|
||||
path: dist
|
||||
key: dist-${{ github.run_id }}-${{ github.run_attempt }}
|
||||
|
||||
- name: Save nxcache to cache
|
||||
uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
|
||||
with:
|
||||
path: nxcache
|
||||
key: nxcache-${{ github.run_id }}-${{ github.run_attempt }}
|
||||
|
||||
- name: Save node_modules to cache
|
||||
uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
|
||||
with:
|
||||
path: node_modules
|
||||
key: node-modules-${{ github.run_id }}-${{ github.run_attempt }}
|
||||
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
with:
|
||||
# We must fetch at least the immediate parents so that if this is
|
||||
# a pull request then we can checkout the head.
|
||||
@@ -30,7 +30,7 @@ jobs:
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # v3.29.0
|
||||
uses: github/codeql-action/init@0499de31b99561a6d14a36a5f662c2a54f91beee # v3.29.5
|
||||
# Override language selection by uncommenting this and choosing your languages
|
||||
with:
|
||||
languages: javascript
|
||||
@@ -39,7 +39,7 @@ jobs:
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # v3.29.0
|
||||
uses: github/codeql-action/autobuild@0499de31b99561a6d14a36a5f662c2a54f91beee # v3.29.5
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
@@ -53,4 +53,4 @@ jobs:
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # v3.29.0
|
||||
uses: github/codeql-action/analyze@0499de31b99561a6d14a36a5f662c2a54f91beee # v3.29.5
|
||||
|
||||
@@ -13,34 +13,17 @@ on:
|
||||
branches:
|
||||
- master
|
||||
- master-patch-*
|
||||
|
||||
env:
|
||||
BASE_REF: ${{ github.base_ref }}
|
||||
HEAD_REF: ${{ github.head_ref }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
GITHUB_BRANCH: ${{ github.ref_name }}
|
||||
GH_BUILD_DIR: ${{ github.workspace }}
|
||||
GH_COMMIT: ${{ github.sha }}
|
||||
BUILD_ID: ${{ github.run_id }}
|
||||
GH_RUN_NUMBER: ${{ github.run_attempt }}
|
||||
GH_BUILD_NUMBER: ${{ github.run_id }}
|
||||
JOB_ID: ${{ github.run_id }}
|
||||
LOG_LEVEL: "ERROR"
|
||||
S3_BUILD_BUCKET_SHORT_NAME: ${{ secrets.S3_BUILD_BUCKET_SHORT_NAME }}
|
||||
NODE_OPTIONS: "--max-old-space-size=5120"
|
||||
DOCKER_REPOSITORY_DOMAIN: ${{ secrets.DOCKER_REPOSITORY_DOMAIN }}
|
||||
DOCKER_REPOSITORY_USER: ${{ secrets.DOCKER_REPOSITORY_USER }}
|
||||
DOCKER_REPOSITORY_PASSWORD: ${{ secrets.DOCKER_REPOSITORY_PASSWORD }}
|
||||
DOCKER_REPOSITORY_STORYBOOK: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/storybook"
|
||||
NPM_REGISTRY_ADDRESS: ${{ secrets.NPM_REGISTRY_ADDRESS }}
|
||||
NPM_REGISTRY_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }}
|
||||
BOT_GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }}
|
||||
REPO_OWNER: "Alfresco"
|
||||
REPO_NAME: "alfresco-ng2-components"
|
||||
STORYBOOK_DIR: "./dist/storybook/stories"
|
||||
BUILT_LIBS_DIR: "./dist/libs"
|
||||
NODE_MODULES_DIR: "./node_modules"
|
||||
REDIRECT_URI: /
|
||||
|
||||
jobs:
|
||||
|
||||
@@ -59,17 +42,18 @@ jobs:
|
||||
GITHUB_TOKEN: $BOT_GITHUB_TOKEN
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
- id: set-dryrun
|
||||
uses: ./.github/actions/enable-dryrun
|
||||
with:
|
||||
dry-run-flag: ${{ inputs.dry-run-flag }}
|
||||
- name: install NPM
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: "Release tag"
|
||||
env:
|
||||
DRYRUN_FLAG: ${{ steps.set-dryrun.outputs.dryrun }}
|
||||
run: |
|
||||
git fetch --all --quiet
|
||||
BRANCH=${GITHUB_REF##*/} ./scripts/github/release/git-tag.sh ${{ steps.set-dryrun.outputs.dryrun }}
|
||||
|
||||
BRANCH=${GITHUB_REF##*/} ./scripts/github/release/git-tag.sh $DRYRUN_FLAG
|
||||
|
||||
@@ -9,14 +9,17 @@ jobs:
|
||||
if: github.event.registry_package.package_type == 'npm' && github.event.registry_package.name == 'adf-core'
|
||||
steps:
|
||||
- name: Dispatch event to monorepo
|
||||
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
||||
env:
|
||||
PACKAGE_NAME: ${{ github.event.registry_package.name }}
|
||||
PACKAGE_VERSION: ${{ github.event.registry_package.package_version.name }}
|
||||
with:
|
||||
github-token: ${{ secrets.PAT_WRITE_PKG }}
|
||||
retries: 3
|
||||
script: |
|
||||
const payload = {
|
||||
package_name: "${{ github.event.registry_package.name }}",
|
||||
package_version: "${{ github.event.registry_package.package_version.name }}"
|
||||
package_name: process.env.PACKAGE_NAME,
|
||||
package_version: process.env.PACKAGE_VERSION
|
||||
};
|
||||
|
||||
await github.rest.repos.createDispatchEvent({
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
name: Pull Translations from Crowdin
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * *"
|
||||
- cron: "0 7-17 * * 1-5"
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
pull-from-crowdin:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
- name: Pull translations from Crowdin
|
||||
uses: crowdin/github-action@f214c8723025f41fc55b2ad26e67b60b80b1885d # v2.7.1
|
||||
uses: crowdin/github-action@08713f00a50548bfe39b37e8f44afb53e7a802d4 # v2.12.0
|
||||
with:
|
||||
upload_sources: false
|
||||
download_translations: true
|
||||
|
||||
@@ -33,38 +33,20 @@ concurrency:
|
||||
env:
|
||||
BASE_REF: ${{ github.base_ref }}
|
||||
HEAD_REF: ${{ github.head_ref }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
GITHUB_BRANCH: ${{ github.ref_name }}
|
||||
GH_BUILD_DIR: ${{ github.workspace }}
|
||||
GH_COMMIT: ${{ github.sha }}
|
||||
BUILD_ID: ${{ github.run_id }}
|
||||
GH_RUN_NUMBER: ${{ github.run_attempt }}
|
||||
GH_BUILD_NUMBER: ${{ github.run_id }}
|
||||
JOB_ID: ${{ github.run_id }}
|
||||
LOG_LEVEL: "ERROR"
|
||||
S3_BUILD_BUCKET_SHORT_NAME: ${{ secrets.S3_BUILD_BUCKET_SHORT_NAME }}
|
||||
NODE_OPTIONS: "--max-old-space-size=5120"
|
||||
DOCKER_REPOSITORY_DOMAIN: ${{ secrets.DOCKER_REPOSITORY_DOMAIN }}
|
||||
DOCKER_REPOSITORY_USER: ${{ secrets.DOCKER_REPOSITORY_USER }}
|
||||
DOCKER_REPOSITORY_PASSWORD: ${{ secrets.DOCKER_REPOSITORY_PASSWORD }}
|
||||
DOCKER_REPOSITORY_STORYBOOK: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/storybook"
|
||||
REPO_OWNER: "Alfresco"
|
||||
REPO_NAME: "alfresco-ng2-components"
|
||||
STORYBOOK_DIR: "./dist/storybook/stories"
|
||||
BUILT_LIBS_DIR: "./dist/libs"
|
||||
NODE_MODULES_DIR: "./node_modules"
|
||||
REDIRECT_URI: /
|
||||
|
||||
jobs:
|
||||
pre-checks:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
|
||||
- name: Ensure SHA pinned actions
|
||||
uses: zgosalvez/github-actions-ensure-sha-pinned-actions@fc87bb5b5a97953d987372e74478de634726b3e5 # v3.0.25
|
||||
uses: zgosalvez/github-actions-ensure-sha-pinned-actions@9e9574ef04ea69da568d6249bd69539ccc704e74 # v4.0.0
|
||||
|
||||
- name: Check package-lock.json version
|
||||
run: |
|
||||
@@ -79,20 +61,23 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
with:
|
||||
fetch-depth: 0
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Get branch name
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/get-branch-name@c2278c8ec6744d3595478217e9736ebb47d501db # v8.23.3
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/get-branch-name@de5e037bf9a2ac174c1993dab82002a2278a6506 # v9.3.2
|
||||
|
||||
- name: Save commit message
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/get-commit-message@c2278c8ec6744d3595478217e9736ebb47d501db # v8.23.3
|
||||
uses: Alfresco/alfresco-build-tools/.github/actions/get-commit-message@de5e037bf9a2ac174c1993dab82002a2278a6506 # v9.3.2
|
||||
|
||||
- name: ci:force flag parser
|
||||
shell: bash
|
||||
env:
|
||||
EVENT_NAME: ${{ github.event_name }}
|
||||
ACTOR: ${{ github.actor }}
|
||||
run: |
|
||||
if [ "${{ github.event_name }}" == "schedule" ] || [ "${{ github.actor }}" == "dependabot[bot]" ]; then
|
||||
if [ "$EVENT_NAME" == "schedule" ] || [ "$ACTOR" == "dependabot[bot]" ]; then
|
||||
echo -e "\033[32mci:force check can be skipped\033[0m"
|
||||
skip_check="true"
|
||||
elif [[ "$COMMIT_MESSAGE" == *"[ci:force]"* ]]; then
|
||||
@@ -109,16 +94,21 @@ jobs:
|
||||
|
||||
- name: show pr number
|
||||
shell: bash
|
||||
env:
|
||||
PR_NUMBER: ${{ steps.action.outputs.number }}
|
||||
run: |
|
||||
echo "PR: ${{ steps.action.outputs.number }}"
|
||||
echo "PR: $PR_NUMBER"
|
||||
|
||||
- name: check if pr is approved
|
||||
env:
|
||||
DEVEL_FLAG: ${{ inputs.devel }}
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
skip_check: "false"
|
||||
EVENT_NAME: ${{ github.event_name }}
|
||||
ACTOR: ${{ github.actor }}
|
||||
PR_NUMBER: ${{ steps.action.outputs.number }}
|
||||
run: |
|
||||
if [ "${{ github.event_name }}" == "schedule" ] || [ "${{ github.actor }}" == "dependabot[bot]" ]; then
|
||||
if [ "$EVENT_NAME" == "schedule" ] || [ "$ACTOR" == "dependabot[bot]" ]; then
|
||||
echo -e "\033[32mci:force check can be skipped\033[0m"
|
||||
skip_check="true"
|
||||
elif [[ "$COMMIT_MESSAGE" == *"[ci:force]"* ]]; then
|
||||
@@ -126,11 +116,11 @@ jobs:
|
||||
skip_check="true"
|
||||
fi
|
||||
|
||||
if [ "${{ github.actor }}" == "dependabot[bot]" ] || [ "${{ github.actor }}" == "alfresco-build" ]; then
|
||||
echo -e "\033[32mCommit by ${{ github.actor }}. No need for approval.\033[0m"
|
||||
if [ "$ACTOR" == "dependabot[bot]" ] || [ "$ACTOR" == "alfresco-build" ]; then
|
||||
echo -e "\033[32mCommit by $ACTOR. No need for approval.\033[0m"
|
||||
skip_check="true"
|
||||
fi
|
||||
if [ "${{ github.event_name }}" == "schedule" ] || [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
|
||||
if [ "$EVENT_NAME" == "schedule" ] || [ "$EVENT_NAME" == "workflow_dispatch" ]; then
|
||||
echo -e "\033[32mSchedule event\033[0m"
|
||||
skip_check="true"
|
||||
fi
|
||||
@@ -142,7 +132,7 @@ jobs:
|
||||
|
||||
if [ "$skip_check" == "false" ]; then
|
||||
echo "Checking PR approval"
|
||||
prNumber=${{ steps.action.outputs.number }}
|
||||
prNumber=$PR_NUMBER
|
||||
echo "PR: $prNumber"
|
||||
checkApproval=$(gh api /repos/$GITHUB_REPOSITORY/pulls/$prNumber/reviews | jq '.[] | select(.state == "APPROVED") | .user.login')
|
||||
if [[ $checkApproval ]]; then
|
||||
@@ -161,15 +151,15 @@ jobs:
|
||||
needs: [check-if-pr-is-approved, pre-checks]
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
with:
|
||||
fetch-depth: 0 # Fetch all history for all tags and branches
|
||||
- uses: ./.github/actions/setup
|
||||
- name: install
|
||||
run: |
|
||||
npm ci
|
||||
npx nx run js-api:bundle
|
||||
npx nx run cli:bundle
|
||||
npm run bundle:js-api
|
||||
npm run bundle:cli
|
||||
- uses: ./.github/actions/upload-node-modules-and-artifacts
|
||||
|
||||
unit-tests:
|
||||
@@ -196,14 +186,16 @@ jobs:
|
||||
exclude: "insights,core,extensions,content-services,process-services$,eslint-plugin-eslint-angular,js-api"
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
with:
|
||||
fetch-depth: 0 # Fetch all history for all tags and branches
|
||||
- uses: ./.github/actions/setup
|
||||
- uses: ./.github/actions/download-node-modules-and-artifacts
|
||||
- name: Run unit tests
|
||||
env:
|
||||
EXCLUDE_PATTERN: ${{ matrix.unit-tests.exclude }}
|
||||
run: |
|
||||
/usr/bin/xvfb-run --auto-servernum npx nx affected:test $NX_CALCULATION_FLAGS --exclude=${{ matrix.unit-tests.exclude }}
|
||||
/usr/bin/xvfb-run --auto-servernum npm run test:affected -- $NX_CALCULATION_FLAGS --exclude=$EXCLUDE_PATTERN
|
||||
|
||||
lint:
|
||||
# long timeout required when cache has to be recreated
|
||||
@@ -213,12 +205,12 @@ jobs:
|
||||
needs: [setup]
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
with:
|
||||
fetch-depth: 0 # Fetch all history for all tags and branches
|
||||
- uses: ./.github/actions/setup
|
||||
- uses: ./.github/actions/download-node-modules-and-artifacts
|
||||
- run: npx nx affected --target=lint $NX_CALCULATION_FLAGS
|
||||
- run: npm run lint:affected -- $NX_CALCULATION_FLAGS
|
||||
|
||||
build-libs:
|
||||
# long timeout required when cache has to be recreated
|
||||
@@ -228,13 +220,12 @@ jobs:
|
||||
needs: [setup]
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
with:
|
||||
fetch-depth: 0 # Fetch all history for all tags and branches
|
||||
- uses: ./.github/actions/setup
|
||||
- uses: ./.github/actions/download-node-modules-and-artifacts
|
||||
- run: NX_REJECT_UNKNOWN_LOCAL_CACHE=0 npx nx affected:build $NX_CALCULATION_FLAGS --prod
|
||||
- run: NX_REJECT_UNKNOWN_LOCAL_CACHE=0 npx nx affected --target=build-storybook $NX_CALCULATION_FLAGS --configuration=ci
|
||||
- run: NX_REJECT_UNKNOWN_LOCAL_CACHE=0 npm run build:affected -- $NX_CALCULATION_FLAGS --prod
|
||||
- uses: ./.github/actions/upload-node-modules-and-artifacts
|
||||
|
||||
PR-forbidden-labels:
|
||||
@@ -243,12 +234,12 @@ jobs:
|
||||
steps:
|
||||
- id: checkoutRepo
|
||||
name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
with:
|
||||
fetch-depth: 1
|
||||
- name: PR contains forbidden labels
|
||||
id: pr-forbidden
|
||||
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
||||
with:
|
||||
script: |
|
||||
const issueHasLabels = require('./scripts/github/update/check-issue-has-label.js');
|
||||
@@ -260,9 +251,12 @@ jobs:
|
||||
core.setFailed('The PR contains a forbidden label! You are not allowed to merge until the label is there.');
|
||||
}
|
||||
- name: Check value after
|
||||
env:
|
||||
STEP_RESULT: ${{ toJson(steps.pr-forbidden.*.result) }}
|
||||
HAS_FAILURE: ${{ contains(toJson(steps.pr-forbidden.*.result), 'failure') }}
|
||||
run: |
|
||||
echo "result ${{ toJson(steps.pr-forbidden.*.result) }}" && echo "result ${{ steps.pr-forbidden.*.result }}"
|
||||
echo "result ${{ contains(toJson(steps.pr-forbidden.*.result), 'failure') }}"
|
||||
echo "Step result: $STEP_RESULT"
|
||||
echo "Has failure: $HAS_FAILURE"
|
||||
|
||||
finalize:
|
||||
if: ${{ always() }}
|
||||
|
||||
@@ -9,7 +9,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout the latest code
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Automatic Rebase
|
||||
|
||||
@@ -13,29 +13,11 @@ on:
|
||||
env:
|
||||
BASE_REF: ${{ github.base_ref }}
|
||||
HEAD_REF: ${{ github.head_ref }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
GITHUB_BRANCH: ${{ github.ref_name }}
|
||||
GH_BUILD_DIR: ${{ github.workspace }}
|
||||
GH_COMMIT: ${{ github.sha }}
|
||||
BUILD_ID: ${{ github.run_id }}
|
||||
GH_RUN_NUMBER: ${{ github.run_attempt }}
|
||||
GH_BUILD_NUMBER: ${{ github.run_id }}
|
||||
JOB_ID: ${{ github.run_id }}
|
||||
LOG_LEVEL: "ERROR"
|
||||
S3_BUILD_BUCKET_SHORT_NAME: ${{ secrets.S3_BUILD_BUCKET_SHORT_NAME }}
|
||||
NODE_OPTIONS: "--max-old-space-size=5120"
|
||||
DOCKER_REPOSITORY_DOMAIN: ${{ secrets.DOCKER_REPOSITORY_DOMAIN }}
|
||||
DOCKER_REPOSITORY_USER: ${{ secrets.DOCKER_REPOSITORY_USER }}
|
||||
DOCKER_REPOSITORY_PASSWORD: ${{ secrets.DOCKER_REPOSITORY_PASSWORD }}
|
||||
DOCKER_REPOSITORY_STORYBOOK: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/storybook"
|
||||
GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }}
|
||||
REPO_OWNER: "Alfresco"
|
||||
REPO_NAME: "alfresco-ng2-components"
|
||||
STORYBOOK_DIR: "./dist/storybook/stories"
|
||||
BUILT_LIBS_DIR: "./dist/libs"
|
||||
NODE_MODULES_DIR: "./node_modules"
|
||||
REDIRECT_URI: /
|
||||
|
||||
jobs:
|
||||
setup:
|
||||
@@ -50,18 +32,17 @@ jobs:
|
||||
echo "Set TAG with name: ${TAG_NPM}"
|
||||
echo "TAG_NPM=${TAG_NPM}" >> $GITHUB_ENV
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- uses: ./.github/actions/setup
|
||||
with:
|
||||
enable-cache: false
|
||||
enable-node-modules-cache: false
|
||||
- name: install
|
||||
run: |
|
||||
npm ci
|
||||
npx nx run js-api:bundle
|
||||
npx nx run cli:bundle
|
||||
npm run bundle:js-api
|
||||
npm run bundle:cli
|
||||
- uses: ./.github/actions/upload-node-modules-and-artifacts
|
||||
|
||||
release-npm:
|
||||
@@ -73,12 +54,11 @@ jobs:
|
||||
packages: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- uses: ./.github/actions/setup
|
||||
with:
|
||||
enable-cache: false
|
||||
enable-node-modules-cache: false
|
||||
- id: set-dryrun
|
||||
uses: ./.github/actions/enable-dryrun
|
||||
@@ -90,31 +70,31 @@ jobs:
|
||||
set -u;
|
||||
./scripts/update-version.sh -gnu || exit 1;
|
||||
- name: Set migrations
|
||||
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
||||
with:
|
||||
script: |
|
||||
const setMigrations = require('./scripts/github/release/set-migrations.js');
|
||||
setMigrations();
|
||||
- name: Build libraries
|
||||
run: |
|
||||
npx nx run-many --target=build --prod --skip-nx-cache
|
||||
npx nx run-many --target=build-schematics
|
||||
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
npm run build:libs
|
||||
npm run build:schematics
|
||||
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
|
||||
name: release libraries GH registry
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
registry-url: 'https://npm.pkg.github.com'
|
||||
scope: '@alfresco'
|
||||
- run: npx nx run-many --target=npm-publish --tag=branch|| exit 1
|
||||
- run: npm run publish -- --tag=branch || exit 1
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.PAT_WRITE_PKG }}
|
||||
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
|
||||
name: release libraries Npm registry
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
registry-url: 'https://${{ vars.NPM_REGISTRY_ADDRESS }}'
|
||||
scope: '@alfresco'
|
||||
- run: npx nx run-many --target=npm-publish --tag=branch || exit 1
|
||||
- run: npm run publish -- --tag=branch || exit 1
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }}
|
||||
|
||||
@@ -124,5 +104,5 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
- uses: ./.github/actions/npm-check-bundle
|
||||
|
||||
@@ -23,31 +23,11 @@ concurrency:
|
||||
env:
|
||||
BASE_REF: ${{ github.base_ref }}
|
||||
HEAD_REF: ${{ github.head_ref }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
GITHUB_BRANCH: ${{ github.ref_name }}
|
||||
GH_BUILD_DIR: ${{ github.workspace }}
|
||||
GH_COMMIT: ${{ github.sha }}
|
||||
BUILD_ID: ${{ github.run_id }}
|
||||
GH_RUN_NUMBER: ${{ github.run_attempt }}
|
||||
GH_BUILD_NUMBER: ${{ github.run_id }}
|
||||
JOB_ID: ${{ github.run_id }}
|
||||
E2E_ADMIN_EMAIL_IDENTITY: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
|
||||
E2E_ADMIN_PASSWORD_IDENTITY: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
|
||||
LOG_LEVEL: "ERROR"
|
||||
S3_BUILD_BUCKET_SHORT_NAME: ${{ secrets.S3_BUILD_BUCKET_SHORT_NAME }}
|
||||
NODE_OPTIONS: "--max-old-space-size=5120"
|
||||
DOCKER_REPOSITORY_DOMAIN: ${{ secrets.DOCKER_REPOSITORY_DOMAIN }}
|
||||
DOCKER_REPOSITORY_USER: ${{ secrets.DOCKER_REPOSITORY_USER }}
|
||||
DOCKER_REPOSITORY_PASSWORD: ${{ secrets.DOCKER_REPOSITORY_PASSWORD }}
|
||||
DOCKER_REPOSITORY_STORYBOOK: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/storybook"
|
||||
GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }}
|
||||
REPO_OWNER: "Alfresco"
|
||||
REPO_NAME: "alfresco-ng2-components"
|
||||
STORYBOOK_DIR: "./dist/storybook/stories"
|
||||
BUILT_LIBS_DIR: "./dist/libs"
|
||||
NODE_MODULES_DIR: "./node_modules"
|
||||
REDIRECT_URI: /
|
||||
|
||||
jobs:
|
||||
setup:
|
||||
@@ -57,47 +37,19 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- uses: ./.github/actions/setup
|
||||
with:
|
||||
enable-cache: false
|
||||
enable-node-modules-cache: false
|
||||
- name: install
|
||||
run: |
|
||||
npm ci
|
||||
npx nx run js-api:bundle
|
||||
npx nx run cli:bundle
|
||||
npm run bundle:js-api
|
||||
npm run bundle:cli
|
||||
- uses: ./.github/actions/upload-node-modules-and-artifacts
|
||||
|
||||
release-storybook:
|
||||
needs: [setup]
|
||||
timeout-minutes: 15
|
||||
if: github.event.pull_request.merged == true || github.ref_name == 'master' || github.ref_name == 'master-patch-*'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 1
|
||||
- run: git fetch --all
|
||||
- id: set-dryrun
|
||||
uses: ./.github/actions/enable-dryrun
|
||||
with:
|
||||
dry-run-flag: ${{ inputs.dry-run-flag }}
|
||||
- uses: ./.github/actions/setup
|
||||
with:
|
||||
enable-cache: false
|
||||
enable-node-modules-cache: false
|
||||
act: ${{ inputs.dry-run-flag }}
|
||||
- uses: ./.github/actions/download-node-modules-and-artifacts
|
||||
- name: release Storybook docker
|
||||
run: |
|
||||
npx nx run stories:build-storybook --configuration ci
|
||||
. ./scripts/github/release/docker-tag.sh
|
||||
./scripts/github/release/release-storybook-docker.sh ${{ steps.set-dryrun.outputs.dryrun }}
|
||||
|
||||
release-npm:
|
||||
needs: [setup]
|
||||
outputs:
|
||||
@@ -110,12 +62,11 @@ jobs:
|
||||
packages: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- uses: ./.github/actions/setup
|
||||
with:
|
||||
enable-cache: false
|
||||
enable-node-modules-cache: false
|
||||
- id: set-dryrun
|
||||
uses: ./.github/actions/enable-dryrun
|
||||
@@ -128,31 +79,31 @@ jobs:
|
||||
set -u;
|
||||
./scripts/github/build/bumpversion.sh
|
||||
- name: Set migrations
|
||||
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
||||
with:
|
||||
script: |
|
||||
const setMigrations = require('./scripts/github/release/set-migrations.js');
|
||||
setMigrations();
|
||||
- name: build libraries
|
||||
run: |
|
||||
npx nx run-many -t build --prod --skip-nx-cache
|
||||
npx nx run-many -t build-schematics
|
||||
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
npm run build:libs
|
||||
npm run build:schematics
|
||||
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
|
||||
name: release libraries GH registry
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
registry-url: 'https://npm.pkg.github.com'
|
||||
scope: '@alfresco'
|
||||
- run: npx nx run-many -t npm-publish --tag=$TAG_NPM || exit 1
|
||||
- run: npm run publish -- --tag=$TAG_NPM || exit 1
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.PAT_WRITE_PKG }}
|
||||
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
|
||||
name: release libraries Npm registry
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
registry-url: 'https://${{ vars.NPM_REGISTRY_ADDRESS }}'
|
||||
scope: '@alfresco'
|
||||
- run: npx nx run-many -t npm-publish --tag=$TAG_NPM || exit 1
|
||||
- run: npm run publish -- --tag=$TAG_NPM || exit 1
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }}
|
||||
|
||||
@@ -164,7 +115,7 @@ jobs:
|
||||
contents: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
with:
|
||||
fetch-depth: 1
|
||||
- uses: './.github/actions/create-git-tag'
|
||||
@@ -177,7 +128,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
- name: HxP upstream invoke
|
||||
uses: the-actions-org/workflow-dispatch@3133c5d135c7dbe4be4f9793872b6ef331b53bc7 # v4.0.0
|
||||
with:
|
||||
@@ -198,7 +149,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
- uses: ./.github/actions/npm-check-bundle
|
||||
|
||||
push-translation-keys-to-crowdin:
|
||||
@@ -212,10 +163,10 @@ jobs:
|
||||
actions: read
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
|
||||
- name: Push Source Files to Crowdin
|
||||
uses: crowdin/github-action@f214c8723025f41fc55b2ad26e67b60b80b1885d # v2.7.1
|
||||
uses: crowdin/github-action@08713f00a50548bfe39b37e8f44afb53e7a802d4 # v2.12.0
|
||||
with:
|
||||
upload_sources: true
|
||||
upload_sources_args: --delete-obsolete
|
||||
@@ -223,15 +174,15 @@ jobs:
|
||||
CROWDIN_TOKEN: ${{ secrets.CROWDIN_TRANSLATIONS_TOKEN }}
|
||||
|
||||
finalize:
|
||||
if: always()
|
||||
runs-on: ubuntu-latest
|
||||
name: Final Results
|
||||
needs: [release-storybook, release-npm, npm-check-bundle]
|
||||
steps:
|
||||
- name: Check job execution status
|
||||
if: >-
|
||||
${{
|
||||
contains(needs.*.result, 'failure')
|
||||
|| contains(needs.*.result, 'cancelled')
|
||||
}}
|
||||
run: exit 1
|
||||
if: always()
|
||||
runs-on: ubuntu-latest
|
||||
name: Final Results
|
||||
needs: [release-npm, npm-check-bundle]
|
||||
steps:
|
||||
- name: Check job execution status
|
||||
if: >-
|
||||
${{
|
||||
contains(needs.*.result, 'failure')
|
||||
|| contains(needs.*.result, 'cancelled')
|
||||
}}
|
||||
run: exit 1
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
export NODE_OPTIONS=--max_old_space_size=8192
|
||||
npx lint-staged
|
||||
lint-staged
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
import { create } from '@storybook/theming';
|
||||
import alfrescoLogo from '../lib/core/src/lib/assets/images/alfresco-logo.svg';
|
||||
|
||||
export default create({
|
||||
base: 'light',
|
||||
brandTitle: 'Hyland | Alfresco Storybook App',
|
||||
brandUrl: 'https://www.alfresco.com/',
|
||||
brandImage: alfrescoLogo,
|
||||
});
|
||||
@@ -1,10 +0,0 @@
|
||||
module.exports = {
|
||||
framework: {
|
||||
name: '@storybook/angular',
|
||||
options: {}
|
||||
},
|
||||
staticDirs: [],
|
||||
docs: {},
|
||||
stories: [],
|
||||
addons: ['@chromatic-com/storybook']
|
||||
};
|
||||
@@ -1,5 +0,0 @@
|
||||
export const parameters = {
|
||||
docs: { inlineStories: true },
|
||||
controls: { expanded: true }
|
||||
};
|
||||
export const tags = ['autodocs', 'autodocs', 'autodocs'];
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"extends": "../tsconfig.json",
|
||||
"exclude": [
|
||||
"../**/*.spec.js",
|
||||
"../**/*.spec.ts",
|
||||
"../**/*.spec.tsx",
|
||||
"../**/*.spec.jsx"
|
||||
],
|
||||
"include": ["../**/*"]
|
||||
}
|
||||
Vendored
-17
@@ -1,17 +0,0 @@
|
||||
specFile=$1;
|
||||
configFile=$2;
|
||||
|
||||
findconfig() {
|
||||
if [ -f "$1" ]; then
|
||||
printf '%s\n' "${PWD%/}/$1"
|
||||
elif [ "$PWD" = / ]; then
|
||||
false
|
||||
else
|
||||
(cd .. && findconfig $1)
|
||||
fi
|
||||
}
|
||||
|
||||
DIR=$(dirname "$specFile")
|
||||
cd $DIR
|
||||
configFile=`findconfig "$configFile"`;
|
||||
echo "$configFile";
|
||||
Vendored
-5
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"lucono.karma-test-explorer"
|
||||
]
|
||||
}
|
||||
Vendored
-27
@@ -1,27 +0,0 @@
|
||||
{
|
||||
// Use IntelliSense to learn about possible attributes.
|
||||
// Hover to view descriptions of existing attributes.
|
||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "e2e",
|
||||
"program": "${workspaceFolder}/node_modules/protractor/bin/protractor",
|
||||
"args": [
|
||||
"./e2e/protractor.conf.js",
|
||||
"--specs=${file}"
|
||||
],
|
||||
"envFile": "${workspaceFolder}/.env",
|
||||
"console": "integratedTerminal",
|
||||
"sourceMaps": true,
|
||||
"smartStep": true,
|
||||
"skipFiles": [
|
||||
"${workspaceFolder}/node_modules/**/*.js",
|
||||
"<node_internals>/**/*.js"
|
||||
],
|
||||
"internalConsoleOptions": "neverOpen"
|
||||
}
|
||||
]
|
||||
}
|
||||
Vendored
@@ -103,8 +103,6 @@ Create a file next to the project's `package.json`, call it `proxy.conf.json` an
|
||||
|
||||
Note that if you are running the App, Content Service or Process Service on different ports, you should change the ports accordingly in your local configuration.
|
||||
|
||||
For further details about how to configure a webpack proxy please refer to the [official documentation](https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/proxy.md).
|
||||
|
||||
|
||||
## Configure nginx proxy
|
||||
|
||||
|
||||
-27
@@ -1,27 +0,0 @@
|
||||
# 1. Generate licenses
|
||||
|
||||
FROM node:18.16-alpine3.17 AS builder
|
||||
WORKDIR /usr/src/alfresco
|
||||
COPY package.json package.json
|
||||
|
||||
# 2. Generate image
|
||||
|
||||
FROM nginxinc/nginx-unprivileged:1.21-alpine
|
||||
|
||||
USER root
|
||||
RUN apk update && apk upgrade
|
||||
USER 101
|
||||
|
||||
ARG PROJECT_NAME
|
||||
|
||||
COPY docker/default.conf.template /etc/nginx/templates/
|
||||
|
||||
COPY dist/$PROJECT_NAME /usr/share/nginx/html/
|
||||
COPY dist/$PROJECT_NAME/app.config.json /etc/nginx/templates/app.config.json.template
|
||||
|
||||
USER root
|
||||
RUN chmod a+w -R /etc/nginx/conf.d
|
||||
USER 101
|
||||
|
||||
ENV BASE_PATH=/
|
||||
ENV NGINX_ENVSUBST_OUTPUT_DIR=/etc/nginx/conf.d
|
||||
@@ -35,7 +35,6 @@ ADF Libraries list:
|
||||
- [Insights](https://github.com/Alfresco/alfresco-ng2-components/tree/develop/lib/insights)
|
||||
- [Process Service Cloud](https://github.com/Alfresco/alfresco-ng2-components/tree/develop/lib/process-services-cloud)
|
||||
- [Process service](https://github.com/Alfresco/alfresco-ng2-components/tree/develop/lib/process-services)
|
||||
- [Stories](https://github.com/Alfresco/alfresco-ng2-components/tree/develop/lib/stories)
|
||||
|
||||
## Browser Support
|
||||
|
||||
|
||||
@@ -86,7 +86,6 @@
|
||||
"mouseenter",
|
||||
"multiselect",
|
||||
"mysites",
|
||||
"nginx",
|
||||
"numbervisibilityprocess",
|
||||
"OAUTHCONFIG",
|
||||
"oidc",
|
||||
|
||||
@@ -1,57 +0,0 @@
|
||||
server {
|
||||
listen 8080;
|
||||
server_name localhost;
|
||||
|
||||
#charset koi8-r;
|
||||
#access_log /var/log/nginx/host.access.log main;
|
||||
|
||||
root /usr/share/nginx/html;
|
||||
|
||||
rewrite ^([^.]*[^/])$ $1/ permanent;
|
||||
absolute_redirect off;
|
||||
|
||||
location ${BASE_PATH} {
|
||||
set $EVAL_BASE_PATH "${BASE_PATH}";
|
||||
if ($EVAL_BASE_PATH = "/") {
|
||||
root /usr/share/nginx/html;
|
||||
}
|
||||
index index.html index.htm;
|
||||
alias /usr/share/nginx/html;
|
||||
}
|
||||
|
||||
location ~ /app.config.json {
|
||||
alias ${NGINX_ENVSUBST_OUTPUT_DIR}/app.config.json;
|
||||
}
|
||||
|
||||
#error_page 404 /404.html;
|
||||
|
||||
# redirect server error pages to the static page /50x.html
|
||||
#
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root /usr/share/nginx/html;
|
||||
}
|
||||
|
||||
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
|
||||
#
|
||||
#location ~ \.php$ {
|
||||
# proxy_pass http://127.0.0.1;
|
||||
#}
|
||||
|
||||
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
|
||||
#
|
||||
#location ~ \.php$ {
|
||||
# root html;
|
||||
# fastcgi_pass 127.0.0.1:9000;
|
||||
# fastcgi_index index.php;
|
||||
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
|
||||
# include fastcgi_params;
|
||||
#}
|
||||
|
||||
# deny access to .htaccess files, if Apache's document root
|
||||
# concurs with nginx's one
|
||||
#
|
||||
#location ~ /\.ht {
|
||||
# deny all;
|
||||
#}
|
||||
}
|
||||
@@ -113,7 +113,6 @@ A collection of Angular components for generic use.
|
||||
| [Json Cell component](core/components/json-cell.component.md) | Shows a JSON-formatted value inside a datatable component. | [Source](../lib/core/src/lib/datatable/components/json-cell/json-cell.component.ts) |
|
||||
| [Language Menu component](core/components/language-menu.component.md) | Displays all the languages that are present in "app.config.json" and the default (EN). | [Source](../lib/core/src/lib/language-menu/language-menu.component.ts) |
|
||||
| [Login Dialog Panel component](core/components/login-dialog-panel.component.md) | Shows and manages a login dialog. | [Source](../lib/core/src/lib/login/components/login-dialog-panel.component.ts) |
|
||||
| [Login Dialog component](core/components/login-dialog.component.md) | Allows a user to perform a login via a dialog. | [Source](../lib/core/src/lib/login/components/login-dialog.component.ts) |
|
||||
| [Login component](core/components/login.component.md) | Authenticates to Alfresco Content Services and Alfresco Process Services. | [Source](../lib/core/src/lib/login/components/login.component.ts) |
|
||||
| [Notification History component](core/components/notification-history.component.md)  | This component is in the current status just an experimental component. The main purpose of the Notification history component is list all the notification received in the current session. They will disappear from the list after the refresh. | [Source](../lib/core/src/lib/notifications/components/notification-history.component.ts) | |
|
||||
| [Pagination Component](core/components/pagination.component.md) | Adds pagination to the component it is used with. | [Source](../lib/core/src/lib/pagination/pagination.component.ts) |
|
||||
@@ -222,7 +221,6 @@ A collection of Angular components for generic use.
|
||||
| [Identity user service](core/services/identity-user.service.md) | Gets OAuth2 personal details and roles for users and performs CRUD operations on identity users. | [Source](../lib/process-services-cloud/src/lib/people/services/identity-user.service.ts) |
|
||||
| [JWT helper service](core/services/jwt-helper.service.md) | Decodes a JSON Web Token (JWT) to a JavaScript object. | [Source](../lib/core/src/lib/auth/services/jwt-helper.service.ts) |
|
||||
| [Log Service](core/services/log.service.md) | Provides log functionality. | [Source](../lib/core/src/lib/common/services/log.service.ts) |
|
||||
| [Login Dialog service](core/services/login-dialog.service.md) | Manages login dialogs. | [Source](../lib/core/src/lib/services/login-dialog.service.ts) |
|
||||
| [Nodes Api service](core/services/nodes-api.service.md) | Accesses and manipulates ACS document nodes using their node IDs. | [Source](../lib/content-services/src/lib/common/services/nodes-api.service.ts) |
|
||||
| [Notification Service](core/services/notification.service.md) | Shows a notification message with optional feedback. | [Source](../lib/core/src/lib/notifications/services/notification.service.ts) |
|
||||
| [Page Title service](core/services/page-title.service.md) | Sets the page title. | [Source](../lib/core/src/lib/common/services/page-title.service.ts) |
|
||||
@@ -472,12 +470,10 @@ for more information about installing and using the source code.
|
||||
|
||||
| Name | Description | Source link |
|
||||
| ---- | ----------- | ----------- |
|
||||
| [App List Cloud Component](process-services-cloud/components/app-list-cloud.component.md)  | Shows all deployed cloud application instances. | [Source](../lib/process-services-cloud/src/lib/app/components/app-list-cloud.component.ts) |
|
||||
| [Edit Process Filter Cloud component](process-services-cloud/components/edit-process-filter-cloud.component.md)  | Shows/edits process filter details. | [Source](../lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter/edit-process-filter-cloud.component.ts) |
|
||||
| [Edit Task Filter Cloud component](process-services-cloud/components/edit-task-filter-cloud.component.md)  | Edits task filter details. | [Source](../lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filters/edit-task-filter-cloud.component.ts) |
|
||||
| [Form cloud custom outcomes component](process-services-cloud/components/form-cloud-custom-outcome.component.md) | Supplies custom outcome buttons to be included in Form cloud component. | [Source](../lib/process-services-cloud/src/lib/form/components/form-cloud-custom-outcomes.component.ts) |
|
||||
| [Form cloud component](process-services-cloud/components/form-cloud.component.md) | Shows a form from Process Services. | [Source](../lib/process-services-cloud/src/lib/form/components/form-cloud.component.ts) |
|
||||
| [Form Definition Selector Cloud](process-services-cloud/components/form-definition-selector-cloud.component.md) | Allows one form to be selected from a dropdown list. For forms to be displayed in this component they will need to be compatible with standAlone tasks. | [Source](../lib/process-services-cloud/src/lib/form/components/form-definition-selector-cloud.component.ts) |
|
||||
| [Group Cloud component](process-services-cloud/components/group-cloud.component.md)  | Searches Groups. | [Source](../lib/process-services-cloud/src/lib/group/components/group-cloud.component.ts) |
|
||||
| [](process-services-cloud/components/people-cloud.component.md) | Title: People Cloud Component | |
|
||||
|
||||
|
||||
@@ -15,7 +15,8 @@ Displays comments from users involved in a specified content and allows an invol
|
||||
```html
|
||||
<adf-node-comments
|
||||
[nodeId]="YOUR_NODE_ID"
|
||||
[readOnly]="YOUR_READ_ONLY_FLAG">
|
||||
[readOnly]="YOUR_READ_ONLY_FLAG"
|
||||
(commentAdded)="onCommentAdded($event)">
|
||||
</adf-node-comments>
|
||||
```
|
||||
|
||||
@@ -23,7 +24,13 @@ Displays comments from users involved in a specified content and allows an invol
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| nodeId | `string` | | nodeId of the document that has comments |
|
||||
| readOnly | `boolean` | | make the [comments component](../../core/components/comments.component.md) readOnly |
|
||||
| Name | Type | Default value | Description |
|
||||
| -------- | --------- | ------------- | ----------------------------------------------------------------------------------- |
|
||||
| nodeId | `string` | | nodeId of the document that has comments |
|
||||
| readOnly | `boolean` | | make the [comments component](../../core/components/comments.component.md) readOnly |
|
||||
|
||||
### Events
|
||||
|
||||
| Name | Type | Description |
|
||||
| ------------ | ------------------------------------------------------------------------ | ------------------------------------------------- |
|
||||
| commentAdded | [`EventEmitter`](https://angular.io/api/core/EventEmitter)<CommentModel> | Emitted when a new comment is successfully added. |
|
||||
|
||||
@@ -25,12 +25,13 @@ before that release, please ensure that your component configuration is updated
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
|--------------|-----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| field | string | Field to apply the query to. Required value |
|
||||
| maxDate | string | A fixed date (default format: dd-MMM-yy) or the string `"today"` that will set the maximum searchable date. Default is today. |
|
||||
| dateFormat | string | Date format. Dates used by the datepicker are Javascript Date objects, using [date-fns](https://date-fns.org/v2.30.0/docs/format) for formatting, so you can use any date format supported by the library. Default is 'dd-MMM-yy (sample date - 07-Jun-23) |
|
||||
| initialValue | SearchDateRange | Initial value for the component |
|
||||
| Name | Type | Description |
|
||||
|--------------|-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| field | string | Field to apply the query to. Required value |
|
||||
| maxDate | string | A fixed date (default format: dd-MMM-yy) or the string `"today"` that will set the maximum searchable date. Default is today. |
|
||||
| dateFormat | string | Date format. Dates used by the datepicker are Javascript Date objects, using [date-fns](https://date-fns.org/v2.30.0/docs/format) for formatting, so you can use any date format supported by the library. Default is 'dd-MMM-yy (sample date - 07-Jun-23) |
|
||||
| initialValue | SearchDateRange | Initial value for the component |
|
||||
| onReset$ | [`Observable`](http://reactivex.io/documentation/observable.html)`<void>` | Reset event observable |
|
||||
|
||||
### Events
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ Adds and retrieves comments for nodes in Content Services.
|
||||
Gets all comments that have been added to a task.
|
||||
- _id:_ `string` - ID of the target task
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`CommentModel`](../../../lib/core/src/lib/models/comment.model.ts)`[]>` - Details for each comment
|
||||
- **getUserImage**(avatarId: `string`): `string`<br/>
|
||||
Gets the URL for the user's profile image.
|
||||
- _avatarId:_ `string` - ID of the user
|
||||
- **Returns** `string` - URL for the user's profile image
|
||||
- **getUserImage**(userId: `string`): `string`<br/>
|
||||
Returns the avatar URL for the specified user.
|
||||
- _userId:_ `string` - ID of the user
|
||||
- **Returns** `string` - URL of the user's avatar image
|
||||
|
||||
@@ -15,7 +15,8 @@ Displays comments from users involved in a specified environment and allows an i
|
||||
```html
|
||||
<adf-comments
|
||||
[id]="YOUR_ID"
|
||||
[readOnly]="YOUR_READ_ONLY_FLAG">
|
||||
[readOnly]="YOUR_READ_ONLY_FLAG"
|
||||
(commentAdded)="onCommentAdded($event)">
|
||||
</adf-comments>
|
||||
```
|
||||
|
||||
@@ -23,13 +24,14 @@ Displays comments from users involved in a specified environment and allows an i
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| id | `string` | | The numeric ID of the task. |
|
||||
| readOnly | `boolean` | false | Are the comments read only? |
|
||||
| Name | Type | Default value | Description |
|
||||
| -------- | --------- | ------------- | --------------------------- |
|
||||
| id | `string` | | The numeric ID of the task. |
|
||||
| readOnly | `boolean` | false | Are the comments read only? |
|
||||
|
||||
### Events
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| error | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when an error occurs while displaying/adding a comment. |
|
||||
| Name | Type | Description |
|
||||
| ------------ | --------------------------------------------------------------------------- | --------------------------------------------------------------- |
|
||||
| error | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when an error occurs while displaying/adding a comment. |
|
||||
| commentAdded | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<CommentModel>` | Emitted when a new comment is successfully added. |
|
||||
|
||||
@@ -16,12 +16,3 @@ Shows and manages a login dialog.
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| success | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`LoginSuccessEvent`](../../../lib/core/src/lib/login/models/login-success.event.ts)`>` | Emitted when the login succeeds. |
|
||||
|
||||
## Details
|
||||
|
||||
This component has similar features to the [Login Dialog component](login-dialog.component.md)
|
||||
but it also creates and manages the dialog for you.
|
||||
|
||||
## See also
|
||||
|
||||
- [Login Dialog component](login-dialog.component.md)
|
||||
|
||||
@@ -1,89 +0,0 @@
|
||||
---
|
||||
Title: Login Dialog component
|
||||
Added: v2.6.0
|
||||
Status: Active
|
||||
Last reviewed: 2018-10-02
|
||||
---
|
||||
|
||||
# [Login Dialog component](../../../lib/core/src/lib/login/components/login-dialog.component.ts "Defined in login-dialog.component.ts")
|
||||
|
||||
Allows a user to perform a login via a dialog.
|
||||
|
||||
## Details
|
||||
|
||||
The [Login Dialog component](login-dialog.component.md) allows you to perform a login via a dialog.
|
||||
|
||||
### Showing the dialog
|
||||
|
||||
Unlike most components, the [Login Dialog Component](login-dialog.component.md) is typically shown in a dialog box
|
||||
rather than the main page and you are responsible for opening the dialog yourself. You can use the
|
||||
[Angular Material Dialog](https://material.angular.io/components/dialog/overview) for this,
|
||||
as shown in the usage example. ADF provides the [`LoginDialogComponentData`](../../../lib/core/src/lib/login/components/login-dialog-component-data.interface.ts) interface
|
||||
to work with the Dialog's
|
||||
[data option](https://material.angular.io/components/dialog/overview#sharing-data-with-the-dialog-component-):
|
||||
|
||||
```ts
|
||||
export interface LoginDialogComponentData {
|
||||
title: string;
|
||||
actionName?: string;
|
||||
logged: Subject<any>;
|
||||
}
|
||||
```
|
||||
|
||||
The properties are described in the table below:
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| title | `string` | "" | Dialog title |
|
||||
| actionName | `string` | "" | Text to appear on the dialog's main action button ("Login", "Access", etc) |
|
||||
| logged | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | | Event emitted when the login succeeds. |
|
||||
|
||||
If you don't want to manage the dialog yourself then it is easier to use the
|
||||
[Login Dialog Panel component](login-dialog-panel.component.md), or the
|
||||
methods of the [Login Dialog service](../services/login-dialog.service.md), which create
|
||||
the dialog for you.
|
||||
|
||||
### Usage example
|
||||
|
||||
```ts
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { LoginDialogComponentData, LoginDialogComponent} from '@adf/core'
|
||||
import { Subject } from 'rxjs/Subject';
|
||||
...
|
||||
|
||||
constructor(dialog: MatDialog ... ) {}
|
||||
|
||||
openLoginDialog() {
|
||||
data: LoginDialogComponentData = {
|
||||
title: "Perform a Login",
|
||||
actionName: "Access",
|
||||
logged: new Subject<any>()
|
||||
};
|
||||
|
||||
this.dialog.open(
|
||||
LoginDialogComponent,
|
||||
{
|
||||
data, panelClass: 'adf-login-dialog',
|
||||
width: '630px'
|
||||
}
|
||||
);
|
||||
|
||||
data.logged.subscribe(() => {
|
||||
// Action after being logged in...
|
||||
},
|
||||
(error)=>{
|
||||
//your error handling
|
||||
},
|
||||
()=>{
|
||||
//action called when an action or cancel is clicked on the dialog
|
||||
this.dialog.closeAll();
|
||||
});
|
||||
}
|
||||
```
|
||||
|
||||
All the results will be streamed to the logged [subject](http://reactivex.io/rxjs/manual/overview.html#subject) present in the [`LoginDialogComponentData`](../../../lib/core/src/lib/login/components/login-dialog-component-data.interface.ts) object passed to the dialog.
|
||||
When the dialog action is selected by clicking, the `data.logged` stream will be completed.
|
||||
|
||||
## See also
|
||||
|
||||
- [Login component](login.component.md)
|
||||
@@ -196,7 +196,6 @@ You can access an external provider to get an auth token for a user:
|
||||
"oauth2" : {
|
||||
"host": "http://myhost.com",
|
||||
"clientId": "my-client-id",
|
||||
"secret": ""
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -294,7 +293,6 @@ enabled the setting in `app.config.json`) then the [login component](login.compo
|
||||
"host": "<AUTH-SERVER>/auth/realms/alfresco",
|
||||
"clientId": "activiti",
|
||||
"scope": "openid",
|
||||
"secret": "",
|
||||
"implicitFlow": true,
|
||||
"silentLogin": false,
|
||||
"redirectUri": "/",
|
||||
@@ -324,7 +322,6 @@ You can also enable automatic redirection to the OAuth provider using the follow
|
||||
"host": "<AUTH-SERVER>/auth/realms/alfresco",
|
||||
"clientId": "alfresco",
|
||||
"scope": "openid",
|
||||
"secret": "",
|
||||
"implicitFlow": true,
|
||||
"silentLogin": true,
|
||||
"redirectSilentIframeUri": "/assets/silent-refresh.html",
|
||||
|
||||
@@ -60,37 +60,38 @@ See the [Custom layout](#custom-layout) section for full details of all availabl
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| allowFullScreen | `boolean` | true | Toggles the 'Full Screen' feature. |
|
||||
| allowGoBack | `boolean` | true | Allows `back` navigation. |
|
||||
| closeButtonPosition | `CloseButtonPosition` | `left` | Set close button position right/left. |
|
||||
| hideInfoButton | `boolean` | false | Toggles Info button. |
|
||||
| allowLeftSidebar | `boolean` | false | Allow the left the sidebar. |
|
||||
| allowNavigate | `boolean` | false | Toggles before/next navigation. You can use the arrow buttons to navigate between documents in the collection. |
|
||||
| allowRightSidebar | `boolean` | false | Allow the right sidebar. |
|
||||
| blobFile | [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) | | Loads a [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob) File |
|
||||
| canNavigateBefore | `boolean` | true | Toggles the "before" ("<") button. Requires `allowNavigate` to be enabled. |
|
||||
| canNavigateNext | `boolean` | true | Toggles the next (">") button. Requires `allowNavigate` to be enabled. |
|
||||
| fileName | `string` | | Override Content filename. |
|
||||
| mimeType | `string` | | Overload mimeType |
|
||||
| overlayMode | `boolean` | false | If `true` then show the Viewer as a full page over the current content. Otherwise fit inside the parent div. |
|
||||
| readOnly | `boolean` | true | Enable when where is possible the editing functionalities |
|
||||
| allowedEditActions | `{ [key: string]: boolean }` | `{ rotate: true, crop: true }` | Controls which editing actions are enabled when not in read-only mode. Allows granular control over actions like rotation and cropping. |
|
||||
| showLeftSidebar | `boolean` | false | Toggles left sidebar visibility. Requires `allowLeftSidebar` to be set to `true`. |
|
||||
| showRightSidebar | `boolean` | false | Toggles right sidebar visibility. Requires `allowRightSidebar` to be set to `true`. |
|
||||
| showToolbar | `boolean` | true | Hide or show the toolbar |
|
||||
| showViewer | `boolean` | true | Hide or show the viewer |
|
||||
| sidebarLeftTemplate | [`TemplateRef`](https://angular.io/api/core/TemplateRef)`<any>` | null | The template for the left sidebar. The template context contains the loaded node data. |
|
||||
| sidebarLeftTemplateContext | | null | Context object available for binding by the local sidebarLeftTemplate with let declarations. |
|
||||
| sidebarRightTemplate | [`TemplateRef`](https://angular.io/api/core/TemplateRef)`<any>` | null | The template for the right sidebar. The template context contains the loaded node data. |
|
||||
| sidebarRightTemplateContext | | null | Context object available for binding by the local sidebarRightTemplate with let declarations. |
|
||||
| tracks | [`Track`](../../../lib/core/src/lib/viewer/models/viewer.model.ts)`[]` | \[] | media subtitles for the media player |
|
||||
| urlFile | `string` | "" | If you want to load an external file that does not come from ACS you can use this URL to specify where to load the file from. |
|
||||
| viewerExtensions | [`TemplateRef`](https://angular.io/api/core/TemplateRef)`<any>` | null | Template containing ViewerExtensionDirective instances providing different viewer extensions based on supported file extension. |
|
||||
| nodeId | `string` | null | Identifier of a node opened by a viewer. |
|
||||
| nodeMimeType | `string` | undefined | Original node mime type, should be provided when renditiona mime type is different. |
|
||||
| customError | `string` | undefined | Custom error message to be displayed in the viewer. |
|
||||
| Name | Type | Default value | Description |
|
||||
|-----------------------------| ---- | ------------- |-----------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| allowFullScreen | `boolean` | true | Toggles the 'Full Screen' feature. |
|
||||
| allowGoBack | `boolean` | true | Allows `back` navigation. |
|
||||
| closeButtonPosition | `CloseButtonPosition` | `left` | Set close button position right/left. |
|
||||
| hideInfoButton | `boolean` | false | Toggles Info button. |
|
||||
| allowLeftSidebar | `boolean` | false | Allow the left the sidebar. |
|
||||
| allowNavigate | `boolean` | false | Toggles before/next navigation. You can use the arrow buttons to navigate between documents in the collection. |
|
||||
| allowRightSidebar | `boolean` | false | Allow the right sidebar. |
|
||||
| blobFile | [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) | | Loads a [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob) File |
|
||||
| canNavigateBefore | `boolean` | true | Toggles the "before" ("<") button. Requires `allowNavigate` to be enabled. |
|
||||
| canNavigateNext | `boolean` | true | Toggles the next (">") button. Requires `allowNavigate` to be enabled. |
|
||||
| fileName | `string` | | Override Content filename. |
|
||||
| title | `string` | | Override Content title. |
|
||||
| mimeType | `string` | | Overload mimeType |
|
||||
| overlayMode | `boolean` | false | If `true` then show the Viewer as a full page over the current content. Otherwise fit inside the parent div. |
|
||||
| readOnly | `boolean` | true | Enable when where is possible the editing functionalities |
|
||||
| allowedEditActions | `{ [key: string]: boolean }` | `{ rotate: true, crop: true }` | Controls which editing actions are enabled when not in read-only mode. Allows granular control over actions like rotation and cropping. |
|
||||
| showLeftSidebar | `boolean` | false | Toggles left sidebar visibility. Requires `allowLeftSidebar` to be set to `true`. |
|
||||
| showRightSidebar | `boolean` | false | Toggles right sidebar visibility. Requires `allowRightSidebar` to be set to `true`. |
|
||||
| showToolbar | `boolean` | true | Hide or show the toolbar |
|
||||
| showViewer | `boolean` | true | Hide or show the viewer |
|
||||
| sidebarLeftTemplate | [`TemplateRef`](https://angular.io/api/core/TemplateRef)`<any>` | null | The template for the left sidebar. The template context contains the loaded node data. |
|
||||
| sidebarLeftTemplateContext | | null | Context object available for binding by the local sidebarLeftTemplate with let declarations. |
|
||||
| sidebarRightTemplate | [`TemplateRef`](https://angular.io/api/core/TemplateRef)`<any>` | null | The template for the right sidebar. The template context contains the loaded node data. |
|
||||
| sidebarRightTemplateContext | | null | Context object available for binding by the local sidebarRightTemplate with let declarations. |
|
||||
| tracks | [`Track`](../../../lib/core/src/lib/viewer/models/viewer.model.ts)`[]` | \[] | media subtitles for the media player |
|
||||
| urlFile | `string` | "" | If you want to load an external file that does not come from ACS you can use this URL to specify where to load the file from. |
|
||||
| viewerExtensions | [`TemplateRef`](https://angular.io/api/core/TemplateRef)`<any>` | null | Template containing ViewerExtensionDirective instances providing different viewer extensions based on supported file extension. |
|
||||
| nodeId | `string` | null | Identifier of a node opened by a viewer. |
|
||||
| nodeMimeType | `string` | undefined | Original node mime type, should be provided when renditiona mime type is different. |
|
||||
| customError | `string` | undefined | Custom error message to be displayed in the viewer. |
|
||||
|
||||
### Events
|
||||
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
Title: Authentication Service
|
||||
Added: v2.0.0
|
||||
Status: Active
|
||||
Last reviewed: 2019-03-19
|
||||
Last reviewed: 2025-06-12
|
||||
---
|
||||
|
||||
# [Authentication Service](../../../lib/core/src/lib/auth/services/authentication.service.ts "Defined in authentication.service.ts")
|
||||
# Authentication Service
|
||||
|
||||
Provides authentication to ACS and APS.
|
||||
|
||||
@@ -13,103 +13,57 @@ Provides authentication to ACS and APS.
|
||||
|
||||
### Methods
|
||||
|
||||
- **addTokenToHeader**(headersArg?: `HttpHeaders`): [`Observable`](http://reactivex.io/documentation/observable.html)`<HttpHeaders>`<br/>
|
||||
- **addTokenToHeader**(requestUrl: `string`, headersArg?: `HttpHeaders`): [`Observable`](http://reactivex.io/documentation/observable.html)`<HttpHeaders>`<br/>
|
||||
Adds the auth token to an HTTP header using the 'bearer' scheme.
|
||||
- _requestUrl:_ `string` - The URL of the request for which to set authentication headers.
|
||||
- _headersArg:_ `HttpHeaders` - (Optional) Header that will receive the token
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<HttpHeaders>` - The new header with the token added
|
||||
- **getBearerExcludedUrls**()<br/>
|
||||
Gets the set of URLs that the token bearer is excluded from.
|
||||
- **getBpmLoggedUser**(): [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`UserRepresentation`](https://github.com/Alfresco/alfresco-js-api/blob/develop/src/api/activiti-rest-api/docs/UserRepresentation.md)`>`<br/>
|
||||
Gets information about the user currently logged into APS.
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<`[`UserRepresentation`](https://github.com/Alfresco/alfresco-js-api/blob/develop/src/api/activiti-rest-api/docs/UserRepresentation.md)`>` - User information
|
||||
- **getBpmUsername**(): `string`<br/>
|
||||
Gets the BPM username
|
||||
- **Returns** `string` - The BPM username
|
||||
- **getEcmUsername**(): `string`<br/>
|
||||
Gets the ECM username.
|
||||
- **Returns** `string` - The ECM username
|
||||
- **getRedirect**(): `string`<br/>
|
||||
Gets the URL to redirect to after login.
|
||||
- **Returns** `string` - The redirect URL
|
||||
- **getTicketBpm**(): `string|null`<br/>
|
||||
Gets the BPM ticket stored in the Storage.
|
||||
- **Returns** `string|null` - The ticket or `null` if none was found
|
||||
- **getTicketEcm**(): `string|null`<br/>
|
||||
Gets the ECM ticket stored in the Storage.
|
||||
- **Returns** `string|null` - The ticket or `null` if none was found
|
||||
- **getTicketEcmBase64**(): `string|null`<br/>
|
||||
Gets the BPM ticket from the Storage in Base 64 format.
|
||||
- **Returns** `string|null` - The ticket or `null` if none was found
|
||||
- **getToken**(): `string`<br/>
|
||||
Gets the auth token.
|
||||
- **Returns** `string` - Auth token string
|
||||
- **handleError**(error: `any`): [`Observable`](http://reactivex.io/documentation/observable.html)`<any>`<br/>
|
||||
Prints an error message in the console browser
|
||||
- _error:_ `any` - Error message
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<any>` - Object representing the error message
|
||||
- **getUsername**(): `string`<br/>
|
||||
Gets the username of the authenticated user.
|
||||
- **Returns** `string` - Username of the authenticated user
|
||||
- **getAuthHeaders**(requestUrl: `string`, headers: `HttpHeaders`): `HttpHeaders`<br/>
|
||||
Gets and sets the necessary authentication headers for a given request URL.
|
||||
- _requestUrl:_ `string` - The URL of the request for which to obtain authentication headers.
|
||||
- _headers:_ `HttpHeaders` - The existing HTTP headers to which authentication details might be added.
|
||||
- **Returns** `HttpHeaders` - The HTTP headers object, potentially updated with authentication tokens.
|
||||
- **isALLProvider**(): `boolean`<br/>
|
||||
Does the provider support both ECM and BPM?
|
||||
- **Returns** `boolean` - True if both are supported, false otherwise
|
||||
- **isAuthCodeFlow**(): `boolean`<br/>
|
||||
|
||||
- **Returns** `boolean` -
|
||||
|
||||
- **isBPMProvider**(): `boolean`<br/>
|
||||
Does the provider support BPM?
|
||||
- **Returns** `boolean` - True if supported, false otherwise
|
||||
- **isBpmLoggedIn**(): `boolean`<br/>
|
||||
Checks if the user is logged in on a BPM provider.
|
||||
- **Returns** `boolean` - True if logged in, false otherwise
|
||||
- **isECMProvider**(): `boolean`<br/>
|
||||
Does the provider support ECM?
|
||||
- **Returns** `boolean` - True if supported, false otherwise
|
||||
- **isEcmLoggedIn**(): `boolean`<br/>
|
||||
Checks if the user is logged in on an ECM provider.
|
||||
- **Returns** `boolean` - True if logged in, false otherwise
|
||||
- **isImplicitFlow**(): `boolean`<br/>
|
||||
|
||||
- **Returns** `boolean` -
|
||||
|
||||
- **isKerberosEnabled**(): `boolean`<br/>
|
||||
Does kerberos enabled?
|
||||
- **Returns** `boolean` - True if enabled, false otherwise
|
||||
- **isLoggedIn**(): `boolean`<br/>
|
||||
Checks if the user logged in.
|
||||
- **Returns** `boolean` - True if logged in, false otherwise
|
||||
- **isLoggedInWith**(provider: `string`): `boolean`<br/>
|
||||
|
||||
- _provider:_ `string` -
|
||||
- **Returns** `boolean` -
|
||||
|
||||
- **isOauth**(): `boolean`<br/>
|
||||
Does the provider support OAuth?
|
||||
- **Returns** `boolean` - True if supported, false otherwise
|
||||
- **isPublicUrl**(): `boolean`<br/>
|
||||
|
||||
- **Returns** `boolean` -
|
||||
|
||||
- **isRememberMeSet**(): `boolean`<br/>
|
||||
Checks whether the "remember me" cookie was set or not.
|
||||
- **Returns** `boolean` - True if set, false otherwise
|
||||
- **login**(username: `string`, password: `string`, rememberMe: `boolean` = `false`): [`Observable`](http://reactivex.io/documentation/observable.html)`<Function>`<br/>
|
||||
- **login**(username: `string`, password: `string`, rememberMe?: `boolean`): [`Observable`](http://reactivex.io/documentation/observable.html)`<{ type: string; ticket: any }>`<br/>
|
||||
Logs the user in.
|
||||
- _username:_ `string` - Username for the login
|
||||
- _password:_ `string` - Password for the login
|
||||
- _rememberMe:_ `boolean` - Stores the user's login details if true
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<Function>` - Object with auth type ("ECM", "BPM" or "ALL") and auth ticket
|
||||
- **logout**(): [`Observable`](http://reactivex.io/documentation/observable.html)`<any>`<br/>
|
||||
Logs the user out.
|
||||
- _rememberMe:_ `boolean` - (Optional) Stores the user's login details if true
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<{ type: string; ticket: any }>` - An Observable that emits an object containing the authentication type (`type`) and the authentication ticket (`ticket`) upon successful login.
|
||||
- **logout**(): [`Observable`](http://reactivex.io/documentation/observable.html)`<any>`<br/> Logs the user out.
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<any>` - Response event called when logout is complete
|
||||
- **reset**()<br/>
|
||||
|
||||
- **saveRememberMeCookie**(rememberMe: `boolean`)<br/>
|
||||
Saves the "remember me" cookie as either a long-life cookie or a session cookie.
|
||||
- _rememberMe:_ `boolean` - Enables a long-life cookie
|
||||
- **setRedirect**(url?: [`RedirectionModel`](../../../lib/core/src/lib/auth/models/redirection.model.ts))<br/>
|
||||
Sets the URL to redirect to after login.
|
||||
- _url:_ [`RedirectionModel`](../../../lib/core/src/lib/auth/models/redirection.model.ts) - (Optional) URL to redirect to
|
||||
- **ssoImplicitLogin**()<br/>
|
||||
Logs the user in with SSO
|
||||
- **reset**(): `void`<br/>Resets the authentication state of the service.
|
||||
- **on**(event: `string`, listener: `Function`): `void`<br/> Adds an event listener for the specified event.
|
||||
- **off**(event: `string`, listener?: `Function`): `void`<br/> Removes an event listener for the specified event.
|
||||
- **once**(event: `string`, listener: `Function`): `void`<br/> Adds a one-time event listener for the specified event.
|
||||
- **emit**(event: `string`, ...args: `any[]`): `void`<br/> Emits an event with optional arguments.
|
||||
- **onLogin**: [`Subject`](https://reactivex.io/documentation/subject)`<any>`<br/> Emitted when the user logs in successfully.
|
||||
- **onLogout**: [`Subject`](https://reactivex.io/documentation/subject)`<any>`<br/> Emitted when the user logs out.
|
||||
- **onTokenReceived**: [`Subject`](https://reactivex.io/documentation/subject)`<any>`<br/> Emitted when an authentication token is received.
|
||||
- **onError**: [`Observable`](http://reactivex.io/documentation/observable.html)`<any>`<br/> An Observable that emits an error object when an authentication-related error occurs.
|
||||
|
||||
## Details
|
||||
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
---
|
||||
Title: Login Dialog service
|
||||
Added: v2.6.0
|
||||
Status: Active
|
||||
Last reviewed: 2019-02-08
|
||||
---
|
||||
|
||||
# [Login Dialog service](../../../lib/core/src/lib/services/login-dialog.service.ts "Defined in login-dialog.service.ts")
|
||||
|
||||
Manages login dialogs.
|
||||
|
||||
## Methods
|
||||
|
||||
- **openLogin**(actionName: `string`, title: `string`): [`Observable`](http://reactivex.io/documentation/observable.html)`<string>`<br/>
|
||||
Opens a login dialog.
|
||||
- _actionName:_ `string` - Text to show in the main action button
|
||||
- _title:_ `string` - Title for the login dialog
|
||||
- **Returns** [`Observable`](http://reactivex.io/documentation/observable.html)`<string>` - Confirmation of login from the dialog
|
||||
- **close**(): `<void>`<br/>
|
||||
Closes the currently open login dialog.
|
||||
|
||||
## Details
|
||||
|
||||
Use the methods of this service to manage login dialogs from code. As an alternative, you may
|
||||
find it easier to use the [Login dialog component](../components/login-dialog.component.md) to display the
|
||||
dialog directly from HTML.
|
||||
|
||||
## See also
|
||||
|
||||
- [Login dialog component](../components/login-dialog.component.md)
|
||||
- [Login component](../components/login.component.md)
|
||||
@@ -65,7 +65,7 @@ class AppComponent {
|
||||
|
||||
onLoggedIn() {
|
||||
this.userPreferences.setStoragePrefix(
|
||||
this.authService.getEcmUsername()
|
||||
this.authService.getUsername()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,3 +55,7 @@ The pages linked below contain the licenses for all third party dependencies of
|
||||
- [ADF 7.0.0-alpha.6](license-info-7.0.0-alpha.6.md)
|
||||
- [ADF 7.0.0-alpha.7](license-info-7.0.0-alpha.7.md)
|
||||
- [ADF 7.0.0](license-info-7.0.0.md)
|
||||
- [ADF 8.0.0](license-info-8.0.0.md)
|
||||
- [ADF 8.1.0](license-info-8.1.0.md)
|
||||
- [ADF 8.1.1](license-info-8.1.1.md)
|
||||
- [ADF 8.2.0](license-info-8.2.0.md)
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
Title: License info, alfresco-ng2-components 8.0.0
|
||||
---
|
||||
|
||||
# License information for alfresco-ng2-components 8.0.0
|
||||
|
||||
This page lists all third party libraries the project depends on.
|
||||
|
||||
## Libraries
|
||||
|
||||
| Name | Version | License |
|
||||
| --- | --- | --- |
|
||||
| [@angular/animations](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/cdk](https://github.com/angular/components) | 19.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/common](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/compiler](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/core](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/forms](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/material-date-fns-adapter](https://github.com/angular/components) | 19.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/material](https://github.com/angular/components) | 19.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/platform-browser-dynamic](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/platform-browser](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/router](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@apollo/client](https://github.com/apollographql/apollo-client) | 3.13.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/eslint-plugin](https://github.com/streetsidesoftware/cspell) | 8.16.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@mat-datetimepicker/core](https://github.com/kuhnroyal/mat-datetimepicker) | 15.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| @ngx-translate/core | 16.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@nx/webpack](https://github.com/nrwl/nx) | 20.8.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [angular-oauth2-oidc-jwks](https://github.com/manfredsteyer/angular-oauth2-oidc) | 17.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [angular-oauth2-oidc](https://github.com/manfredsteyer/angular-oauth2-oidc) | 17.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [apollo-angular](https://github.com/kamilkisiela/apollo-angular) | 10.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [chart.js](https://github.com/chartjs/Chart.js) | 4.4.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cropperjs](https://github.com/fengyuanchen/cropperjs) | 1.6.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [date-fns](https://github.com/date-fns/date-fns) | 2.30.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [dotenv-expand](https://github.com/motdotla/dotenv-expand) | 11.0.7 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| dotenv-expand | 5.1.0 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [event-emitter](https://github.com/medikoo/event-emitter) | 0.3.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [graphql-ws](https://github.com/enisdenjo/graphql-ws) | 6.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [material-icons](https://github.com/marella/material-icons) | 1.13.14 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [minimatch-browser](https://github.com/isaacs/minimatch) | 1.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [ng2-charts](https://github.com/valor-software/ng2-charts) | 4.1.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [node-fetch](https://github.com/node-fetch/node-fetch) | 3.3.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [pdfjs-dist](https://github.com/mozilla/pdf.js) | 5.1.91 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [raphael](https://github.com/DmitryBaranovskiy/raphael) | 2.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [rxjs](https://github.com/reactivex/rxjs) | 7.8.2 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [superagent](https://github.com/ladjs/superagent) | 9.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ts-morph](https://github.com/dsherret/ts-morph) | 26.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [tslib](https://github.com/Microsoft/tslib) | 2.8.1 | [0BSD](http://landley.net/toybox/license.html) |
|
||||
| [zone.js](https://github.com/angular/angular) | 0.15.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
Title: License info, alfresco-ng2-components 8.1.0
|
||||
---
|
||||
|
||||
# License information for alfresco-ng2-components 8.1.0
|
||||
|
||||
This page lists all third party libraries the project depends on.
|
||||
|
||||
## Libraries
|
||||
|
||||
| Name | Version | License |
|
||||
| --- | --- | --- |
|
||||
| [@angular/animations](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/cdk](https://github.com/angular/components) | 19.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/common](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/compiler](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/core](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/forms](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/material-date-fns-adapter](https://github.com/angular/components) | 19.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/material](https://github.com/angular/components) | 19.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/platform-browser-dynamic](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/platform-browser](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/router](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@apollo/client](https://github.com/apollographql/apollo-client) | 3.13.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/eslint-plugin](https://github.com/streetsidesoftware/cspell) | 8.16.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@mat-datetimepicker/core](https://github.com/kuhnroyal/mat-datetimepicker) | 15.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| @ngx-translate/core | 16.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@nx/webpack](https://github.com/nrwl/nx) | 20.8.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [angular-oauth2-oidc-jwks](https://github.com/manfredsteyer/angular-oauth2-oidc) | 17.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [angular-oauth2-oidc](https://github.com/manfredsteyer/angular-oauth2-oidc) | 17.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [apollo-angular](https://github.com/kamilkisiela/apollo-angular) | 10.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [chart.js](https://github.com/chartjs/Chart.js) | 4.4.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cropperjs](https://github.com/fengyuanchen/cropperjs) | 1.6.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [date-fns](https://github.com/date-fns/date-fns) | 2.30.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [dotenv-expand](https://github.com/motdotla/dotenv-expand) | 11.0.7 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| dotenv-expand | 5.1.0 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [event-emitter](https://github.com/medikoo/event-emitter) | 0.3.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [graphql-ws](https://github.com/enisdenjo/graphql-ws) | 6.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [material-icons](https://github.com/marella/material-icons) | 1.13.14 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [minimatch-browser](https://github.com/isaacs/minimatch) | 1.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [ng2-charts](https://github.com/valor-software/ng2-charts) | 4.1.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [node-fetch](https://github.com/node-fetch/node-fetch) | 3.3.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [pdfjs-dist](https://github.com/mozilla/pdf.js) | 5.1.91 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [raphael](https://github.com/DmitryBaranovskiy/raphael) | 2.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [rxjs](https://github.com/reactivex/rxjs) | 7.8.2 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [superagent](https://github.com/ladjs/superagent) | 9.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ts-morph](https://github.com/dsherret/ts-morph) | 26.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [tslib](https://github.com/Microsoft/tslib) | 2.8.1 | [0BSD](http://landley.net/toybox/license.html) |
|
||||
| [zone.js](https://github.com/angular/angular) | 0.15.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
Title: License info, alfresco-ng2-components 8.1.1
|
||||
---
|
||||
|
||||
# License information for alfresco-ng2-components 8.1.1
|
||||
|
||||
This page lists all third party libraries the project depends on.
|
||||
|
||||
## Libraries
|
||||
|
||||
| Name | Version | License |
|
||||
| --- | --- | --- |
|
||||
| [@angular/animations](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/cdk](https://github.com/angular/components) | 19.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/common](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/compiler](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/core](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/forms](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/material-date-fns-adapter](https://github.com/angular/components) | 19.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/material](https://github.com/angular/components) | 19.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/platform-browser-dynamic](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/platform-browser](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/router](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@apollo/client](https://github.com/apollographql/apollo-client) | 3.13.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/eslint-plugin](https://github.com/streetsidesoftware/cspell) | 8.16.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@mat-datetimepicker/core](https://github.com/kuhnroyal/mat-datetimepicker) | 15.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| @ngx-translate/core | 16.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@nx/webpack](https://github.com/nrwl/nx) | 20.8.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [angular-oauth2-oidc-jwks](https://github.com/manfredsteyer/angular-oauth2-oidc) | 17.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [angular-oauth2-oidc](https://github.com/manfredsteyer/angular-oauth2-oidc) | 17.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [apollo-angular](https://github.com/kamilkisiela/apollo-angular) | 10.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [chart.js](https://github.com/chartjs/Chart.js) | 4.4.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cropperjs](https://github.com/fengyuanchen/cropperjs) | 1.6.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [date-fns](https://github.com/date-fns/date-fns) | 2.30.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [dotenv-expand](https://github.com/motdotla/dotenv-expand) | 11.0.7 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| dotenv-expand | 5.1.0 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| [event-emitter](https://github.com/medikoo/event-emitter) | 0.3.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [graphql-ws](https://github.com/enisdenjo/graphql-ws) | 6.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [material-icons](https://github.com/marella/material-icons) | 1.13.14 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [minimatch-browser](https://github.com/isaacs/minimatch) | 1.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [ng2-charts](https://github.com/valor-software/ng2-charts) | 4.1.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [node-fetch](https://github.com/node-fetch/node-fetch) | 3.3.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [pdfjs-dist](https://github.com/mozilla/pdf.js) | 5.1.91 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [raphael](https://github.com/DmitryBaranovskiy/raphael) | 2.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [rxjs](https://github.com/reactivex/rxjs) | 7.8.2 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [superagent](https://github.com/ladjs/superagent) | 9.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [ts-morph](https://github.com/dsherret/ts-morph) | 26.0.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [tslib](https://github.com/Microsoft/tslib) | 2.8.1 | [0BSD](http://landley.net/toybox/license.html) |
|
||||
| [zone.js](https://github.com/angular/angular) | 0.15.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
---
|
||||
Title: License info, alfresco-ng2-components 8.2.0
|
||||
---
|
||||
|
||||
# License information for alfresco-ng2-components 8.2.0
|
||||
|
||||
This page lists all third party libraries the project depends on.
|
||||
|
||||
## Libraries
|
||||
|
||||
| Name | Version | License |
|
||||
| --- | --- | --- |
|
||||
| [@angular/animations](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/cdk](https://github.com/angular/components) | 19.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/common](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/compiler](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/core](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/forms](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/material-date-fns-adapter](https://github.com/angular/components) | 19.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/material](https://github.com/angular/components) | 19.2.9 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/platform-browser-dynamic](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/platform-browser](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@angular/router](https://github.com/angular/angular) | 19.2.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@apollo/client](https://github.com/apollographql/apollo-client) | 3.13.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@cspell/eslint-plugin](https://github.com/streetsidesoftware/cspell) | 8.16.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@mat-datetimepicker/core](https://github.com/kuhnroyal/mat-datetimepicker) | 15.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| @ngx-translate/core | 16.0.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [@nx/webpack](https://github.com/nrwl/nx) | 20.8.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [angular-oauth2-oidc-jwks](https://github.com/manfredsteyer/angular-oauth2-oidc) | 17.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [angular-oauth2-oidc](https://github.com/manfredsteyer/angular-oauth2-oidc) | 17.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [apollo-angular](https://github.com/kamilkisiela/apollo-angular) | 10.0.3 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [chart.js](https://github.com/chartjs/Chart.js) | 4.4.4 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [cropperjs](https://github.com/fengyuanchen/cropperjs) | 1.6.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [date-fns](https://github.com/date-fns/date-fns) | 2.30.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [dotenv-expand](https://github.com/motdotla/dotenv-expand) | 11.0.7 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| dotenv-expand | 5.1.0 | [BSD-2-Clause](http://www.opensource.org/licenses/BSD-2-Clause) |
|
||||
| editorjs-html | 4.0.5 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [eventemitter3](https://github.com/primus/eventemitter3) | 4.0.7 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [eventemitter3](https://github.com/primus/eventemitter3) | 5.0.1 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [graphql-ws](https://github.com/enisdenjo/graphql-ws) | 6.0.6 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [material-icons](https://github.com/marella/material-icons) | 1.13.14 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [minimatch-browser](https://github.com/isaacs/minimatch) | 1.0.0 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [ng2-charts](https://github.com/valor-software/ng2-charts) | 4.1.1 | [ISC](https://www.isc.org/downloads/software-support-policy/isc-license/) |
|
||||
| [node-fetch](https://github.com/node-fetch/node-fetch) | 3.3.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [pdfjs-dist](https://github.com/mozilla/pdf.js) | 5.1.91 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [raphael](https://github.com/DmitryBaranovskiy/raphael) | 2.3.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [rxjs](https://github.com/reactivex/rxjs) | 7.8.2 | [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) |
|
||||
| [superagent](https://github.com/ladjs/superagent) | 9.0.2 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
| [tslib](https://github.com/Microsoft/tslib) | 2.8.1 | [0BSD](http://landley.net/toybox/license.html) |
|
||||
| [zone.js](https://github.com/angular/angular) | 0.15.0 | [MIT](http://www.opensource.org/licenses/MIT) |
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
---
|
||||
Title: App List Cloud Component
|
||||
Added: v3.0.0
|
||||
Status: Experimental
|
||||
Last reviewed: 2025-01-03
|
||||
---
|
||||
|
||||
# App List Cloud Component
|
||||
|
||||
`standalone`, `component`
|
||||
|
||||
Shows all deployed cloud application instances.
|
||||
|
||||
## Basic Usage
|
||||
|
||||
```html
|
||||
<adf-cloud-app-list [layoutType]="'GRID'" />
|
||||
```
|
||||
|
||||
### [Transclusions](../../user-guide/transclusion.md)
|
||||
|
||||
You can show custom content when there are no apps available by supplying an
|
||||
`<adf-custom-empty-content>` section:
|
||||
|
||||
```html
|
||||
<adf-cloud-app-list [layoutType]="'GRID'">
|
||||
<adf-custom-empty-content>
|
||||
No Apps present
|
||||
</adf-custom-empty-content>
|
||||
</adf-cloud-app-list>
|
||||
```
|
||||
|
||||
## Activiti 7
|
||||
|
||||
If you are generating a project for Activiti 7, you must add the list of apps you want to use in **app.config.json** .
|
||||
|
||||
For example :
|
||||
|
||||
```json
|
||||
{
|
||||
"alfresco-deployed-apps": [
|
||||
{
|
||||
"name": "simple-app"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Class members
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
|------------|----------|---------------|--------------------------------------------------------------------------------------------------|
|
||||
| layoutType | `string` | LAYOUT_GRID | (**required**) Defines the layout of the apps. There are two possible values, "GRID" and "LIST". |
|
||||
|
||||
### Events
|
||||
|
||||
| Name | Type | Description |
|
||||
|----------|------------------------------------------|---------------------------------------|
|
||||
| appClick | `EventEmitter<ApplicationInstanceModel>` | Emitted when an app entry is clicked. |
|
||||
@@ -85,13 +85,11 @@ The template defined inside `empty-form` will be shown when no form definition i
|
||||
| fieldValidators | [`FormFieldValidator`](../../../lib/core/src/lib/form/components/widgets/core/form-field-validator.ts)`[]` | | [FormFieldValidator](../../../lib/core/src/lib/form/components/widgets/core/form-field-validator.ts) allow to override the form field validators provided. |
|
||||
| form | [`FormModel`](../../../lib/core/src/lib/form/components/widgets/core/form.model.ts) | | Underlying form model instance. |
|
||||
| formId | `string` | | Task id to fetch corresponding form and values. |
|
||||
| isNextTaskCheckboxChecked | `boolean` | false | Whether the `Open next task` checkbox is checked by default or not. |
|
||||
| nameNode | `string` | | Name to assign to the new node where the metadata are stored. |
|
||||
| path | `string` | | Path of the folder where the metadata will be stored. |
|
||||
| processInstanceId | `string` | | ProcessInstanceId id to fetch corresponding form and values. |
|
||||
| readOnly | `boolean` | false | Toggle readonly state of the form. Forces all form widgets to render as readonly if enabled. |
|
||||
| showCompleteButton | `boolean` | true | Toggle rendering of the `Complete` outcome button. |
|
||||
| showNextTaskCheckbox | `boolean` | false | Toggle rendering of the `Open next task` checkbox. |
|
||||
| showRefreshButton | `boolean` | true | Toggle rendering of the `Refresh` button. |
|
||||
| showSaveButton | `boolean` | true | Toggle rendering of the `Save` outcome button. |
|
||||
| showTitle | `boolean` | true | Toggle rendering of the form title. |
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
---
|
||||
Title: Form Definition Selector Cloud
|
||||
Added: v3.3.0
|
||||
Status: Active
|
||||
---
|
||||
|
||||
# [Form Definition Selector Cloud](../../../lib/process-services-cloud/src/lib/form/components/form-definition-selector-cloud.component.ts "Defined in form-definition-selector-cloud.component.ts")
|
||||
|
||||
Allows one form to be selected from a dropdown list. For forms to be displayed in this component they will need to be compatible with standAlone tasks.
|
||||
|
||||
## Basic Usage
|
||||
|
||||
```html
|
||||
<adf-cloud-form-definition-selector
|
||||
[appName]="'simple-app'"
|
||||
(selectForm)="onFormSelect($event)">
|
||||
</adf-cloud-form-definition-selector>
|
||||
```
|
||||
|
||||
## Class members
|
||||
|
||||
### Properties
|
||||
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| appName | `string` | "" | Name of the application. If specified, this shows the users who have access to the app. |
|
||||
|
||||
### Events
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---- | ---- | ----------- |
|
||||
| selectForm | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<string>` | Emitted when a form is selected. |
|
||||
@@ -60,10 +60,12 @@ export class YourService extends ScreenRenderingService {
|
||||
| appName | `string` | "" | App id to fetch corresponding form and values. |
|
||||
| canClaimTask | `boolean` | | Boolean informing if a task can be claimed. |
|
||||
| canUnclaimTask | `boolean` | | Boolean informing if a task can be unclaimed. |
|
||||
| isNextTaskCheckboxChecked | `boolean` | false | Whether the `Open next task` checkbox is checked by default or not. |
|
||||
| processInstanceId | `string` | | Process Instance Id to fetch corresponding data. |
|
||||
| rootProcessInstanceId | `string` | | Root Process Instance Id to fetch corresponding data. |
|
||||
| readOnly | `boolean` | false | Toggle readonly state of the task. |
|
||||
| showCancelButton | `boolean` | true | Toggle rendering of the `Cancel` button. |
|
||||
| showNextTaskCheckbox | `boolean` | false | Toggle rendering of the `Open next task` checkbox (controlled internally by parent component). |
|
||||
| screenId | `string` | | Screen id to create dynamic component |
|
||||
| taskId | `string` | | Task id to fetch corresponding form and values. |
|
||||
| taskName | `string` | | Name of the task. |
|
||||
|
||||
@@ -37,11 +37,9 @@ Starts a process.
|
||||
| Name | Type | Default value | Description |
|
||||
| ---- | ---- | ------------- | ----------- |
|
||||
| appName | `string` | "" | (required) Name of the app. |
|
||||
| isNextTaskCheckboxChecked | `boolean` | false | Whether the `Open next task` checkbox is checked by default or not. |
|
||||
| maxNameLength | `number` | MAX_NAME_LENGTH | Maximum length of the process name. |
|
||||
| name | `string` | "" | Name of the process. |
|
||||
| processDefinitionName | `string` | | Name of the process definition. |
|
||||
| showNextTaskCheckbox | `boolean` | false | Toggle rendering of the `Open next task` checkbox. |
|
||||
| showSelectProcessDropdown | `boolean` | true | Show/hide the process dropdown list. |
|
||||
| showTitle | `boolean` | true | Show/hide title. |
|
||||
| values | [`TaskVariableCloud`](../../../lib/process-services-cloud/src/lib/form/models/task-variable-cloud.model.ts)`[]` | | Parameter to pass form field values in the start form if one is associated. |
|
||||
@@ -54,7 +52,6 @@ Starts a process.
|
||||
| cancel | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`ProcessInstanceCloud`](../../../lib/process-services-cloud/src/lib/process/start-process/models/process-instance-cloud.model.ts)`>` | Emitted when the starting process is cancelled |
|
||||
| error | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`ProcessInstanceCloud`](../../../lib/process-services-cloud/src/lib/process/start-process/models/process-instance-cloud.model.ts)`>` | Emitted when an error occurs. |
|
||||
| formContentClicked | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`ContentLinkModel`](../../../lib/core/src/lib/form/components/widgets/core/content-link.model.ts)`>` | Emitted when form content is clicked. |
|
||||
| nextTaskCheckboxCheckedChanged | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`MatCheckboxChange`](https://material.angular.io/components/checkbox/api#MatCheckboxChange)`>` | Emitted when the `Open next task` checkbox was toggled. |
|
||||
| processDefinitionSelection | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`ProcessDefinitionCloud`](../../../lib/process-services-cloud/src/lib/models/process-definition-cloud.model.ts)`>` | Emitted when process definition selection changes. |
|
||||
| success | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`ProcessInstanceCloud`](../../../lib/process-services-cloud/src/lib/process/start-process/models/process-instance-cloud.model.ts)`>` | Emitted when the process is successfully started. |
|
||||
|
||||
|
||||
@@ -36,11 +36,9 @@ Save and Complete buttons get disabled when at least one of the form's inputs ar
|
||||
| Name | Type | Default value | Description |
|
||||
| ------------------------- | ------------------------------------- | ------------- | ------------------------------------------------------------------- |
|
||||
| appName | `string` | "" | App id to fetch corresponding form and values. |
|
||||
| isNextTaskCheckboxChecked | `boolean` | false | Whether the `Open next task` checkbox is checked by default or not. |
|
||||
| readOnly | `boolean` | false | Toggle readonly state of the task. |
|
||||
| showCancelButton | `boolean` | true | Toggle rendering of the `Cancel` button. |
|
||||
| showCompleteButton | `boolean` | true | Toggle rendering of the `Complete` button. |
|
||||
| showNextTaskCheckbox | `boolean` | false | Toggle rendering of the `Open next task` checkbox. |
|
||||
| showRefreshButton | `boolean` | false | Toggle rendering of the `Refresh` button. |
|
||||
| showTitle | `boolean` | true | Toggle rendering of the form title. |
|
||||
| showValidationIcon | `boolean` | true | Toggle rendering of the `Validation` icon. |
|
||||
@@ -57,7 +55,6 @@ Save and Complete buttons get disabled when at least one of the form's inputs ar
|
||||
| formCompleted | `EventEmitter<FormModel>` | Emitted when the form is submitted with the `Complete` outcome. |
|
||||
| formContentClicked | `EventEmitter<ContentLinkModel>` | Emitted when form content is clicked. |
|
||||
| formSaved | `EventEmitter<FormModel>` | Emitted when the form is saved. |
|
||||
| nextTaskCheckboxCheckedChanged | `EventEmitter<MatCheckboxChange>` | Emitted when the `Open next task` checkbox was toggled. |
|
||||
| onTaskLoaded | `EventEmitter<TaskDetailsCloudModel>` | Emitted when a task is loaded. |
|
||||
| taskClaimed | `EventEmitter<string>` | Emitted when the task is claimed. |
|
||||
| taskCompleted | `EventEmitter<string>` | Emitted when the task is completed. |
|
||||
|
||||
@@ -44,7 +44,3 @@ For example :
|
||||
```json
|
||||
"alfresco-deployed-apps" : [{"name": "simple-app"}]
|
||||
```
|
||||
|
||||
## See also
|
||||
|
||||
- [App list cloud component](../components/app-list-cloud.component.md)
|
||||
|
||||
@@ -9,6 +9,10 @@ The first **General Availability** release was v2.0.0.
|
||||
|
||||
## General Availability
|
||||
|
||||
- [8.2.0](RelNote-8.2.0.md)
|
||||
- [8.1.1](RelNote-8.1.1.md)
|
||||
- [8.1.0](RelNote-8.1.0.md)
|
||||
- [8.0.0](RelNote-8.0.0.md)
|
||||
- [7.0.0](RelNote-7.0.0.md)
|
||||
- [7.0.0-alpha.7](RelNote-7.0.0-alpha.7.md)
|
||||
- [7.0.0-alpha.6](RelNote-7.0.0-alpha.6.md)
|
||||
|
||||
@@ -0,0 +1,129 @@
|
||||
---
|
||||
Title: Changelog for alfresco-ng2-components v8.0.0
|
||||
---
|
||||
|
||||
# Changelog
|
||||
|
||||
- [7aa07ef525](https://github.com/Alfresco/alfresco-ng2-components/commit/7aa07ef525) AAE-36614 new provideShell api (#11006)
|
||||
- [2ebee4c024](https://github.com/Alfresco/alfresco-ng2-components/commit/2ebee4c024) AAE-36615 new provideI18N api (#11007)
|
||||
- [b563e283c1](https://github.com/Alfresco/alfresco-ng2-components/commit/b563e283c1) [ACS-9789] Multiple styles issues for metadata sidebar (#11015)
|
||||
- [f1bdbf63b0](https://github.com/Alfresco/alfresco-ng2-components/commit/f1bdbf63b0) AAE-36368 Fixing labels and form-fields on content-ee and apa (#10982)
|
||||
- [0651dc25d5](https://github.com/Alfresco/alfresco-ng2-components/commit/0651dc25d5) [ACS-9790] Fix Tags and Categories content is missing during editing other panel (#11004)
|
||||
- [ec145fb73c](https://github.com/Alfresco/alfresco-ng2-components/commit/ec145fb73c) [ADF-5583] Update style to make version visible outside dialog (#11005)
|
||||
- [450a4a0a49](https://github.com/Alfresco/alfresco-ng2-components/commit/450a4a0a49) [ACS-9789] Multiple styles issues for metadata sidebar (#11002)
|
||||
- [11cb2ea688](https://github.com/Alfresco/alfresco-ng2-components/commit/11cb2ea688) AAE-36484 improved standalone support for Core (#10998)
|
||||
- [6a3623bd76](https://github.com/Alfresco/alfresco-ng2-components/commit/6a3623bd76) AAE-35676 Cleanup Open Next Task (#10952)
|
||||
- [5438eef9db](https://github.com/Alfresco/alfresco-ng2-components/commit/5438eef9db) AAE-36260 global test setup (#10970)
|
||||
- [e96f5b3c48](https://github.com/Alfresco/alfresco-ng2-components/commit/e96f5b3c48) [AAE-36397] ADF viewer image is no longer cropped (#10996)
|
||||
- [54fd097fab](https://github.com/Alfresco/alfresco-ng2-components/commit/54fd097fab) [ACS-9327] Add prohibited symbols validation for Categories dialog (#10985)
|
||||
- [9bed60befc](https://github.com/Alfresco/alfresco-ng2-components/commit/9bed60befc) AAE-30842 Fix rendering small devices again (#10986)
|
||||
- [c863da0c5d](https://github.com/Alfresco/alfresco-ng2-components/commit/c863da0c5d) [MNT-24459] Aspect list get all aspects when not all were fetched by first call (#10980)
|
||||
- [951b22e098](https://github.com/Alfresco/alfresco-ng2-components/commit/951b22e098) Angular 19 migration (#10795)
|
||||
- [c7f28d54d6](https://github.com/Alfresco/alfresco-ng2-components/commit/c7f28d54d6) [ADF-5581] Reset filterValue when navigating to a new folder to ensur… (#10978)
|
||||
- [d776c7c77d](https://github.com/Alfresco/alfresco-ng2-components/commit/d776c7c77d) AAE-35310 Displaying different text fields on an eform doesn't align vertically or horizontally (#10979)
|
||||
- [6dafcb4447](https://github.com/Alfresco/alfresco-ng2-components/commit/6dafcb4447) [ADF-5580] emit commentAdded event from adf-comments component (#10966)
|
||||
- [5d043e6987](https://github.com/Alfresco/alfresco-ng2-components/commit/5d043e6987) [PRODSEC-10305] Bump @nx/webpack & webpack-dev-server (#10976)
|
||||
- [57713dbe6e](https://github.com/Alfresco/alfresco-ng2-components/commit/57713dbe6e) [MNT-25175] configured scripts to execute are listed by node id and not by script name (#10969)
|
||||
- [8b3b6ffbca](https://github.com/Alfresco/alfresco-ng2-components/commit/8b3b6ffbca) AAE-36173 switch to TranslatePipe (#10968)
|
||||
- [16f42be08e](https://github.com/Alfresco/alfresco-ng2-components/commit/16f42be08e) AAE-35976 Adding auto required instead of manually handling styles manually (#10956)
|
||||
- [dcab68d78a](https://github.com/Alfresco/alfresco-ng2-components/commit/dcab68d78a) AAE-35632 Priority filter unit tests (#10965)
|
||||
- [f40107de33](https://github.com/Alfresco/alfresco-ng2-components/commit/f40107de33) AAE-34482 Modelling inconsistencies in mat form fields label alignments ii (#10929)
|
||||
- [c16417cbff](https://github.com/Alfresco/alfresco-ng2-components/commit/c16417cbff) [ACS-9250] Adjust viewer to display properly under parent without overlay mode (#10950)
|
||||
- [27502d5d67](https://github.com/Alfresco/alfresco-ng2-components/commit/27502d5d67) AAE-34902 Updating styles for input controls to maintain the ui consistency with studio hxp (#10900)
|
||||
- [a4072aca74](https://github.com/Alfresco/alfresco-ng2-components/commit/a4072aca74) AAE-35694 Update section-start-form with Sections in Row (#10947)
|
||||
- [22b62804d5](https://github.com/Alfresco/alfresco-ng2-components/commit/22b62804d5) AAE-35882 Studio modelling forms required dropdown has double asterisk (#10948)
|
||||
- [eda59a1de8](https://github.com/Alfresco/alfresco-ng2-components/commit/eda59a1de8) [ACS-8746] yellow warning color (#10883)
|
||||
- [3009fa6dec](https://github.com/Alfresco/alfresco-ng2-components/commit/3009fa6dec) AAE-35848 Fix dynamic viewer container scaling (#10932)
|
||||
- [8cfc8d32f2](https://github.com/Alfresco/alfresco-ng2-components/commit/8cfc8d32f2) AAE-35855 Security fixes (#10933)
|
||||
- [cdc7553915](https://github.com/Alfresco/alfresco-ng2-components/commit/cdc7553915) [MNT-24923] legal hold hold capabilities are not verified properly (#10930)
|
||||
- [f8a75d4af7](https://github.com/Alfresco/alfresco-ng2-components/commit/f8a75d4af7) Viewer renderer stop loading when subsequent renderer throws error (#10931)
|
||||
- [31c2cb2162](https://github.com/Alfresco/alfresco-ng2-components/commit/31c2cb2162) AAE-35728 Add aria label to viewer loading bars (#10927)
|
||||
- [2c4764f89e](https://github.com/Alfresco/alfresco-ng2-components/commit/2c4764f89e) Adds loading state accessibility (#10926)
|
||||
- [e2693f9304](https://github.com/Alfresco/alfresco-ng2-components/commit/e2693f9304) AAE-35668 Sending empty string instead of null after clearing value from numeric field (#10925)
|
||||
- [5d9acaec0d](https://github.com/Alfresco/alfresco-ng2-components/commit/5d9acaec0d) [AAE-35649] Viewer renderer wait until subsequent renderers will finish (#10924)
|
||||
- [0c147513cc](https://github.com/Alfresco/alfresco-ng2-components/commit/0c147513cc) AAE-35521 Refactor AuthenticationService unit tests (#10922)
|
||||
- [920b7d3585](https://github.com/Alfresco/alfresco-ng2-components/commit/920b7d3585) AAE-34641 Fix ViewerRenderComponent hanging when in a mat-tab (#10913)
|
||||
- [643b5f723a](https://github.com/Alfresco/alfresco-ng2-components/commit/643b5f723a) Revert "AAE-34641 Refactor viewer-render loading (#10868)" (#10912)
|
||||
- [a6ab5fcbdd](https://github.com/Alfresco/alfresco-ng2-components/commit/a6ab5fcbdd) [ACS-9696] fix failing upgrade rxjs from 7.8.1 to 7.8.2 (#10911)
|
||||
- [35970b4278](https://github.com/Alfresco/alfresco-ng2-components/commit/35970b4278) AAE-21284 Add migration guide for Angular 17 to 18 (#10910)
|
||||
- [379fbbb508](https://github.com/Alfresco/alfresco-ng2-components/commit/379fbbb508) [MNT-25043] Skip adding json as content type for FormData body requests (#10903)
|
||||
- [cdb65bf204](https://github.com/Alfresco/alfresco-ng2-components/commit/cdb65bf204) [ACS-9377] remove the join button for records management library for user s without permissions for that library (#10901)
|
||||
- [8cb7a1719f](https://github.com/Alfresco/alfresco-ng2-components/commit/8cb7a1719f) AAE-34656 Hide all counters in Workspace which do not provide value (#10896)
|
||||
- [1971980216](https://github.com/Alfresco/alfresco-ng2-components/commit/1971980216) [ACS-9619] Issues with trimming file's name in viewer (#10858)
|
||||
- [467a19f3ec](https://github.com/Alfresco/alfresco-ng2-components/commit/467a19f3ec) AAE-34959 Fix withCredentials can not be set by app.config.json (#10897)
|
||||
- [d1e48f9c33](https://github.com/Alfresco/alfresco-ng2-components/commit/d1e48f9c33) [ACS-9247] Extend library column context (#10894)
|
||||
- [79163cbae0](https://github.com/Alfresco/alfresco-ng2-components/commit/79163cbae0) AAE-34482 Fixing label and alignment issues in forms (#10898)
|
||||
- [06921783bf](https://github.com/Alfresco/alfresco-ng2-components/commit/06921783bf) AAE-33907 Adds input for 'Open next task' checkbox (#10823)
|
||||
- [1462560e6e](https://github.com/Alfresco/alfresco-ng2-components/commit/1462560e6e) AAE-35057 Change position of adf-cloud-form-content-card-fullscreen to relative (#10888)
|
||||
- [413fce8cb7](https://github.com/Alfresco/alfresco-ng2-components/commit/413fce8cb7) AAE-34641 Refactor viewer-render loading (#10868)
|
||||
- [f2fa458fe5](https://github.com/Alfresco/alfresco-ng2-components/commit/f2fa458fe5) AAE-33909 Ensure onProcessFinish event triggers when invoked from onFormLoaded event (#10867)
|
||||
- [e37ef279e4](https://github.com/Alfresco/alfresco-ng2-components/commit/e37ef279e4) AAE-32986 Add custom-form-widget process to simpleapp (#10881)
|
||||
- [2cc3ba4d6b](https://github.com/Alfresco/alfresco-ng2-components/commit/2cc3ba4d6b) [ACS-7706] create tags return promise tag paging instead of tag entry (#10869)
|
||||
- [3fea334468](https://github.com/Alfresco/alfresco-ng2-components/commit/3fea334468) [AAE-34479] added class for custom outcome button (#10882)
|
||||
- [b3900b96ed](https://github.com/Alfresco/alfresco-ng2-components/commit/b3900b96ed) AAE-34972 Test PR for adf link (#10861)
|
||||
- [2fd960bf5c](https://github.com/Alfresco/alfresco-ng2-components/commit/2fd960bf5c) AAE-34885 Form with tabs has incomplete frame in preview (#10880)
|
||||
- [8b47434c37](https://github.com/Alfresco/alfresco-ng2-components/commit/8b47434c37) AAE-33052 Deprecate custom theme (#10870)
|
||||
- [fe53c5d5a8](https://github.com/Alfresco/alfresco-ng2-components/commit/fe53c5d5a8) MNT-25095 Update the documentation (#10864)
|
||||
- [051b82684f](https://github.com/Alfresco/alfresco-ng2-components/commit/051b82684f) AAE-34959 Allow disabling withCredentials for the identity providers that disallow credentials (#10859)
|
||||
- [b4eee9d631](https://github.com/Alfresco/alfresco-ng2-components/commit/b4eee9d631) AAE-34675 Fix default selection required (#10860)
|
||||
- [3ad13d3e38](https://github.com/Alfresco/alfresco-ng2-components/commit/3ad13d3e38) AAE-34992 Improve crowdin update strategy (#10865)
|
||||
- [efd6e5b1b0](https://github.com/Alfresco/alfresco-ng2-components/commit/efd6e5b1b0) AAE-34826 Incorrect scale for rendered pdf documents (#10857)
|
||||
- [6257510056](https://github.com/Alfresco/alfresco-ng2-components/commit/6257510056) Ng18 migration (#10683)
|
||||
- [28137d8a09](https://github.com/Alfresco/alfresco-ng2-components/commit/28137d8a09) Revert "AAE-34641 Fix form loading when tab is changed (#10843)" (#10862)
|
||||
- [58a5732043](https://github.com/Alfresco/alfresco-ng2-components/commit/58a5732043) AAE-34888 fixing padding issues in form widgets (#10853)
|
||||
- [685bc387b5](https://github.com/Alfresco/alfresco-ng2-components/commit/685bc387b5) AAE-34641 Fix form loading when tab is changed (#10843)
|
||||
- [f0c90594ca](https://github.com/Alfresco/alfresco-ng2-components/commit/f0c90594ca) AAE-34731 Hide the open next task checkbox for the Start Process view (#10842)
|
||||
- [ec47d8eac8](https://github.com/Alfresco/alfresco-ng2-components/commit/ec47d8eac8) AAE-34869 fixing padding issue (#10850)
|
||||
- [f2845a36c6](https://github.com/Alfresco/alfresco-ng2-components/commit/f2845a36c6) [AAE-29434] Adding process with process variables to simpleapp (#10845)
|
||||
- [acf9e3e11c](https://github.com/Alfresco/alfresco-ng2-components/commit/acf9e3e11c) Improvement/aae 30909 enhance user experience with tab navigation within the form (#10844)
|
||||
- [adeb82c137](https://github.com/Alfresco/alfresco-ng2-components/commit/adeb82c137) AAE-34335 fix for styling discrepancies in form-widgets (#10841)
|
||||
- [48defa2b5f](https://github.com/Alfresco/alfresco-ng2-components/commit/48defa2b5f) AAE-34594 Remove redundant scroll bar from form renderer (#10840)
|
||||
- [9ee0e5ee3e](https://github.com/Alfresco/alfresco-ng2-components/commit/9ee0e5ee3e) AAE-19688 Persist feature flag overrides in session storage (#10832)
|
||||
- [0f1200b5a2](https://github.com/Alfresco/alfresco-ng2-components/commit/0f1200b5a2) AAE-34514 Disable next task checkbox for forms (#10824)
|
||||
- [997e82a6b0](https://github.com/Alfresco/alfresco-ng2-components/commit/997e82a6b0) AAE-34543 Remove unused mat-selectors (#10830)
|
||||
- [b1113c51a7](https://github.com/Alfresco/alfresco-ng2-components/commit/b1113c51a7) AAE-34493 Improved internal mat-selectors (#10829)
|
||||
- [dc35ef8a6f](https://github.com/Alfresco/alfresco-ng2-components/commit/dc35ef8a6f) AAE-34478 Hide Open next task checkbox on claim screen (#10822)
|
||||
- [cb220968cf](https://github.com/Alfresco/alfresco-ng2-components/commit/cb220968cf) [AAE-34481] Field error message has preserved space (#10820)
|
||||
- [50ad04aeb3](https://github.com/Alfresco/alfresco-ng2-components/commit/50ad04aeb3) [ACS-9564] Corrected models after change of Knowledge Retrieval answer structure (#10817)
|
||||
- [b1fca8dd4b](https://github.com/Alfresco/alfresco-ng2-components/commit/b1fca8dd4b) fix datetime picker theming (#10821)
|
||||
- [3d598cd0c2](https://github.com/Alfresco/alfresco-ng2-components/commit/3d598cd0c2) AAE-34470 Ignore content type of fetched pdfjs worker (#10818)
|
||||
- [7b67c7cf3a](https://github.com/Alfresco/alfresco-ng2-components/commit/7b67c7cf3a) AAE-34458 Cleanup deprecated styles, bug fixes (#10819)
|
||||
- [f34bbf59be](https://github.com/Alfresco/alfresco-ng2-components/commit/f34bbf59be) AAE-33589 Get task variables when preferences are updated (#10813)
|
||||
- [9575fe633b](https://github.com/Alfresco/alfresco-ng2-components/commit/9575fe633b) AAE-34439 Cleanup Styles (#10815)
|
||||
- [c6652f32b2](https://github.com/Alfresco/alfresco-ng2-components/commit/c6652f32b2) [ACS-959] [E2E] updated e2eapp v2 (#10816)
|
||||
- [d6317a7b87](https://github.com/Alfresco/alfresco-ng2-components/commit/d6317a7b87) [ACS-9227] Fixed interactive controls must not be nested issue in datatable.component.html (#10681)
|
||||
- [d829d8eefb](https://github.com/Alfresco/alfresco-ng2-components/commit/d829d8eefb) AAE-34390 Clean old theming files (#10800)
|
||||
- [4cfda763b6](https://github.com/Alfresco/alfresco-ng2-components/commit/4cfda763b6) Simulate a change to upstream adf (#10814)
|
||||
- [ff0885c265](https://github.com/Alfresco/alfresco-ng2-components/commit/ff0885c265) AAE-34328 Remove additional space in amount widget currency (#10812)
|
||||
- [068bcc89d3](https://github.com/Alfresco/alfresco-ng2-components/commit/068bcc89d3) Create a git tag for every release (#10811)
|
||||
- [69f92bcc61](https://github.com/Alfresco/alfresco-ng2-components/commit/69f92bcc61) [ACS-9565] Updated e2e application (#10810)
|
||||
- [d0b2915c88](https://github.com/Alfresco/alfresco-ng2-components/commit/d0b2915c88) Revert "AAE-29010 GH actions rerun after approval (#10772) (#10774)" (#10809)
|
||||
- [fdd4f6c081](https://github.com/Alfresco/alfresco-ng2-components/commit/fdd4f6c081) AAE-22975 update to the latest version of pdfjs-dist library (#10780)
|
||||
- [0dc45e95af](https://github.com/Alfresco/alfresco-ng2-components/commit/0dc45e95af) [MNT-24715] App with APS does not show display value of dynamic table (#10799)
|
||||
- [1f73f7fe40](https://github.com/Alfresco/alfresco-ng2-components/commit/1f73f7fe40) AAE-33955 Add placeholder for data table widget (preview) (#10796)
|
||||
- [6fb9474d46](https://github.com/Alfresco/alfresco-ng2-components/commit/6fb9474d46) [ACS-9552] Add obsolete task list filters migration (#10798)
|
||||
- [014fb9cfa8](https://github.com/Alfresco/alfresco-ng2-components/commit/014fb9cfa8) AAE-34100 Add group-with-sections process to simpleapp (#10791)
|
||||
- [a426338f94](https://github.com/Alfresco/alfresco-ng2-components/commit/a426338f94) [MNT-24950] Fix process file preview button state (#10790)
|
||||
- [c8f9bd21ea](https://github.com/Alfresco/alfresco-ng2-components/commit/c8f9bd21ea) [ACS-9454] Create upgrade guide for ADF 7.0.0 (#10779)
|
||||
- [baf0e4552e](https://github.com/Alfresco/alfresco-ng2-components/commit/baf0e4552e) AAE-34135 add confirmation (#10783)
|
||||
- [659805ab20](https://github.com/Alfresco/alfresco-ng2-components/commit/659805ab20) AAE-33090 Open Next Task Checkbox (#10757)
|
||||
- [f6c446498a](https://github.com/Alfresco/alfresco-ng2-components/commit/f6c446498a) AAE-29010 GH actions rerun after approval (#10772) (#10774)
|
||||
- [137088d4f6](https://github.com/Alfresco/alfresco-ng2-components/commit/137088d4f6) AAE-33939 Angular migration documentation (#10775)
|
||||
- [8eef4e6eec](https://github.com/Alfresco/alfresco-ng2-components/commit/8eef4e6eec) [ACS-9440] Language in lang attribute is not changed after changing language (#10776)
|
||||
- [82175bad80](https://github.com/Alfresco/alfresco-ng2-components/commit/82175bad80) [ACS-9435] Resolve a11y issues for 'Add use/group' dialog (#10773)
|
||||
- [cd63f67e0a](https://github.com/Alfresco/alfresco-ng2-components/commit/cd63f67e0a) [ACS-5184] Show progress spinner on file navigation (#10596)
|
||||
- [2d21340947](https://github.com/Alfresco/alfresco-ng2-components/commit/2d21340947) [AAE-33096] added rootProcessInstanceId to dynamic component (#10762)
|
||||
- [8e0ea373f0](https://github.com/Alfresco/alfresco-ng2-components/commit/8e0ea373f0) [ACS-9406] Add getContentRenditionTypePreview to process-content service (#10743)
|
||||
- [90f5951cd8](https://github.com/Alfresco/alfresco-ng2-components/commit/90f5951cd8) AAE-33449 HXPMNT-748 Hidden dropdown validation (#10760)
|
||||
- [555e6c027f](https://github.com/Alfresco/alfresco-ng2-components/commit/555e6c027f) AAE-33025 Updated process definition type to support constant values (#10751)
|
||||
- [142c6ae754](https://github.com/Alfresco/alfresco-ng2-components/commit/142c6ae754) AAE-33340 Async Form Enrichment - Spinner doesnt hide on process completion (#10749)
|
||||
- [abaf7df9c6](https://github.com/Alfresco/alfresco-ng2-components/commit/abaf7df9c6) AAE-33007 Display empty data table without error (#10744)
|
||||
- [9bbbc8193d](https://github.com/Alfresco/alfresco-ng2-components/commit/9bbbc8193d) AAE-33137 Asynchronous Form Enrichment does Not Populate Date Fields (#10746)
|
||||
- [eb2f543822](https://github.com/Alfresco/alfresco-ng2-components/commit/eb2f543822) upgrade guide (#10732)
|
||||
- [6703b8b7da](https://github.com/Alfresco/alfresco-ng2-components/commit/6703b8b7da) AAE-32763 Custom column visibility is not persistent after refresh (#10728)
|
||||
- [3475098f32](https://github.com/Alfresco/alfresco-ng2-components/commit/3475098f32) fix undefiend tooltip (#10731)
|
||||
- [083755b41a](https://github.com/Alfresco/alfresco-ng2-components/commit/083755b41a) [ACS-5190] document name text alignement and long name trim issue (#10715)
|
||||
- [015ce8a99e](https://github.com/Alfresco/alfresco-ng2-components/commit/015ce8a99e) [ACS-9375] Transparent background for hovered spinner (#10691)
|
||||
- [b643054a15](https://github.com/Alfresco/alfresco-ng2-components/commit/b643054a15) AAE-32999 Removed subscriptions-transport-ws feature flag (#10727)
|
||||
- [838b3e78b7](https://github.com/Alfresco/alfresco-ng2-components/commit/838b3e78b7) [ACS-9398] Add snackbar notifications for favorite node directive (#10714)
|
||||
- [e8d1328244](https://github.com/Alfresco/alfresco-ng2-components/commit/e8d1328244) Post-release version bump (#10726)
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
Title: Changelog for alfresco-ng2-components v8.1.0
|
||||
---
|
||||
|
||||
# Changelog
|
||||
|
||||
- [2e20c3da45](https://github.com/Alfresco/alfresco-ng2-components/commit/2e20c3da45) [ACS-9978] DynamicChipListComponent not rendered as expected (#11132)
|
||||
- [bf8c68e05f](https://github.com/Alfresco/alfresco-ng2-components/commit/bf8c68e05f) [ACS-9978] DynamicChipListComponent not rendered as expected (#11128)
|
||||
- [f81348997b](https://github.com/Alfresco/alfresco-ng2-components/commit/f81348997b) [ACS-10010] [ACA] Label position problem in some perform actions like 'send-email' (#11117)
|
||||
- [cbc204519e](https://github.com/Alfresco/alfresco-ng2-components/commit/cbc204519e) [ACS-9986]: removes unneccesary styles (#11105)
|
||||
- [9b6688ce10](https://github.com/Alfresco/alfresco-ng2-components/commit/9b6688ce10) CSX-73 Date and Select Satori (#11056)
|
||||
- [9deaab4c11](https://github.com/Alfresco/alfresco-ng2-components/commit/9deaab4c11) AAE-37006 Fix floating label overlapping in dateitem component (#11118)
|
||||
- [81e307c81e](https://github.com/Alfresco/alfresco-ng2-components/commit/81e307c81e) AAE-32587 new custom screen registration api (#11120)
|
||||
- [0e4fced94e](https://github.com/Alfresco/alfresco-ng2-components/commit/0e4fced94e) AAE-37073 Fix error message location and field not highlighting red for card-view-textitem component (#11115)
|
||||
- [b16e326ac3](https://github.com/Alfresco/alfresco-ng2-components/commit/b16e326ac3) AAE-36664 additional linting rules, cleanup (#11084)
|
||||
- [794bc92b4a](https://github.com/Alfresco/alfresco-ng2-components/commit/794bc92b4a) AAE-37293 core auth provider api (#11104)
|
||||
- [5213621023](https://github.com/Alfresco/alfresco-ng2-components/commit/5213621023) AAE-37287 provideExtensions provider api for Angular standalone (#11103)
|
||||
- [67b1d67668](https://github.com/Alfresco/alfresco-ng2-components/commit/67b1d67668) AAE-37067 Extend QueryParams interface (#11102)
|
||||
- [1fe4dd6fc9](https://github.com/Alfresco/alfresco-ng2-components/commit/1fe4dd6fc9) AAE-36822 Removes showNextTaskCheckbox input for the feature flag (#11066)
|
||||
- [9a0b75caa1](https://github.com/Alfresco/alfresco-ng2-components/commit/9a0b75caa1) [ADF-5582] Fix avatar rendering logic in adf-node-comments (#10995)
|
||||
- [8ef0aee768](https://github.com/Alfresco/alfresco-ng2-components/commit/8ef0aee768) AAE-36869 Handles error messages with wrong JSON format (#11078)
|
||||
- [3eead3917e](https://github.com/Alfresco/alfresco-ng2-components/commit/3eead3917e) AAE-36582 Fix forms misalignment in form renderer (#11062)
|
||||
- [c8f0860514](https://github.com/Alfresco/alfresco-ng2-components/commit/c8f0860514) AAE-35934 Cleanup dependencies (#11089)
|
||||
- [b67d0a7886](https://github.com/Alfresco/alfresco-ng2-components/commit/b67d0a7886) [AAE-36538] Removed flex-direction:column for form section column large screens (#11090)
|
||||
- [613de66244](https://github.com/Alfresco/alfresco-ng2-components/commit/613de66244) [MNT-25110] Unwanted duplicated Horizontal scrollbar (#11079)
|
||||
- [8978e24c79](https://github.com/Alfresco/alfresco-ng2-components/commit/8978e24c79) [AAE-36983] Updated translation keys in search-text-input.component.html (#11083)
|
||||
- [bf7f7ebf9f](https://github.com/Alfresco/alfresco-ng2-components/commit/bf7f7ebf9f) AAE-36536 fix for root section and mobile form input layout (#11081)
|
||||
- [d5c2e7c585](https://github.com/Alfresco/alfresco-ng2-components/commit/d5c2e7c585) AAE-36664 Cleanup deprecated AppConfigModule (#11016)
|
||||
- [4c4dd195a4](https://github.com/Alfresco/alfresco-ng2-components/commit/4c4dd195a4) Remove unused webdriver-manager dependency to eliminate vulnerable form-data ~2.3.2 (#11060)
|
||||
- [a29d846f4a](https://github.com/Alfresco/alfresco-ng2-components/commit/a29d846f4a) AAE-35310 fixing alignment for checkboxes in sections (#11039)
|
||||
- [7fbcfe7d6a](https://github.com/Alfresco/alfresco-ng2-components/commit/7fbcfe7d6a) AAE-36536 Allow form sections to be at the root level of form (#11070)
|
||||
- [0706c9f6de](https://github.com/Alfresco/alfresco-ng2-components/commit/0706c9f6de) AAE-36388 Form Field alignment issues for one liner forms (#11054)
|
||||
- [dcd15debf0](https://github.com/Alfresco/alfresco-ng2-components/commit/dcd15debf0) AAE-25571 Add title to file name (#11027)
|
||||
- [fbacd5c51e](https://github.com/Alfresco/alfresco-ng2-components/commit/fbacd5c51e) Update form-section.component.scss (#11064)
|
||||
- [19b69e024a](https://github.com/Alfresco/alfresco-ng2-components/commit/19b69e024a) AAE-33082 Fixing dropdown widget update value based on form rule (#11068)
|
||||
- [71df219f94](https://github.com/Alfresco/alfresco-ng2-components/commit/71df219f94) AAE-36023 Making develop sync with ng18 backup branch (#11061)
|
||||
- [49c0f44435](https://github.com/Alfresco/alfresco-ng2-components/commit/49c0f44435) Removed esm2022 check as is not supported anymore since Ng18 (#11058)
|
||||
- [9a3ababb9c](https://github.com/Alfresco/alfresco-ng2-components/commit/9a3ababb9c) AAE-36716 fixing text-form-field blur mechanism in control Value Accessor (#11045)
|
||||
- [d7ec3a1b77](https://github.com/Alfresco/alfresco-ng2-components/commit/d7ec3a1b77) AAE-35981 Form button customization (#11047)
|
||||
- [06a9ddc068](https://github.com/Alfresco/alfresco-ng2-components/commit/06a9ddc068) AAE-36023 Some form fields are not properly aligned and cropped out ng19 (#11050)
|
||||
- [0f9e4759ad](https://github.com/Alfresco/alfresco-ng2-components/commit/0f9e4759ad) AAE-0000 Added fix for stylus ban (#11051)
|
||||
- [0b90affea4](https://github.com/Alfresco/alfresco-ng2-components/commit/0b90affea4) ACS-8770 Update the Auth Service api docs and deprecations (#9947)
|
||||
- [45834e20f9](https://github.com/Alfresco/alfresco-ng2-components/commit/45834e20f9) AAE-36388 fixing form-field cut issue on preview (#11025)
|
||||
- [f15014f295](https://github.com/Alfresco/alfresco-ng2-components/commit/f15014f295) [ACS-9880] Create ADF upgrade guide from 7.0.0 to 8.0.0 (#11029)
|
||||
- [b28479b92b](https://github.com/Alfresco/alfresco-ng2-components/commit/b28479b92b) [AAE-32978] Move ADF "RichTextEditorComponent" to HxP monorepo (#10967)
|
||||
- [89380f2905](https://github.com/Alfresco/alfresco-ng2-components/commit/89380f2905) [ACS-7266] checkboxes in sorting boxes are put on the right side of the text instead of the left side (#11009)
|
||||
- [e5fcfde2ec](https://github.com/Alfresco/alfresco-ng2-components/commit/e5fcfde2ec) Post release version bump (#11021)
|
||||
- [2e10d2c5c7](https://github.com/Alfresco/alfresco-ng2-components/commit/2e10d2c5c7) AAE-36718 Expose a landing page provider for the landing-page-token (#11020)
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
Title: Changelog for alfresco-ng2-components v8.1.1
|
||||
---
|
||||
|
||||
# Changelog
|
||||
|
||||
- [0576aac985](https://github.com/Alfresco/alfresco-ng2-components/commit/0576aac985) Revert "CSX-73 Date and Select Satori (#11056)" (#11144)
|
||||
@@ -0,0 +1,120 @@
|
||||
---
|
||||
Title: Changelog for alfresco-ng2-components v8.2.0
|
||||
---
|
||||
|
||||
# Changelog
|
||||
|
||||
- [2ebe4ccfb0](https://github.com/Alfresco/alfresco-ng2-components/commit/2ebe4ccfb0) AAE-39923 Placeholder transformed with currency based on locale (#11342)
|
||||
- [9af4b7a4b6](https://github.com/Alfresco/alfresco-ng2-components/commit/9af4b7a4b6) [MNT-25412] Chip autocomplete set input value when preselected options change (#11350)
|
||||
- [a748541ca0](https://github.com/Alfresco/alfresco-ng2-components/commit/a748541ca0) AAE-39988 Fix dropdown conditional functionality (#11343)
|
||||
- [ac3c30480b](https://github.com/Alfresco/alfresco-ng2-components/commit/ac3c30480b) AAE-39949 Fix error while deleting empty row in repeatable section (#11346)
|
||||
- [002c5b4bf7](https://github.com/Alfresco/alfresco-ng2-components/commit/002c5b4bf7) [MNT-25423] Prevent minimizing menu again when previous and current route contain minimize URL (#11345)
|
||||
- [d298d92214](https://github.com/Alfresco/alfresco-ng2-components/commit/d298d92214) [ACS-10592] Remove 'secret' field from OAUTH config across ADF/ACA/ADW (#11332)
|
||||
- [b7d687f3d2](https://github.com/Alfresco/alfresco-ng2-components/commit/b7d687f3d2) Adds quickRunDeployment property (#11340)
|
||||
- [c2c3bff7bb](https://github.com/Alfresco/alfresco-ng2-components/commit/c2c3bff7bb) [AAE-39926] added missing locale param (#11341)
|
||||
- [c2f4597309](https://github.com/Alfresco/alfresco-ng2-components/commit/c2f4597309) [MNT-25412] Proper date filter clean up after reset event (#11317)
|
||||
- [0d670dd333](https://github.com/Alfresco/alfresco-ng2-components/commit/0d670dd333) AAE-27107 Improve repeatable section widget (#11336)
|
||||
- [d85a261720](https://github.com/Alfresco/alfresco-ng2-components/commit/d85a261720) [ACS-10199] Add visible focus to the details tabs (#11335)
|
||||
- [b61912e3eb](https://github.com/Alfresco/alfresco-ng2-components/commit/b61912e3eb) [ACS-10300] a11y Fix: visible and accessible Group label is missing (#11330)
|
||||
- [ea58a5d794](https://github.com/Alfresco/alfresco-ng2-components/commit/ea58a5d794) [ACS-10310] Fix a11y - Screen reader announces column header as undefined (#11328)
|
||||
- [e11aa6ddf3](https://github.com/Alfresco/alfresco-ng2-components/commit/e11aa6ddf3) AAE-38748 Fix ComputeTitle undefined error in upstream (#11334)
|
||||
- [61e1395bfa](https://github.com/Alfresco/alfresco-ng2-components/commit/61e1395bfa) [ACS-10263] sr personal files mark all as read button incorrectly grouped as notification list (#11331)
|
||||
- [43622266ce](https://github.com/Alfresco/alfresco-ng2-components/commit/43622266ce) AAE-21565 Replace deprecated @import with @use in all scss files (#11273)
|
||||
- [38d98200a6](https://github.com/Alfresco/alfresco-ng2-components/commit/38d98200a6) [ACS-10196] other a11y all libraries error message not provided for name and library id fields (#11311)
|
||||
- [e28e924b87](https://github.com/Alfresco/alfresco-ng2-components/commit/e28e924b87) AAE-38748 Change clipboard directive to be a tooltip (#11293)
|
||||
- [3180ca8e9d](https://github.com/Alfresco/alfresco-ng2-components/commit/3180ca8e9d) AAE-37713 Amount locale display v.2 (#11319)
|
||||
- [c2add07426](https://github.com/Alfresco/alfresco-ng2-components/commit/c2add07426) [ACS-9166]: Recreating PR changes for support legacy config based saved searches (#11329)
|
||||
- [ab67ba3414](https://github.com/Alfresco/alfresco-ng2-components/commit/ab67ba3414) AAE-39155 Implement button widget on ADF (#11324)
|
||||
- [c4f276e228](https://github.com/Alfresco/alfresco-ng2-components/commit/c4f276e228) AAE-39612 Registering click event on form widget twice (#11323)
|
||||
- [f7d26d904f](https://github.com/Alfresco/alfresco-ng2-components/commit/f7d26d904f) AAE-27107 Create repeatable section widget (#11290)
|
||||
- [e85a27e05b](https://github.com/Alfresco/alfresco-ng2-components/commit/e85a27e05b) Revert "[ACS-10083] Filter not behaving correctly in file and site (#… (#11327)
|
||||
- [4acda3b09b](https://github.com/Alfresco/alfresco-ng2-components/commit/4acda3b09b) [MNT-25413] ADW - First login after a clear cache does not show the s… (#11318)
|
||||
- [4feba2f304](https://github.com/Alfresco/alfresco-ng2-components/commit/4feba2f304) [ACS-10332] Search: Editable Combobox Without Autocomplete Does Not D… (#11310)
|
||||
- [a4f5cfc964](https://github.com/Alfresco/alfresco-ng2-components/commit/a4f5cfc964) AAE-39560: security fixes (#11315)
|
||||
- [86093adf18](https://github.com/Alfresco/alfresco-ng2-components/commit/86093adf18) Revert "AAE-37713 Amount locale display (#11285)" (#11312)
|
||||
- [59b148ea03](https://github.com/Alfresco/alfresco-ng2-components/commit/59b148ea03) AAE-37713 Amount locale display (#11285)
|
||||
- [82b9b18891](https://github.com/Alfresco/alfresco-ng2-components/commit/82b9b18891) [ACS-10518]: Search input keyboard navigation accessibility fixes (#11270)
|
||||
- [5016eff847](https://github.com/Alfresco/alfresco-ng2-components/commit/5016eff847) [ACS-10083] Filter not behaving correctly in file and site (#11237)
|
||||
- [6ab54be7d0](https://github.com/Alfresco/alfresco-ng2-components/commit/6ab54be7d0) [ACS-10324]: checkbox enter key handling (#11271)
|
||||
- [2d68cf9916](https://github.com/Alfresco/alfresco-ng2-components/commit/2d68cf9916) [AAE-39261] Fix Portuguese date format to display dd/mm/yyyy (#11303)
|
||||
- [42a1ddf540](https://github.com/Alfresco/alfresco-ng2-components/commit/42a1ddf540) [ACS-10178] Remove deprecated ADF components (#11221)
|
||||
- [8c9f6a0828](https://github.com/Alfresco/alfresco-ng2-components/commit/8c9f6a0828) AAE-39318 Break dependency on AWS S3 (#11300)
|
||||
- [160b12993f](https://github.com/Alfresco/alfresco-ng2-components/commit/160b12993f) [ACS-10271][ACS-10236] a11y - Search filters have no visible labels (#11302)
|
||||
- [f152953cc9](https://github.com/Alfresco/alfresco-ng2-components/commit/f152953cc9) [ACS-10333] Personal files: New File Title Not Announced by Screen Readers After Upload (#11298)
|
||||
- [e202c693c1](https://github.com/Alfresco/alfresco-ng2-components/commit/e202c693c1) AAE-39314 Break dependencies on the "commander" lib in the CLI (#11299)
|
||||
- [1c8af0467e](https://github.com/Alfresco/alfresco-ng2-components/commit/1c8af0467e) [ACS-9980] Add SSO integration API (#11297)
|
||||
- [1685ee4c8b](https://github.com/Alfresco/alfresco-ng2-components/commit/1685ee4c8b) AAE-39268 Remove jasmine-marbles dependency and related test code from form-rules.model.spec.ts (#11296)
|
||||
- [983d505309](https://github.com/Alfresco/alfresco-ng2-components/commit/983d505309) HXIDP-5126 Fix adf-cloud-task-screen re-initialization on completing (#11291)
|
||||
- [81a0ee0963](https://github.com/Alfresco/alfresco-ng2-components/commit/81a0ee0963) AAE-39263 Remove Playwright dependencies (#11294)
|
||||
- [b1f9f32e3f](https://github.com/Alfresco/alfresco-ng2-components/commit/b1f9f32e3f) Remove .dockerignore file to clean up unused configurations.
|
||||
- [718df62173](https://github.com/Alfresco/alfresco-ng2-components/commit/718df62173) Remove nginx configuration file and update cspell dictionary to exclude 'nginx'
|
||||
- [e1d56be29c](https://github.com/Alfresco/alfresco-ng2-components/commit/e1d56be29c) [ACS-10325] a11y SR: Metadata edit button announced twice (#11275)
|
||||
- [9b17f50401](https://github.com/Alfresco/alfresco-ng2-components/commit/9b17f50401) [ACS-10319] SR: Personal files: Focus returns to input field instead of remaining on Copy link button (#11272)
|
||||
- [9fc7c22e18](https://github.com/Alfresco/alfresco-ng2-components/commit/9fc7c22e18) [ACS-10318] Fixed screen reader for date format in share dialog (#11274)
|
||||
- [72555b7326](https://github.com/Alfresco/alfresco-ng2-components/commit/72555b7326) AAE-37097 Cleanup unused Docker layer (#11269)
|
||||
- [5a8088a5ec](https://github.com/Alfresco/alfresco-ng2-components/commit/5a8088a5ec) [ACS-10321] SR: Personal Files:When navigating the breadcrumb with arrow keys, a button announced as 'dropdown' (#11262)
|
||||
- [dfc65ae45c](https://github.com/Alfresco/alfresco-ng2-components/commit/dfc65ae45c) AAE-38919 There is no deployment update without closing the panel (#11263)
|
||||
- [cef71a2d71](https://github.com/Alfresco/alfresco-ng2-components/commit/cef71a2d71) [ACS-10275] a11y - Notification & Filter indicators not announced by screen readers (#11267)
|
||||
- [124fd66965](https://github.com/Alfresco/alfresco-ng2-components/commit/124fd66965) AAE-38328 Support screens on start process event (#11261)
|
||||
- [0335a32a3a](https://github.com/Alfresco/alfresco-ng2-components/commit/0335a32a3a) [ACS-10334] Changed translations for save and cancel icons for image rotation and crop (#11258)
|
||||
- [8ebb67d1cf](https://github.com/Alfresco/alfresco-ng2-components/commit/8ebb67d1cf) Adds lastModifiedAt to application instance (#11257)
|
||||
- [84d32157ad](https://github.com/Alfresco/alfresco-ng2-components/commit/84d32157ad) [ACS-10165] filter out inaccessible locations from autocomplete (#11240)
|
||||
- [816601fcec](https://github.com/Alfresco/alfresco-ng2-components/commit/816601fcec) AAE-38420 Allow any string in QueryParams include param (#11252)
|
||||
- [cb5831450e](https://github.com/Alfresco/alfresco-ng2-components/commit/cb5831450e) [ACS-10327] Other A11y: Personal files: Duplicate Labels and Repeated Text in Personal Files Page (#11250)
|
||||
- [b8d228d409](https://github.com/Alfresco/alfresco-ng2-components/commit/b8d228d409) [ACS-10328] SR: Personal files: Add permission title is not descriptive. (#11249)
|
||||
- [970cd7d6e5](https://github.com/Alfresco/alfresco-ng2-components/commit/970cd7d6e5) [ACS-10238] sr personal files close button lacks appropriate label (#11248)
|
||||
- [74437a01c0](https://github.com/Alfresco/alfresco-ng2-components/commit/74437a01c0) [ACS-10336] Tags in Tag Column Not Announced by Screen Readers (#11247)
|
||||
- [56092ff2c1](https://github.com/Alfresco/alfresco-ng2-components/commit/56092ff2c1) [ACS-10189] Remove old api docs generators from ADF (#11224)
|
||||
- [33ca9313be](https://github.com/Alfresco/alfresco-ng2-components/commit/33ca9313be) [ACS-10384] after recent changes search query builder can t process non latin characters (#11241)
|
||||
- [8b553bb00f](https://github.com/Alfresco/alfresco-ng2-components/commit/8b553bb00f) [ACS-10145] Corrected font size and alignment for date field in metadata properties panel (#11228)
|
||||
- [25ecfcf5e1](https://github.com/Alfresco/alfresco-ng2-components/commit/25ecfcf5e1) [ACS-10296] Upload new version button made accessible with keyboard (#11242)
|
||||
- [3356dab434](https://github.com/Alfresco/alfresco-ng2-components/commit/3356dab434) [AAE-38312] fix start process error translation string (#11239)
|
||||
- [dffa37f182](https://github.com/Alfresco/alfresco-ng2-components/commit/dffa37f182) [MNT-25336] ADW can't start a Microsoft 365 session when using Basic … (#11238)
|
||||
- [622dcafbc4](https://github.com/Alfresco/alfresco-ng2-components/commit/622dcafbc4) AAE-38524 remove adf-core-theme (#11235)
|
||||
- [29d341cc3b](https://github.com/Alfresco/alfresco-ng2-components/commit/29d341cc3b) [AAE-37563] Removed some CSS that was causing forms not to expand fully in the container (#11227)
|
||||
- [b6ea1e056e](https://github.com/Alfresco/alfresco-ng2-components/commit/b6ea1e056e) AAE-38456 Reloading start process form (#11226)
|
||||
- [40ff0d56af](https://github.com/Alfresco/alfresco-ng2-components/commit/40ff0d56af) [AAE-37563] Fix for extra padding on top of fullscreen toolbar (#11225)
|
||||
- [6b9d3d2104](https://github.com/Alfresco/alfresco-ng2-components/commit/6b9d3d2104) AAE-38287 Cannot select dropdown options when selection type is multiple (#11220)
|
||||
- [fb72ccffcc](https://github.com/Alfresco/alfresco-ng2-components/commit/fb72ccffcc) [ACS-9725] Fix preview for files attached to tasks with display value form field (#11219)
|
||||
- [84fcc48c1a](https://github.com/Alfresco/alfresco-ng2-components/commit/84fcc48c1a) [ACS-10145] Fix truncated text in details info drawer (#11209)
|
||||
- [731443ca1c](https://github.com/Alfresco/alfresco-ng2-components/commit/731443ca1c) Fixed js-api dep for superagent (#11212)
|
||||
- [91d6b80965](https://github.com/Alfresco/alfresco-ng2-components/commit/91d6b80965) Revert "AAE-30882 Replace superagent (#11134)" (#11210)
|
||||
- [ef29bafc75](https://github.com/Alfresco/alfresco-ng2-components/commit/ef29bafc75) [AAE-37563] Added grey background to fullscreen and standalone fullscreen forms (#11208)
|
||||
- [591934db0e](https://github.com/Alfresco/alfresco-ng2-components/commit/591934db0e) [ACS-10117] Deprecate ADF Storybook and custom Docker builds (#11207)
|
||||
- [4964ae94c5](https://github.com/Alfresco/alfresco-ng2-components/commit/4964ae94c5) AAE-0000 Trigger alpha build (#11206)
|
||||
- [2b08e0c1d0](https://github.com/Alfresco/alfresco-ng2-components/commit/2b08e0c1d0) AAE-38287 Cannot select dropdown options when selection type is multiple (#11204)
|
||||
- [1b212e8805](https://github.com/Alfresco/alfresco-ng2-components/commit/1b212e8805) AAE-38063 Default buttons are temporarily visible before the custom buttons in workspace (#11198)
|
||||
- [d230176e7f](https://github.com/Alfresco/alfresco-ng2-components/commit/d230176e7f) AAE 38257 fixing js-api deps and bump some security versions (#11203)
|
||||
- [d49575ba03](https://github.com/Alfresco/alfresco-ng2-components/commit/d49575ba03) [MNT-24388] fix location search facet (#11171)
|
||||
- [1c8181fca8](https://github.com/Alfresco/alfresco-ng2-components/commit/1c8181fca8) [ACS-10100][Security] Remove npx usage from CI/CD and shell scripts to mitigate supply chain risks (#11201)
|
||||
- [4f2b5329c6](https://github.com/Alfresco/alfresco-ng2-components/commit/4f2b5329c6) [AAE-30882] - removing ts-morph added back again on rebase (#11199)
|
||||
- [a347b20f20](https://github.com/Alfresco/alfresco-ng2-components/commit/a347b20f20) AAE-30882 Replace superagent (#11134)
|
||||
- [b400757ad1](https://github.com/Alfresco/alfresco-ng2-components/commit/b400757ad1) AAE-30878 Migrating from event-emitter to eventemitter3 (#11187)
|
||||
- [10afe75e94](https://github.com/Alfresco/alfresco-ng2-components/commit/10afe75e94) [ACS-10100][Security] Remove npx usage from CI/CD and shell scripts to mitigate supply chain risks. [ACS-10117] Deprecate ADF Storybook and custom Docker builds (#11197)
|
||||
- [196b60a7d9](https://github.com/Alfresco/alfresco-ng2-components/commit/196b60a7d9) AAE-22072 Update of a simpleapp (#11160)
|
||||
- [82f96d9510](https://github.com/Alfresco/alfresco-ng2-components/commit/82f96d9510) AAE-36335 Handle custom redirects (#11167)
|
||||
- [36b4c34008](https://github.com/Alfresco/alfresco-ng2-components/commit/36b4c34008) [ACS-10126] remove ts morph dependency from the adf core lib (#11190)
|
||||
- [7206a6322d](https://github.com/Alfresco/alfresco-ng2-components/commit/7206a6322d) Revert "AAE-37847 Create Git tag at the end of release branch process when on patch PR (#11162)" (#11188)
|
||||
- [fd29e953d6](https://github.com/Alfresco/alfresco-ng2-components/commit/fd29e953d6) Revert "AAE-30878 Migrating from event-emitter to eventemitter3 which is … (#11116)" (#11186)
|
||||
- [c8c1ae7838](https://github.com/Alfresco/alfresco-ng2-components/commit/c8c1ae7838) [ACA] Label position problem in some perform actions like 'send-email' (#11185)
|
||||
- [3b5e98b182](https://github.com/Alfresco/alfresco-ng2-components/commit/3b5e98b182) [MNT-25285] Unable to change version preview from within the preview … (#11165)
|
||||
- [09c35ea903](https://github.com/Alfresco/alfresco-ng2-components/commit/09c35ea903) AAE-37573 Add editorjs-html to process-services-cloud dependencies (#11183)
|
||||
- [923feccdb9](https://github.com/Alfresco/alfresco-ng2-components/commit/923feccdb9) [MNT-25274] Fixed issue while uploading files with multi-valued properties (#11182)
|
||||
- [dfa6db447f](https://github.com/Alfresco/alfresco-ng2-components/commit/dfa6db447f) AAE-37996 Updated Docker secrets (#11170)
|
||||
- [e7bba32679](https://github.com/Alfresco/alfresco-ng2-components/commit/e7bba32679) AAE-37368 Applying new tasks and process count APIs (#11119)
|
||||
- [ea81fcd6ad](https://github.com/Alfresco/alfresco-ng2-components/commit/ea81fcd6ad) AAE-37907 Move editorjs-html to dependencies (#11169)
|
||||
- [f1fea0a70b](https://github.com/Alfresco/alfresco-ng2-components/commit/f1fea0a70b) AAE-37906 Extract rich text parsing service (#11164)
|
||||
- [0564e67ba6](https://github.com/Alfresco/alfresco-ng2-components/commit/0564e67ba6) AAE-37923 - npm-check-bundle should take the released version to be sure to check the correct package on patch release (#11168)
|
||||
- [88b857a8fe](https://github.com/Alfresco/alfresco-ng2-components/commit/88b857a8fe) bump @nx/workspace from 20.8.0 to 20.8.2 (#11163)
|
||||
- [51c55674b4](https://github.com/Alfresco/alfresco-ng2-components/commit/51c55674b4) AAE-35340 Replace deprecated toPromise() usages with firstValueFrom / lastValueFrom (#11161)
|
||||
- [49375181e4](https://github.com/Alfresco/alfresco-ng2-components/commit/49375181e4) AAE-30878 Migrating from event-emitter to eventemitter3 which is … (#11116)
|
||||
- [aae4efdd92](https://github.com/Alfresco/alfresco-ng2-components/commit/aae4efdd92) AAE-30058 Integer form field should not allow more than 10 digits (#11146)
|
||||
- [a4e62974ea](https://github.com/Alfresco/alfresco-ng2-components/commit/a4e62974ea) AAE-37847 Create Git tag at the end of release branch process when on patch PR (#11162)
|
||||
- [81fed833f5](https://github.com/Alfresco/alfresco-ng2-components/commit/81fed833f5) AAE-35842 Admin - filter out form specific processes (in Process Instances tab) (#11131)
|
||||
- [609144551c](https://github.com/Alfresco/alfresco-ng2-components/commit/609144551c) AAE-34139 Switch Yes and No button places and change focus from No to Yes. (#11148)
|
||||
- [5bc4c02a94](https://github.com/Alfresco/alfresco-ng2-components/commit/5bc4c02a94) AAE-35385 Improve releasing-patches guide (#11149)
|
||||
- [04d488b8ea](https://github.com/Alfresco/alfresco-ng2-components/commit/04d488b8ea) [ACS-9768] remove deprecated methods from auth related components (#11031)
|
||||
- [dabab63f78](https://github.com/Alfresco/alfresco-ng2-components/commit/dabab63f78) Fix Post release version bump to align with ACA (#11153)
|
||||
- [b277a29f32](https://github.com/Alfresco/alfresco-ng2-components/commit/b277a29f32) [ACS-4593] Fixed issue with too long notification text in snackbar (#11152)
|
||||
- [bdeb8a8e51](https://github.com/Alfresco/alfresco-ng2-components/commit/bdeb8a8e51) [ACS-10101] Reduce cron job execution window (#11151)
|
||||
- [f205cbc33c](https://github.com/Alfresco/alfresco-ng2-components/commit/f205cbc33c) Post release version bump (#11147)
|
||||
@@ -0,0 +1,164 @@
|
||||
---
|
||||
Title: Upgrading from ADF v7.0 to v8.0
|
||||
---
|
||||
|
||||
# Upgrading from ADF v7.0 to v8.0
|
||||
|
||||
This guide provides instructions for upgrading your v7.0.0 ADF projects to v8.0.0.
|
||||
|
||||
## Before you begin
|
||||
|
||||
Always perform upgrades on a "clean" project state. Back up your changes or create a full project backup before proceeding.
|
||||
|
||||
```shell
|
||||
# Recommended clean up
|
||||
nx reset && rm -rf .angular .nx dist node_modules nxcache tmp
|
||||
```
|
||||
|
||||
## Libraries
|
||||
|
||||
Update your dependencies to the versions introduced in the 8.0.0 release:
|
||||
|
||||
```json
|
||||
{
|
||||
"dependencies": {
|
||||
"@alfresco/adf-core": "8.0.0",
|
||||
"@alfresco/adf-content-services": "8.0.0",
|
||||
"@alfresco/adf-process-services-cloud": "8.0.0",
|
||||
"@alfresco/adf-insights": "8.0.0",
|
||||
"@alfresco/adf-extensions": "8.0.0",
|
||||
"@alfresco/adf-cli": "8.0.0",
|
||||
"@alfresco/eslint-plugin-eslint-angular": "8.0.0",
|
||||
"@alfresco/adf-testing": "8.0.0",
|
||||
"@alfresco/js-api": "9.0.0"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Currently used Node version: 22.14.0.
|
||||
|
||||
### Breaking changes
|
||||
|
||||
Major version updates have been applied to the following core libraries:
|
||||
|
||||
- Angular: 19.2.6
|
||||
- Angular Material: 19.2.9
|
||||
- Typescript: 5.8.2
|
||||
|
||||
> Details on Angular update can be found in *Update Guide* from Angular documentation.
|
||||
|
||||
### Added libraries
|
||||
|
||||
```json
|
||||
{
|
||||
"dependencies": {
|
||||
"node-fetch": "^3.3.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"resize-observer-polyfill": "^1.5.1",
|
||||
"webdriver-manager": "12.1.9"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Deleted libraries
|
||||
|
||||
```json
|
||||
{
|
||||
"devDependencies": {
|
||||
"mini-css-extract-plugin": "X.X.X",
|
||||
"css-loader": "X.X.X"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Reinstall your dependencies and perform an initial build:
|
||||
|
||||
```shell
|
||||
npm i
|
||||
npm run build
|
||||
```
|
||||
|
||||
Review your applications as some styles and classes of Angular Material components might have changed.
|
||||
|
||||
## Deprecations
|
||||
|
||||
The following table lists deprecated features and modules that will be removed in upcoming releases. Consider replacing them as soon as you update ADF to minimize future technical debt.
|
||||
|
||||
| Name | Notes |
|
||||
|-------------------------------|-----------------------------------------------------------------------------------------------|
|
||||
| Custom Theme | Refer to [Custom Theme documentation](../../lib/core/custom-theme/README.md) |
|
||||
| ShellModule | Refer to [Shell documentation](../../lib/core/shell/README.md) |
|
||||
| FormBaseModule | Use standalone components instead. |
|
||||
| CoreTestingModule | Use standalone components instead. |
|
||||
| ProcessServicesCloudModule | Refer to [ProcessServicesCloudModule replacement](#processservicescloudmodule-replacement) |
|
||||
|
||||
### ProcessServicesCloudModule replacement
|
||||
|
||||
To replace this module, import the standalone components directly or use the following provider API to replicate its behavior:
|
||||
|
||||
```typescript
|
||||
providers: [
|
||||
provideTranslations('adf-process-services-cloud', 'assets/adf-process-services-cloud'),
|
||||
provideCloudPreferences(),
|
||||
provideCloudFormRenderer(),
|
||||
{ provide: TASK_LIST_CLOUD_TOKEN, useClass: TaskListCloudService }
|
||||
]
|
||||
```
|
||||
|
||||
## New features and APIs
|
||||
|
||||
You can start using the new features and APIs introduced in the 8.0.0 release.
|
||||
|
||||
### XMLHttpRequest.withCredentials
|
||||
|
||||
Support for disabling the `withCredentials` property in `app.config.json` for identity providers that disallow credentials has been introduced. You can configure it as shown below:
|
||||
|
||||
```json
|
||||
{
|
||||
"auth": {
|
||||
"withCredentials": false
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### provideShell
|
||||
|
||||
The new provideShell API for providing the main application layout can replace the `withRoutes(routes: Routes | AppShellRoutesConfig)` method, as shown below.
|
||||
|
||||
```typescript
|
||||
import { provideShell } from '@alfresco/adf-core/shell';
|
||||
|
||||
provideShell(
|
||||
{
|
||||
routes: [],
|
||||
appService: AppService,
|
||||
authGuard: AuthGuard,
|
||||
navBar: {
|
||||
minWidth: 0,
|
||||
maxWidth: 100
|
||||
}
|
||||
}
|
||||
)
|
||||
```
|
||||
|
||||
### provideI18N
|
||||
|
||||
The new `provideI18N` API for providing translation can replace `provideTranslations('app', 'assets')` method, as shown below.
|
||||
|
||||
```typescript
|
||||
import { provideI18N } from '@alfresco/adf-core';
|
||||
|
||||
provideI18N(
|
||||
{
|
||||
defaultLanguage: "en", // optional, defaults to "en"
|
||||
assets: [['en', '/assets/i18n/en.json'], ['fr', '/assets/i18n/fr.json']]
|
||||
}
|
||||
)
|
||||
```
|
||||
|
||||
## Final steps
|
||||
|
||||
After updating your code, thoroughly test your application to ensure everything works as expected.
|
||||
|
||||
If you encounter any issues during the upgrade process, refer to the Angular update guide or seek assistance from the ADF community.
|
||||
@@ -33,7 +33,7 @@ OAuth2 is a protocol that allows the application to authorize operations without
|
||||
|
||||
silentLogin: Enables silent authentication.
|
||||
|
||||
secret: The application's secret, used for secure authentication.
|
||||
secret: Deprecated and removed. The application's secret, used for secure authentication.
|
||||
|
||||
redirectUri: Where to redirect after a successful login.
|
||||
|
||||
@@ -86,7 +86,6 @@ OAuth2 is a protocol that allows the application to authorize operations without
|
||||
"oauth2": {
|
||||
"host": "https://your-idp.auth0.com",
|
||||
"clientId": "",
|
||||
"secret": "",
|
||||
"scope": "openid profile email offline_access",
|
||||
"implicitFlow": false,
|
||||
"codeFlow": true,
|
||||
@@ -112,7 +111,6 @@ OAuth2 is a protocol that allows the application to authorize operations without
|
||||
"oauth2": {
|
||||
"host": "https://cognito-idp.your-idp-url",
|
||||
"clientId": "",
|
||||
"secret": "",
|
||||
"scope": "openid profile email",
|
||||
"implicitFlow": false,
|
||||
"codeFlow": true,
|
||||
@@ -144,23 +142,4 @@ To address this, include the following script tag within the <head> section of y
|
||||
</script>
|
||||
```
|
||||
|
||||
|
||||
|
||||
# Docker Environment Variables
|
||||
These settings can be customized in a Docker environment using the following environment variables:
|
||||
|
||||
APP_CONFIG_OAUTH2_HOST
|
||||
APP_CONFIG_OAUTH2_CLIENTID
|
||||
APP_CONFIG_OAUTH2_CLIENT_SECRET
|
||||
APP_CONFIG_OAUTH2_IMPLICIT_FLOW
|
||||
APP_CONFIG_OAUTH2_CODE_FLOW
|
||||
APP_CONFIG_OAUTH2_AUDIENCE
|
||||
APP_CONFIG_OAUTH2_SCOPE
|
||||
APP_CONFIG_OAUTH2_LOGOUT_URL
|
||||
APP_CONFIG_OAUTH2_LOGOUT_PARAMETERS
|
||||
APP_CONFIG_OAUTH2_SILENT_LOGIN
|
||||
APP_CONFIG_OAUTH2_REDIRECT_SILENT_IFRAME_URI
|
||||
APP_CONFIG_OAUTH2_REDIRECT_LOGIN
|
||||
APP_CONFIG_OAUTH2_REDIRECT_LOGOUT
|
||||
|
||||
Adjust the above examples according to your specific environment and authentication provider settings. These configurations ensure that the application can securely authenticate users through OAuth2, aligning with the current best practices in web application security.
|
||||
|
||||
@@ -19,14 +19,24 @@
|
||||
|
||||
4. Apply and commit your fix to **develop-patch-VERSION** branch.
|
||||
|
||||
5. Run [release.sh](../../scripts/release.sh) script with proper patch version:
|
||||
5. Increment the version in the package.json with the following command where `-v` refers to the ADF version and `-vj` to the new js-api version.
|
||||
The js-api must have a major version that is one higher than the other packages. For example, if adf-core is at version `4.11.1`, then js-api should be at version `5.11.1`
|
||||
|
||||
```bash
|
||||
./scripts/update-version.sh -v X.X.X -vj X.X.X
|
||||
|
||||
# e.g. ./scripts/update-version.sh -v 4.1.11 -vj 5.1.11
|
||||
```
|
||||
6. The `"@alfresco/js-api"` dependency in the `lib/cli/package.json` has to remain unchanged
|
||||
|
||||
7. Run [release.sh](../../scripts/release.sh) script with proper patch version:
|
||||
|
||||
```bash
|
||||
scripts/release.sh -v VERSION
|
||||
|
||||
# e.g. scripts/release.sh -v 4.11.1
|
||||
```
|
||||
6. Push your changes and run all tests:
|
||||
8. Push your changes and run all tests:
|
||||
|
||||
```bash
|
||||
git push -u origin develop-patch-VERSION
|
||||
@@ -39,28 +49,28 @@
|
||||
git push
|
||||
```
|
||||
|
||||
7. Verify if tests are green and if everything looks fine, you can proceed further.
|
||||
9. Verify if tests are green and if everything looks fine, you can proceed further.
|
||||
|
||||
8. Create new branch from **master** and call it **master-patch-VERSION** (e.g. master-patch-4.11.1):
|
||||
10. Create new branch from **master** and call it **master-patch-VERSION** (e.g. master-patch-4.11.1):
|
||||
|
||||
```bash
|
||||
git checkout master
|
||||
git checkout -b master-patch-VERSION
|
||||
```
|
||||
|
||||
9. Merge **develop-patch-VERSION** into **master-patch-VERSION**:
|
||||
11. Merge **develop-patch-VERSION** into **master-patch-VERSION**:
|
||||
|
||||
```bash
|
||||
git checkout master-patch-VERSION
|
||||
git merge develop-patch-VERSION
|
||||
```
|
||||
|
||||
10. Push **master-patch-VERSION** branch:
|
||||
12. Push **master-patch-VERSION** branch:
|
||||
|
||||
```bash
|
||||
git push -u origin master-patch-VERSION
|
||||
```
|
||||
|
||||
11. Verify if build is green and check if proper [tag](https://github.com/Alfresco/alfresco-ng2-components/tags) was created.
|
||||
13. Verify if build is green and check if proper [tag](https://github.com/Alfresco/alfresco-ng2-components/tags) was created.
|
||||
|
||||
12. After all is done, you can **cherry-pick** your fix to develop.
|
||||
14. After all is done, you can **cherry-pick** your fix to develop.
|
||||
|
||||
+33
-69
@@ -32,79 +32,30 @@ an [online palette design tool](http://mcg.mbitson.com/).
|
||||
See the [Material Design Style page](https://material.io/guidelines/style/color.html#) for
|
||||
more information about color concepts.
|
||||
|
||||
## Defining a custom theme
|
||||
## Using Angular Material theming
|
||||
|
||||
When you want more customization than a pre-built theme offers, you can create your own theme file. You only need to include the packages you actually use in your application.
|
||||
ADF is based on Angular Material library, which offers solutions for theming your application with either:
|
||||
- Material Design 2 https://material.angular.dev/guide/material-2-theming
|
||||
- Material Design 3 https://material.angular.dev/guide/theming
|
||||
|
||||
```scss
|
||||
/*
|
||||
* Include only packages that you are using (and core by default)
|
||||
*/
|
||||
@use '@angular/material' as mat;
|
||||
@import '~@angular/material/theming';
|
||||
@import '~@alfresco/adf-core/theming';
|
||||
If you already setup Angular Material theming in the application you use ADF in, there is no need for taking additional steps to theme ADF components - colors, typography and other parts of the theme will be taken from your setup.
|
||||
|
||||
@include mat.core();
|
||||
## Customizing deprecated theme variables
|
||||
|
||||
$primary: mat.define-palette($alfresco-accent-orange);
|
||||
$accent: mat.define-palette($alfresco-accent-purple);
|
||||
$warn: mat.define-palette($alfresco-warn);
|
||||
$theme: mat.define-light-theme((
|
||||
color: (
|
||||
primary: $primary,
|
||||
accent: $accent,
|
||||
warn: $warn,
|
||||
),
|
||||
typography: $alfresco-typography
|
||||
));
|
||||
Currently we have an amount of custom variables around components to mange libraries look and feel consistently and globally.
|
||||
|
||||
@include angular-material-theme($theme);
|
||||
@include alfresco-material-theme($theme);
|
||||
```
|
||||
While they are getting deprecated to be replaced with [Angular Material system variables](https://material.angular.dev/guide/system-variables), for seamless integration with Angular Material's theming, you can provide values for those variables inside the `:root` element.
|
||||
|
||||
### Multiple themes
|
||||
|
||||
You can create multiple themes for your application:
|
||||
|
||||
#### Example of defining multiple themes
|
||||
|
||||
```scss
|
||||
@import '~@angular/material/theming';
|
||||
@import '~@alfresco/adf-core/theming';
|
||||
|
||||
@include mat-core($alfresco-typography);
|
||||
|
||||
$primary: mat.define-palette($alfresco-accent-orange);
|
||||
$accent: mat.define-palette($alfresco-accent-purple);
|
||||
$warn: mat.define-palette($alfresco-warn);
|
||||
$theme: mat.define-light-theme((
|
||||
color: (
|
||||
primary: $primary,
|
||||
accent: $accent,
|
||||
warn: $warn,
|
||||
),
|
||||
typography: $alfresco-typography
|
||||
));
|
||||
|
||||
$dark-theme: mat.define-dark-theme((
|
||||
color: (
|
||||
primary: $primary,
|
||||
accent: $accent,
|
||||
warn: $warn,
|
||||
),
|
||||
typography: $alfresco-typography
|
||||
));
|
||||
|
||||
@include alfresco-material-theme($theme);
|
||||
...like above
|
||||
|
||||
.adf-dark-theme {
|
||||
@include alfresco-material-theme($dark-theme);
|
||||
...like above
|
||||
For example:
|
||||
```css
|
||||
:root {
|
||||
--theme-primary-color: --mat-sys-primary;
|
||||
--theme-accent-color: --mat-sys-tertiary;
|
||||
}
|
||||
```
|
||||
Any component with the `add-dark-theme` class will use the dark theme, while other components will fall back to the default.
|
||||
**No new variables should be added to the project**
|
||||
|
||||
[Reference list of overridable variables](https://github.com/Alfresco/alfresco-ng2-components/blob/29d341cc3b6a0842a776464027dcb1154875a8f0/lib/core/src/lib/styles/_index.scss#L25)
|
||||
|
||||
## Default reusable class
|
||||
|
||||
@@ -132,13 +83,13 @@ Avoid adding css variables with custom values, values should come from the theme
|
||||
--new-variable: mat.get-color-from-palette($primary, 50), // good
|
||||
```
|
||||
|
||||
When styling components try to use theme related variables (colors, typography):
|
||||
```
|
||||
When styling components use Angular Material system variables (colors, typography, elevation):
|
||||
```scss
|
||||
.my-class {
|
||||
color:darkgrey; // bad
|
||||
color:var(--theme-primary-color); // good
|
||||
color:var(--mat-sys-primary); // good
|
||||
font-size:23px; // bad
|
||||
font-size:var(--theme-typography-body-1-font-size); // good
|
||||
font:var(--mat-sys-body-small); // good
|
||||
background:yellow; // bad
|
||||
background:var(--my-component-nr-200-background-color); // bad
|
||||
background:var(--theme-primary-color-50); // good
|
||||
@@ -148,7 +99,7 @@ When styling components try to use theme related variables (colors, typography):
|
||||
When using library like Angular Material try to follow patterns from this library.
|
||||
It helps to style components built with this library (just apply theme instead of custom styling).
|
||||
For example when creating input:
|
||||
```
|
||||
```html
|
||||
// bad
|
||||
<div class="my-custom-input">
|
||||
<div class="my-custom-label"></div>
|
||||
@@ -166,3 +117,16 @@ For example when creating input:
|
||||
<mat-error></mat-error>
|
||||
</mat-form-field>
|
||||
```
|
||||
|
||||
Avoid customizing Angular Material's internal selectors:
|
||||
|
||||
```scss
|
||||
// bad - targeting internal Angular Material selectors
|
||||
.mat-mdc-form-field .mdc-text-field__input {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.mat-mdc-button .mdc-button__label {
|
||||
font-weight: bold;
|
||||
}
|
||||
```
|
||||
|
||||
@@ -395,8 +395,6 @@ backend services have been tested with each released version of ADF.
|
||||
<!--v260 start-->
|
||||
|
||||
- [Login dialog panel component](core/components/login-dialog-panel.component.md)
|
||||
- [Login dialog component](core/components/login-dialog.component.md)
|
||||
- [Login dialog service](core/services/login-dialog.service.md)
|
||||
|
||||
<!--v260 end-->
|
||||
|
||||
|
||||
@@ -52,3 +52,7 @@ The pages linked below contain the audit for all third party dependencies of ADF
|
||||
- [ADF 7.0.0-alpha.6](audit-info-7.0.0-alpha.6.md)
|
||||
- [ADF 7.0.0-alpha.7](audit-info-7.0.0-alpha.7.md)
|
||||
- [ADF 7.0.0](audit-info-7.0.0.md)
|
||||
- [ADF 8.0.0](audit-info-8.0.0.md)
|
||||
- [ADF 8.1.0](audit-info-8.1.0.md)
|
||||
- [ADF 8.1.1](audit-info-8.1.1.md)
|
||||
- [ADF 8.2.0](audit-info-8.2.0.md)
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
---
|
||||
Title: Audit info, alfresco-ng2-components 8.0.0
|
||||
---
|
||||
|
||||
# Audit information for alfresco-ng2-components 8.0.0
|
||||
|
||||
This page lists the security audit of the dependencies this project depends on.
|
||||
|
||||
## Risks
|
||||
|
||||
- Critical risk: 0
|
||||
- High risk: 0
|
||||
- Moderate risk: 0
|
||||
- Low risk: 0
|
||||
|
||||
Dependencies analyzed:
|
||||
|
||||
## Libraries
|
||||
|
||||
| Severity | Module | Vulnerable versions |
|
||||
| --- | --- | --- |
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
---
|
||||
Title: Audit info, alfresco-ng2-components 8.1.0
|
||||
---
|
||||
|
||||
# Audit information for alfresco-ng2-components 8.1.0
|
||||
|
||||
This page lists the security audit of the dependencies this project depends on.
|
||||
|
||||
## Risks
|
||||
|
||||
- Critical risk: 0
|
||||
- High risk: 0
|
||||
- Moderate risk: 0
|
||||
- Low risk: 0
|
||||
|
||||
Dependencies analyzed:
|
||||
|
||||
## Libraries
|
||||
|
||||
| Severity | Module | Vulnerable versions |
|
||||
| --- | --- | --- |
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
---
|
||||
Title: Audit info, alfresco-ng2-components 8.1.1
|
||||
---
|
||||
|
||||
# Audit information for alfresco-ng2-components 8.1.1
|
||||
|
||||
This page lists the security audit of the dependencies this project depends on.
|
||||
|
||||
## Risks
|
||||
|
||||
- Critical risk: 0
|
||||
- High risk: 0
|
||||
- Moderate risk: 0
|
||||
- Low risk: 0
|
||||
|
||||
Dependencies analyzed:
|
||||
|
||||
## Libraries
|
||||
|
||||
| Severity | Module | Vulnerable versions |
|
||||
| --- | --- | --- |
|
||||
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
---
|
||||
Title: Audit info, alfresco-ng2-components 8.2.0
|
||||
---
|
||||
|
||||
# Audit information for alfresco-ng2-components 8.2.0
|
||||
|
||||
This page lists the security audit of the dependencies this project depends on.
|
||||
|
||||
## Risks
|
||||
|
||||
- Critical risk: 0
|
||||
- High risk: 3
|
||||
- Moderate risk: 1
|
||||
- Low risk: 0
|
||||
|
||||
Dependencies analyzed:
|
||||
|
||||
## Libraries
|
||||
|
||||
| Severity | Module | Vulnerable versions |
|
||||
| --- | --- | --- |
|
||||
|high | @nx/webpack | "<=0.0.0-pr-32023-55176ba || 19.8.11 - 19.8.15 || 20.0.8 - 21.3.3 || 21.4.0-beta.0 - 21.4.0-canary.20250815-18ba315" |
|
||||
|high | glob | "10.3.7 - 11.0.3" |
|
||||
|moderate | js-yaml | "<3.14.2 || >=4.0.0 <4.1.1" |
|
||||
|high | stylus | ">=0.64.0" |
|
||||
|
||||
|
||||
Binary file not shown.
@@ -7,7 +7,6 @@ coverage
|
||||
dist
|
||||
|
||||
content-services/**/*.js
|
||||
!content-services/.storybook/*.js
|
||||
!content-services/karma.conf.js
|
||||
content-services/**/*.js.map
|
||||
content-services/**/*.d.ts
|
||||
@@ -18,7 +17,6 @@ process-services/**/*.js.map
|
||||
process-services/**/*.d.ts
|
||||
|
||||
core/**/*.js
|
||||
!core/.storybook/*.js
|
||||
!core/karma.conf.js
|
||||
core/**/*.js.map
|
||||
core/**/*.d.ts
|
||||
@@ -29,7 +27,6 @@ insights/**/*.js.map
|
||||
insights/**/*.d.ts
|
||||
|
||||
process-services-cloud/**/*.js
|
||||
!process-services-cloud/.storybook/*.js
|
||||
!process-services-cloud/karma.conf.js
|
||||
process-services-cloud/**/*.js.map
|
||||
process-services-cloud/**/*.d.ts
|
||||
|
||||
+45
-43
@@ -18,12 +18,24 @@ adf-cli <command> --help
|
||||
|
||||
## Developing
|
||||
|
||||
Link the project as a global tool
|
||||
### Quick Setup
|
||||
|
||||
Link the project as a global tool (builds and links in one command):
|
||||
|
||||
```bash
|
||||
npm link
|
||||
npm run link
|
||||
```
|
||||
|
||||
This will build the CLI and make the `adf-cli` command available globally on your system.
|
||||
|
||||
When you're done developing:
|
||||
|
||||
```bash
|
||||
npm run unlink
|
||||
```
|
||||
|
||||
### Development Mode
|
||||
|
||||
Build the tool in the **develop** mode (automatically watches for changes and rebuilds the commands):
|
||||
|
||||
```bash
|
||||
@@ -38,18 +50,32 @@ DEVELOP=true adf-cli <command>
|
||||
|
||||
In develop mode, the CLI takes the prebuilt scripts from the dist folder.
|
||||
|
||||
### Manual Workflow
|
||||
|
||||
If you need more control, you can manually build and link:
|
||||
|
||||
```bash
|
||||
# Build the CLI
|
||||
npm run build
|
||||
|
||||
# Or build with full distribution (includes copying resources)
|
||||
npm run dist
|
||||
|
||||
# Link from the dist directory
|
||||
cd ../../dist/libs/cli && npm link
|
||||
```
|
||||
|
||||
## Commands
|
||||
|
||||
| **Commands** |**Description** |
|
||||
| --- | --- |
|
||||
| changelog | Generate changelog report for two branches of git repository |
|
||||
| check-cs-env | Check cs env is up |
|
||||
| check-plugin-env | Check plugin status |
|
||||
| docker | Build and publish a docker image or create additional tag link |
|
||||
| init-aae-env | Init env |
|
||||
| init-aps-env | Init aps |
|
||||
| licenses | Create a 3th party license file |
|
||||
| audit | Check the security risk dependency in your package.json |
|
||||
| **Commands** | **Description** |
|
||||
|------------------|----------------------------------------------------------------|
|
||||
| changelog | Generate changelog report for two branches of git repository |
|
||||
| check-cs-env | Check cs env is up |
|
||||
| check-plugin-env | Check plugin status |
|
||||
| init-aae-env | Init env |
|
||||
| init-aps-env | Init aps |
|
||||
| licenses | Create a 3th party license file |
|
||||
| audit | Check the security risk dependency in your package.json |
|
||||
|
||||
## Examples
|
||||
|
||||
@@ -128,29 +154,6 @@ npm install
|
||||
adf-cli audit
|
||||
```
|
||||
|
||||
### Docker
|
||||
|
||||
The command provides 2 targets 'Publish' (default value) and 'Link'
|
||||
|
||||
Publish target
|
||||
Move in the folder where you have your `Dockerfile` and run the command:
|
||||
|
||||
```bash
|
||||
adf-cli docker --target "publish" --dockerRepo "${docker_repository}" --dockerTags "${TAGS}"
|
||||
```
|
||||
|
||||
If you want to specify a different docker registry you can run
|
||||
```bash
|
||||
--loginCheck --loginUsername "username" --loginPassword "password" --loginRepo "quay.io"--dockerRepo "${docker_repository}" --dockerTags "${TAGS}"
|
||||
```
|
||||
|
||||
Link target
|
||||
In case you don't need to publish a new image but you would like to create a link to an already existing image (sourceTag) you can use the link target.
|
||||
|
||||
```bash
|
||||
adf-cli docker --target "link" --dockerRepo "${docker_repository}" --dockerTags "${TAGS}" --sourceTag "develop"
|
||||
```
|
||||
|
||||
### Initialize activiti cloud env
|
||||
|
||||
The following command is in charge of Initializing the activiti cloud env with the default apps:
|
||||
@@ -167,14 +170,13 @@ adf-cli init-aae-env --host "gateway_env" --oauth "identity_env" --identityHost
|
||||
If you want to add a new app the schema needs to be:
|
||||
|
||||
```text
|
||||
TEST_APP: {
|
||||
name: 'testapp',
|
||||
file_location: 'https://github.com/Alfresco/alfresco-ng2-components/blob/branch/e2e/resources/testapp.zip?raw=true',
|
||||
security: [
|
||||
{'role': 'APS_ADMIN', 'groups': ['myadmingroup'], 'users': ['myadminuser']},
|
||||
{'role': 'APS_USER', 'groups': ['myusergroup'], 'users': ['myuser']
|
||||
}]
|
||||
},
|
||||
TEST_APP: {
|
||||
name: 'testapp',
|
||||
file_location: 'https://github.com/Alfresco/alfresco-ng2-components/blob/branch/e2e/resources/testapp.zip?raw=true',
|
||||
security:[
|
||||
{'role': 'APS_ADMIN', groups': ['myadmingroup'], 'users': ['myadminuser']},
|
||||
{'role': 'APS_USER', 'groups': ['myusergroup'], 'users': ['myuser']}]
|
||||
},
|
||||
```
|
||||
|
||||
### Checks plugin status
|
||||
|
||||
+15
-3
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env node
|
||||
const minimist = require('minimist');
|
||||
const { parseArgs } = require('node:util');
|
||||
const { resolve, join } = require('node:path');
|
||||
const { readFileSync, existsSync } = require('node:fs');
|
||||
const { argv, exit, env, cwd } = require('node:process');
|
||||
@@ -10,10 +10,22 @@ function printHelp() {
|
||||
console.log(`${name} v${version}`);
|
||||
}
|
||||
|
||||
const args = minimist(argv.slice(2), {
|
||||
boolean: ['verbose']
|
||||
const { values, positionals } = parseArgs({
|
||||
args: argv.slice(2),
|
||||
options: {
|
||||
verbose: {
|
||||
type: 'boolean'
|
||||
}
|
||||
},
|
||||
allowPositionals: true,
|
||||
strict: false
|
||||
});
|
||||
|
||||
const args = {
|
||||
...values,
|
||||
_: positionals
|
||||
};
|
||||
|
||||
if (args._.length === 0) {
|
||||
printHelp();
|
||||
exit(1);
|
||||
|
||||
Generated
+1357
-402
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@alfresco/adf-cli",
|
||||
"description": "Alfresco ADF cli and utils",
|
||||
"version": "8.0.0",
|
||||
"version": "8.2.0",
|
||||
"author": "Hyland Software, Inc. and its affiliates",
|
||||
"bin": {
|
||||
"adf-cli": "bin/adf-cli",
|
||||
@@ -17,16 +17,16 @@
|
||||
"scripts": {
|
||||
"build": "tsc -p tsconfig.json",
|
||||
"develop": "tsc -p tsconfig.json --watch",
|
||||
"dist": "rm -rf ../../dist/libs/cli && npm run build && cp -R ./bin ../../dist/libs/cli && cp -R ./resources ../../dist/libs/cli && cp -R ./templates ../../dist/libs/cli && cp ./package.json ../../dist/libs/cli"
|
||||
"dist": "rm -rf ../../dist/libs/cli && npm run build && cp -R ./bin ../../dist/libs/cli && cp -R ./resources ../../dist/libs/cli && cp -R ./templates ../../dist/libs/cli && cp ./package.json ../../dist/libs/cli",
|
||||
"link": "npm run dist && cd ../../dist/libs/cli && npm link",
|
||||
"unlink": "cd ../../dist/libs/cli && npm unlink"
|
||||
},
|
||||
"dependencies": {
|
||||
"@alfresco/js-api": ">=8.0.0-alpha.7",
|
||||
"commander": "^6.2.1",
|
||||
"ejs": "^3.1.9",
|
||||
"@alfresco/js-api": ">=9.1.1",
|
||||
"ejs": "^3.1.10",
|
||||
"license-checker": "^25.0.1",
|
||||
"node-fetch": "^2.7.0",
|
||||
"rxjs": "7.8.2",
|
||||
"shelljs": "^0.8.3",
|
||||
"shelljs": "^0.10.0",
|
||||
"spdx-license-list": "^5.0.0"
|
||||
},
|
||||
"keywords": [
|
||||
|
||||
+30
-12
@@ -22,9 +22,7 @@ import * as ejs from 'ejs';
|
||||
import * as path from 'path';
|
||||
import * as fs from 'fs';
|
||||
import { argv, exit } from 'node:process';
|
||||
import { Command } from 'commander';
|
||||
|
||||
const program = new Command();
|
||||
import { parseArgs } from 'node:util';
|
||||
|
||||
interface AuditCommandArgs {
|
||||
package?: string;
|
||||
@@ -39,19 +37,39 @@ interface AuditCommandArgs {
|
||||
* @returns void
|
||||
*/
|
||||
export default function main(_args: string[], workingDir: string) {
|
||||
program
|
||||
.description('Generate an audit report')
|
||||
.usage('audit [options]')
|
||||
.option('-p, --package <path>', 'Path to package file (default: package.json in working directory)')
|
||||
.option('-d, --outDir <dir>', 'Ouput directory (default: working directory)')
|
||||
.parse(argv);
|
||||
|
||||
if (argv.includes('-h') || argv.includes('--help')) {
|
||||
program.outputHelp();
|
||||
console.log(`
|
||||
Usage: audit [options]
|
||||
|
||||
Generate an audit report
|
||||
|
||||
Options:
|
||||
-p, --package <path> Path to package file (default: package.json in working directory)
|
||||
-d, --outDir <dir> Output directory (default: working directory)
|
||||
-h, --help Display help for command
|
||||
`);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
const options: AuditCommandArgs = program.opts();
|
||||
const { values } = parseArgs({
|
||||
args: argv.slice(2),
|
||||
options: {
|
||||
package: {
|
||||
type: 'string',
|
||||
short: 'p'
|
||||
},
|
||||
outDir: {
|
||||
type: 'string',
|
||||
short: 'd'
|
||||
}
|
||||
},
|
||||
allowPositionals: true
|
||||
});
|
||||
|
||||
const options: AuditCommandArgs = {
|
||||
package: values.package as string | undefined,
|
||||
outDir: values.outDir as string | undefined
|
||||
};
|
||||
|
||||
let packagePath = path.resolve(workingDir, 'package.json');
|
||||
|
||||
|
||||
@@ -20,15 +20,13 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
|
||||
import { argv, exit } from 'node:process';
|
||||
import { parseArgs } from 'node:util';
|
||||
import * as shell from 'shelljs';
|
||||
import * as path from 'path';
|
||||
import { Command } from 'commander';
|
||||
import { logger } from './logger';
|
||||
import * as fs from 'fs';
|
||||
import * as ejs from 'ejs';
|
||||
|
||||
const program = new Command();
|
||||
|
||||
interface Commit {
|
||||
hash: string;
|
||||
author: string;
|
||||
@@ -151,28 +149,74 @@ function commitAuthorAllowed(commit: Commit, authorFilter: string): boolean {
|
||||
* @returns void
|
||||
*/
|
||||
export default function main(_args: string[], workingDir: string) {
|
||||
program
|
||||
.description('Generate changelog report for two branches of git repository')
|
||||
.version('0.0.1', '-v, --version')
|
||||
.usage('changelog [options]')
|
||||
.option('-r, --range <range>', 'Commit range, e.g. origin/master..develop', 'origin/master..develop')
|
||||
.option('-d, --dir <dir>', 'Working directory (default: working directory)')
|
||||
.option('-m, --max <number>', 'Limit the number of commits to output')
|
||||
.option('-o, --output <dir>', 'Output directory, will use console output if not defined')
|
||||
.option('--skip <number>', 'Skip number commits before starting to show the commit output')
|
||||
.option('-f, --format <format>', 'Output format (md, html)', 'md')
|
||||
.option('-e --exclude <string>', 'Exclude authors from the output, comma-delimited list')
|
||||
.parse(argv);
|
||||
|
||||
if (argv.includes('-h') || argv.includes('--help')) {
|
||||
program.outputHelp();
|
||||
console.log(`
|
||||
Usage: changelog [options]
|
||||
|
||||
Generate changelog report for two branches of git repository
|
||||
|
||||
Options:
|
||||
-v, --version Output the version number
|
||||
-r, --range <range> Commit range, e.g. origin/master..develop (default: "origin/master..develop")
|
||||
-d, --dir <dir> Working directory (default: working directory)
|
||||
-m, --max <number> Limit the number of commits to output
|
||||
-o, --output <dir> Output directory, will use console output if not defined
|
||||
--skip <number> Skip number commits before starting to show the commit output
|
||||
-f, --format <format> Output format (md, html) (default: "md")
|
||||
-e, --exclude <string> Exclude authors from the output, comma-delimited list
|
||||
-h, --help Display help for command
|
||||
`);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
const options = program.opts();
|
||||
if (argv.includes('-v') || argv.includes('--version')) {
|
||||
console.log('0.0.1');
|
||||
exit(0);
|
||||
}
|
||||
|
||||
const dir = path.resolve(options.dir || workingDir);
|
||||
const { range, skip, max, format, output, exclude } = options;
|
||||
const { values } = parseArgs({
|
||||
args: argv.slice(2),
|
||||
options: {
|
||||
range: {
|
||||
type: 'string',
|
||||
short: 'r',
|
||||
default: 'origin/master..develop'
|
||||
},
|
||||
dir: {
|
||||
type: 'string',
|
||||
short: 'd'
|
||||
},
|
||||
max: {
|
||||
type: 'string',
|
||||
short: 'm'
|
||||
},
|
||||
output: {
|
||||
type: 'string',
|
||||
short: 'o'
|
||||
},
|
||||
skip: {
|
||||
type: 'string'
|
||||
},
|
||||
format: {
|
||||
type: 'string',
|
||||
short: 'f',
|
||||
default: 'md'
|
||||
},
|
||||
exclude: {
|
||||
type: 'string',
|
||||
short: 'e'
|
||||
}
|
||||
},
|
||||
allowPositionals: true
|
||||
});
|
||||
|
||||
const dir = path.resolve((values.dir as string) || workingDir);
|
||||
const range = values.range as string;
|
||||
const skip = values.skip ? parseInt(values.skip as string, 10) : undefined;
|
||||
const max = values.max ? parseInt(values.max as string, 10) : undefined;
|
||||
const format = values.format as string;
|
||||
const output = values.output as string | undefined;
|
||||
const exclude = values.exclude as string | undefined;
|
||||
|
||||
const remote = getRemote(dir);
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
import { AlfrescoApi /*, NodesApi, UploadApi*/ } from '@alfresco/js-api';
|
||||
import { argv, exit } from 'node:process';
|
||||
import { Command } from 'commander';
|
||||
import { parseArgs } from 'node:util';
|
||||
import { logger } from './logger';
|
||||
|
||||
interface CheckCsEnvArgs {
|
||||
@@ -27,8 +27,6 @@ interface CheckCsEnvArgs {
|
||||
time?: number;
|
||||
retry?: number;
|
||||
}
|
||||
|
||||
const program = new Command();
|
||||
const MAX_RETRY = 3;
|
||||
const TIMEOUT = 20000;
|
||||
|
||||
@@ -39,18 +37,63 @@ let alfrescoJsApi: AlfrescoApi;
|
||||
* Check CS environment command
|
||||
*/
|
||||
export default async function main() {
|
||||
program
|
||||
.version('0.1.0')
|
||||
.description('Check Content service is up ')
|
||||
.usage('check-cs-env [options]')
|
||||
.option('--host [type]', 'Remote environment host adf.lab.com ')
|
||||
.option('-p, --password [type]', 'password ')
|
||||
.option('-u, --username [type]', 'username ')
|
||||
.option('-t, --time [type]', 'time ')
|
||||
.option('-r, --retry [type]', 'retry ')
|
||||
.parse(argv);
|
||||
if (argv.includes('-h') || argv.includes('--help')) {
|
||||
console.log(`
|
||||
Usage: check-cs-env [options]
|
||||
|
||||
Check Content service is up
|
||||
|
||||
Options:
|
||||
-v, --version Output the version number
|
||||
--host <host> Remote environment host adf.lab.com
|
||||
-p, --password <pass> Password
|
||||
-u, --username <user> Username
|
||||
-t, --time <ms> Time in milliseconds
|
||||
-r, --retry <num> Retry count
|
||||
-h, --help Display help for command
|
||||
`);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
if (argv.includes('-v') || argv.includes('--version')) {
|
||||
console.log('0.1.0');
|
||||
exit(0);
|
||||
}
|
||||
|
||||
const { values } = parseArgs({
|
||||
args: argv.slice(2),
|
||||
options: {
|
||||
host: {
|
||||
type: 'string'
|
||||
},
|
||||
password: {
|
||||
type: 'string',
|
||||
short: 'p'
|
||||
},
|
||||
username: {
|
||||
type: 'string',
|
||||
short: 'u'
|
||||
},
|
||||
time: {
|
||||
type: 'string',
|
||||
short: 't'
|
||||
},
|
||||
retry: {
|
||||
type: 'string',
|
||||
short: 'r'
|
||||
}
|
||||
},
|
||||
allowPositionals: true
|
||||
});
|
||||
|
||||
const opts: CheckCsEnvArgs = {
|
||||
host: values.host as string | undefined,
|
||||
username: values.username as string | undefined,
|
||||
password: values.password as string | undefined,
|
||||
time: values.time ? parseInt(values.time as string, 10) : undefined,
|
||||
retry: values.retry ? parseInt(values.retry as string, 10) : undefined
|
||||
};
|
||||
|
||||
const opts = program.opts();
|
||||
await checkEnv(opts);
|
||||
// TODO: https://alfresco.atlassian.net/browse/ACS-5873
|
||||
// await checkDiskSpaceFullEnv();
|
||||
|
||||
@@ -15,14 +15,13 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { argv } from 'node:process';
|
||||
import { argv, exit } from 'node:process';
|
||||
import { parseArgs } from 'node:util';
|
||||
import { CheckEnv } from './plugins/check-env';
|
||||
import { Command } from 'commander';
|
||||
import { ProcessServiceCheckPlugin } from './plugins/process-service-check-plugin';
|
||||
import { ProcessAutomationCheckPlugin } from './plugins/process-automation-check-plugin';
|
||||
import { GovernanceCheckPlugin } from './plugins/governance-check-plugin';
|
||||
|
||||
const program = new Command();
|
||||
let pluginEnv: CheckEnv;
|
||||
|
||||
interface CheckPluginArgs {
|
||||
@@ -39,18 +38,74 @@ interface CheckPluginArgs {
|
||||
* Check environment plugin
|
||||
*/
|
||||
export default async function main() {
|
||||
program
|
||||
.version('0.1.0')
|
||||
.option('--host [type]', 'Remote environment host')
|
||||
.option('--pluginName [type]', 'pluginName')
|
||||
.option('--clientId [type]', 'sso client', 'alfresco')
|
||||
.option('--appName [type]', 'appName ', 'Deployed appName on activiti-cloud')
|
||||
.option('-p, --password [type]', 'password ')
|
||||
.option('-u, --username [type]', 'username ')
|
||||
.option('--ui, --uiName [type]', 'uiName', 'Deployed app UI type on activiti-cloud')
|
||||
.parse(argv);
|
||||
if (argv.includes('-h') || argv.includes('--help')) {
|
||||
console.log(`
|
||||
Usage: check-plugin-env [options]
|
||||
|
||||
const options = program.opts();
|
||||
Check plugin status
|
||||
|
||||
Options:
|
||||
-v, --version Output the version number
|
||||
--host <host> Remote environment host
|
||||
--pluginName <name> Plugin name (processService, processAutomation, governance)
|
||||
--clientId <id> SSO client (default: "alfresco")
|
||||
--appName <name> Deployed appName on activiti-cloud
|
||||
-p, --password <pass> Password
|
||||
-u, --username <user> Username
|
||||
--ui, --uiName <name> Deployed app UI type on activiti-cloud
|
||||
-h, --help Display help for command
|
||||
`);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
if (argv.includes('-v') || argv.includes('--version')) {
|
||||
console.log('0.1.0');
|
||||
exit(0);
|
||||
}
|
||||
|
||||
const { values } = parseArgs({
|
||||
args: argv.slice(2),
|
||||
options: {
|
||||
host: {
|
||||
type: 'string'
|
||||
},
|
||||
pluginName: {
|
||||
type: 'string'
|
||||
},
|
||||
clientId: {
|
||||
type: 'string',
|
||||
default: 'alfresco'
|
||||
},
|
||||
appName: {
|
||||
type: 'string'
|
||||
},
|
||||
password: {
|
||||
type: 'string',
|
||||
short: 'p'
|
||||
},
|
||||
username: {
|
||||
type: 'string',
|
||||
short: 'u'
|
||||
},
|
||||
ui: {
|
||||
type: 'string'
|
||||
},
|
||||
uiName: {
|
||||
type: 'string'
|
||||
}
|
||||
},
|
||||
allowPositionals: true
|
||||
});
|
||||
|
||||
const options: CheckPluginArgs = {
|
||||
host: values.host as string | undefined,
|
||||
pluginName: values.pluginName as 'processService' | 'processAutomation' | 'governance' | undefined,
|
||||
clientId: values.clientId as string | undefined,
|
||||
appName: values.appName as string | undefined,
|
||||
username: values.username as string | undefined,
|
||||
password: values.password as string | undefined,
|
||||
uiName: (values.ui || values.uiName) as string | undefined
|
||||
};
|
||||
|
||||
pluginEnv = new CheckEnv(options.host, options.username, options.password, options.clientId);
|
||||
await pluginEnv.checkEnv();
|
||||
|
||||
@@ -1,222 +0,0 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { argv, exit } from 'node:process';
|
||||
import { exec } from './exec';
|
||||
import { Command } from 'commander';
|
||||
import { logger } from './logger';
|
||||
import { resolve } from 'path';
|
||||
|
||||
const program = new Command();
|
||||
|
||||
// eslint-disable-next-line no-shadow
|
||||
enum TARGETS {
|
||||
publish = 'publish',
|
||||
link = 'link'
|
||||
}
|
||||
|
||||
const DOCKER_FILENAME = 'Dockerfile';
|
||||
export interface PublishArgs {
|
||||
tag?: string;
|
||||
dryrun?: boolean;
|
||||
verbose?: boolean;
|
||||
loginCheck?: boolean;
|
||||
loginUsername?: string;
|
||||
loginPassword?: string;
|
||||
loginRepo?: string;
|
||||
dockerRepo?: string;
|
||||
buildArgs?: string[];
|
||||
dockerTags?: string;
|
||||
pathProject: string;
|
||||
fileName: string;
|
||||
sourceTag?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Perform a login
|
||||
*
|
||||
* @param args arguments
|
||||
*/
|
||||
function login(args: PublishArgs) {
|
||||
logger.info(`Perform docker login...${args.loginRepo}`);
|
||||
const loginDockerRes = exec('docker', ['login', `-u=${args.loginUsername}`, `-p=${args.loginPassword}`, `${args.loginRepo}`]);
|
||||
logger.info(loginDockerRes);
|
||||
}
|
||||
|
||||
/**
|
||||
* Build Docker image
|
||||
*
|
||||
* @param args command arguments
|
||||
* @param tag tag
|
||||
*/
|
||||
function buildImage(args: PublishArgs, tag: string) {
|
||||
logger.info(`Perform docker build...${args.dockerRepo}:${tag}`);
|
||||
|
||||
const buildArgs = [];
|
||||
|
||||
if (typeof args.buildArgs === 'string') {
|
||||
buildArgs.push(`--build-arg=${args.buildArgs}`);
|
||||
} else {
|
||||
args.buildArgs.forEach((envVar) => {
|
||||
buildArgs.push(`--build-arg=${envVar}`);
|
||||
});
|
||||
}
|
||||
if (args.verbose) {
|
||||
logger.info(`Dry-run Perform docker build -t=${args.dockerRepo}:${tag} ${buildArgs} -f=${args.fileName} ${args.pathProject}`);
|
||||
}
|
||||
const response = exec('docker', ['build', `-t=${args.dockerRepo}:${tag}`, ...buildArgs, `-f=${args.fileName}`, args.pathProject], {});
|
||||
logger.info(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tag Docker image
|
||||
*
|
||||
* @param args command arguments
|
||||
* @param imageTag image tag
|
||||
* @param newTag new image tag
|
||||
*/
|
||||
function tagImage(args: PublishArgs, imageTag: string, newTag: string) {
|
||||
logger.info(`Perform docker tag... ${args.dockerRepo}:${imageTag} on ${args.dockerRepo}:${newTag}`);
|
||||
const response = exec('docker', ['tag', `${args.dockerRepo}:${imageTag}`, `${args.dockerRepo}:${newTag}`], {});
|
||||
logger.info(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* Pull Docker image
|
||||
*
|
||||
* @param dockerRepo repository
|
||||
* @param sourceTag tag
|
||||
*/
|
||||
function pullImage(dockerRepo: string, sourceTag: string) {
|
||||
logger.info(`Perform docker pull... ${dockerRepo}:${sourceTag}`);
|
||||
const response = exec('docker', ['pull', `${dockerRepo}:${sourceTag}`], {});
|
||||
logger.info(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* Push Docker image
|
||||
*
|
||||
* @param args command arguments
|
||||
* @param tag tag
|
||||
*/
|
||||
function pushImage(args: PublishArgs, tag: string) {
|
||||
if (args.dryrun) {
|
||||
logger.info(`Dry-run Perform docker push... ${args.dockerRepo}:${tag}`);
|
||||
} else {
|
||||
logger.info(`Perform docker push... ${args.dockerRepo}:${tag}`);
|
||||
const response = exec('docker', ['push', `${args.dockerRepo}:${tag}`], {});
|
||||
logger.info(response);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Clean Docker image
|
||||
*
|
||||
* @param args command arguments
|
||||
* @param tag tag
|
||||
*/
|
||||
function cleanImage(args: PublishArgs, tag: string) {
|
||||
logger.info(`Perform docker clean on tag:${tag}...`);
|
||||
const response = exec('docker', ['rmi', `-f`, `${args.dockerRepo}:${tag}`], {});
|
||||
logger.info(response);
|
||||
}
|
||||
|
||||
/**
|
||||
* Publish to Docker command
|
||||
*
|
||||
* @param args command arguments
|
||||
*/
|
||||
export default function main(args: PublishArgs) {
|
||||
program
|
||||
.version('0.1.0')
|
||||
.description(
|
||||
'Move in the folder where you have your Dockerfile and run the command:\n\n' +
|
||||
'adf-cli docker-publish --dockerRepo "${docker_repository}" --dockerTags "${TAGS}"'
|
||||
)
|
||||
.option('--loginRepo [type]', 'URL registry')
|
||||
.option('--loginPassword [type]', ' password')
|
||||
.option('--loginUsername [type]', ' username')
|
||||
.option('--dryrun [type]', 'dryrun')
|
||||
.option('--verbose [type]', 'verbose')
|
||||
.option('--loginCheck [type]', 'perform login')
|
||||
.option('--pathProject [type]', 'the path build context')
|
||||
.option('--sourceTag [type]', 'sourceTag')
|
||||
.option('--buildArgs [type...]', 'buildArgs')
|
||||
.option('--fileName [type...]', 'Docker file name', DOCKER_FILENAME)
|
||||
.option('--target [type]', 'target: publish or link', TARGETS.publish)
|
||||
.requiredOption('--dockerRepo [type]', 'docker repo')
|
||||
.requiredOption('--dockerTags [type]', ' tags')
|
||||
.parse(argv);
|
||||
|
||||
if (argv.includes('-h') || argv.includes('--help')) {
|
||||
program.outputHelp();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Object.values(TARGETS).includes(program.opts().target)) {
|
||||
logger.error(`error: invalid --target value. It can be ${Object.values(TARGETS)}`);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (program.opts().target === TARGETS.publish && args.buildArgs === undefined) {
|
||||
logger.error(`error: required option --buildArgs [type] in case the target is ${TARGETS.publish}`);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (program.opts().target === TARGETS.link && args.sourceTag === undefined) {
|
||||
logger.error(`error: required option --sourceTag [type] in case the target is ${TARGETS.link}`);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (args.pathProject === undefined) {
|
||||
args.pathProject = resolve('./');
|
||||
}
|
||||
|
||||
if (args.fileName === undefined) {
|
||||
args.fileName = DOCKER_FILENAME;
|
||||
}
|
||||
|
||||
if (args.loginCheck === true) {
|
||||
login(args);
|
||||
}
|
||||
|
||||
let mainTag: string;
|
||||
if (args.dockerTags !== '') {
|
||||
args.dockerTags.split(',').forEach((tag, index) => {
|
||||
if (tag) {
|
||||
logger.info(`Analyzing tag:${tag} ... for target ${program.opts().target}`);
|
||||
if (program.opts().target === TARGETS.publish) {
|
||||
if (index === 0) {
|
||||
logger.info(`Build only once`);
|
||||
mainTag = tag;
|
||||
buildImage(args, mainTag);
|
||||
}
|
||||
} else {
|
||||
mainTag = args.sourceTag;
|
||||
pullImage(args.dockerRepo, mainTag);
|
||||
}
|
||||
tagImage(args, mainTag, tag);
|
||||
pushImage(args, tag);
|
||||
}
|
||||
});
|
||||
cleanImage(args, mainTag);
|
||||
} else {
|
||||
logger.error(`dockerTags cannot be empty ...`);
|
||||
}
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/*!
|
||||
* @license
|
||||
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { spawnSync } from 'child_process';
|
||||
import { logger } from './logger';
|
||||
|
||||
export interface ExecOptions {
|
||||
cwd?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Exec function
|
||||
*
|
||||
* @param command command to execute
|
||||
* @param args command arguments
|
||||
* @param opts optional settings
|
||||
* @returns void function
|
||||
*/
|
||||
export function exec(command: string, args?: string[], opts?: ExecOptions) {
|
||||
if (process.platform.startsWith('win')) {
|
||||
args.unshift('/c', command);
|
||||
command = 'cmd.exe';
|
||||
}
|
||||
|
||||
const { status, error, stderr, stdout } = spawnSync(command, args, { ...opts });
|
||||
|
||||
if (status !== 0) {
|
||||
|
||||
if (args) {
|
||||
logger.error(`Command failed: ${command} ${args.map((x) => JSON.stringify(x)).join(', ')}`);
|
||||
} else {
|
||||
logger.error(`Command failed ${command}`);
|
||||
}
|
||||
|
||||
if (error) {
|
||||
logger.error('Error: ' + (error ? error.message : 'undefined'));
|
||||
} else {
|
||||
logger.error(`STDERR:\n${stderr}`);
|
||||
}
|
||||
throw error;
|
||||
} else {
|
||||
return stdout.toString();
|
||||
}
|
||||
}
|
||||
@@ -19,8 +19,6 @@ export * from './audit';
|
||||
export * from './changelog';
|
||||
export * from './check-cs-env';
|
||||
export * from './check-plugin-env';
|
||||
export * from './docker';
|
||||
export * from './exec';
|
||||
export * from './init-aae-env';
|
||||
export * from './init-acs-env';
|
||||
export * from './init-aps-env';
|
||||
|
||||
@@ -17,14 +17,12 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Command } from 'commander';
|
||||
import { parseArgs } from 'node:util';
|
||||
import fetch from 'node-fetch';
|
||||
import * as fs from 'fs';
|
||||
import { logger } from './logger';
|
||||
import { AlfrescoApi, AlfrescoApiConfig } from '@alfresco/js-api';
|
||||
import { argv, exit } from 'node:process';
|
||||
|
||||
const program = new Command();
|
||||
const ACTIVITI_CLOUD_APPS = require('./resources').ACTIVITI_CLOUD_APPS;
|
||||
|
||||
let alfrescoJsApiModeler: AlfrescoApi;
|
||||
@@ -40,7 +38,6 @@ export interface ConfigArgs {
|
||||
oauth: string;
|
||||
tokenEndpoint: string;
|
||||
clientId: string;
|
||||
secret: string;
|
||||
scope: string;
|
||||
host: string;
|
||||
tag: string;
|
||||
@@ -452,7 +449,6 @@ function getAlfrescoJsApiInstance(configArgs: ConfigArgs): AlfrescoApi {
|
||||
tokenUrl: `${ssoHost}/${configArgs.tokenEndpoint}`,
|
||||
clientId: `${configArgs.clientId}`,
|
||||
scope: `${configArgs.scope}`,
|
||||
secret: `${configArgs.secret}`,
|
||||
implicitFlow: false,
|
||||
silentLogin: false,
|
||||
redirectUri: '/'
|
||||
@@ -730,32 +726,98 @@ async function sleep(time: number) {
|
||||
* Init AAE environment command
|
||||
*/
|
||||
export default async function main() {
|
||||
program
|
||||
.version('0.1.0')
|
||||
.description(
|
||||
'The following command is in charge of Initializing the activiti cloud env with the default apps' +
|
||||
'adf-cli init-aae-env --host "gateway_env" --modelerUsername "modelerusername" --modelerPassword "modelerpassword" --devopsUsername "devevopsusername" --devopsPassword "devopspassword"'
|
||||
)
|
||||
.option('-h, --host [type]', 'Host gateway')
|
||||
.option('--oauth [type]', 'SSO host')
|
||||
.option('--clientId [type]', 'sso client')
|
||||
.option('--secret [type]', 'sso secret', '')
|
||||
.option('--scope [type]', 'sso scope', 'openid')
|
||||
.option('--tokenEndpoint [type]', 'discovery token Endpoint', 'auth/realms/${clientId}/protocol/openid-connect/token')
|
||||
.option('--modelerUsername [type]', 'username of a user with role ACTIVIT_MODELER')
|
||||
.option('--modelerPassword [type]', 'modeler password')
|
||||
.option('--devopsUsername [type]', 'username of a user with role ACTIVIT_DEVOPS')
|
||||
.option('--devopsPassword [type]', 'devops password')
|
||||
.option('--tag [type]', 'tag name of the codebase')
|
||||
.option('--envs [type...]', 'environment ids of the envs where to deploy the app')
|
||||
.parse(argv);
|
||||
if (argv.includes('--help')) {
|
||||
console.log(`
|
||||
Usage: init-aae-env [options]
|
||||
|
||||
if (argv.includes('-h') || argv.includes('--help')) {
|
||||
program.outputHelp();
|
||||
Initialize the activiti cloud env with the default apps
|
||||
|
||||
Example:
|
||||
adf-cli init-aae-env --host "gateway_env" --modelerUsername "modelerusername" \\
|
||||
--modelerPassword "modelerpassword" --devopsUsername "devopsusername" \\
|
||||
--devopsPassword "devopspassword"
|
||||
|
||||
Options:
|
||||
-v, --version Output the version number
|
||||
-h, --host <host> Host gateway
|
||||
--oauth <host> SSO host
|
||||
--clientId <id> SSO client
|
||||
--secret <secret> SSO secret (default: "")
|
||||
--scope <scope> SSO scope (default: "openid")
|
||||
--tokenEndpoint <endpoint> Discovery token endpoint (default: "auth/realms/\${clientId}/protocol/openid-connect/token")
|
||||
--modelerUsername <username> Username of a user with role ACTIVIT_MODELER
|
||||
--modelerPassword <password> Modeler password
|
||||
--devopsUsername <username> Username of a user with role ACTIVIT_DEVOPS
|
||||
--devopsPassword <password> Devops password
|
||||
--tag <tag> Tag name of the codebase
|
||||
--envs <envs...> Environment ids of the envs where to deploy the app
|
||||
--help Display help for command
|
||||
`);
|
||||
return;
|
||||
}
|
||||
|
||||
const options = initializeDefaultToken(program.opts() as ConfigArgs);
|
||||
if (argv.includes('-v') || argv.includes('--version')) {
|
||||
console.log('0.1.0');
|
||||
exit(0);
|
||||
}
|
||||
|
||||
const { values } = parseArgs({
|
||||
args: argv.slice(2),
|
||||
options: {
|
||||
host: {
|
||||
type: 'string',
|
||||
short: 'h'
|
||||
},
|
||||
oauth: {
|
||||
type: 'string'
|
||||
},
|
||||
clientId: {
|
||||
type: 'string'
|
||||
},
|
||||
scope: {
|
||||
type: 'string',
|
||||
default: 'openid'
|
||||
},
|
||||
tokenEndpoint: {
|
||||
type: 'string',
|
||||
default: 'auth/realms/${clientId}/protocol/openid-connect/token'
|
||||
},
|
||||
modelerUsername: {
|
||||
type: 'string'
|
||||
},
|
||||
modelerPassword: {
|
||||
type: 'string'
|
||||
},
|
||||
devopsUsername: {
|
||||
type: 'string'
|
||||
},
|
||||
devopsPassword: {
|
||||
type: 'string'
|
||||
},
|
||||
tag: {
|
||||
type: 'string'
|
||||
},
|
||||
envs: {
|
||||
type: 'string',
|
||||
multiple: true
|
||||
}
|
||||
},
|
||||
allowPositionals: true
|
||||
});
|
||||
|
||||
const options = initializeDefaultToken({
|
||||
host: values.host as string,
|
||||
oauth: values.oauth as string,
|
||||
clientId: values.clientId as string,
|
||||
scope: values.scope as string,
|
||||
tokenEndpoint: values.tokenEndpoint as string,
|
||||
modelerUsername: values.modelerUsername as string,
|
||||
modelerPassword: values.modelerPassword as string,
|
||||
devopsUsername: values.devopsUsername as string,
|
||||
devopsPassword: values.devopsPassword as string,
|
||||
tag: values.tag as string,
|
||||
envs: (values.envs as string[]) || []
|
||||
} as ConfigArgs);
|
||||
|
||||
args = {
|
||||
host: options.host,
|
||||
@@ -767,7 +829,6 @@ export default async function main() {
|
||||
oauth: options.oauth,
|
||||
tokenEndpoint: options.tokenEndpoint,
|
||||
scope: options.scope,
|
||||
secret: options.secret,
|
||||
tag: options.tag,
|
||||
envs: options.envs
|
||||
};
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
import { AlfrescoApi, SharedlinksApi, FavoritesApi, NodesApi, UploadApi, NodeEntry } from '@alfresco/js-api';
|
||||
import { exit, argv } from 'node:process';
|
||||
import { Command } from 'commander';
|
||||
import { parseArgs } from 'node:util';
|
||||
import { createReadStream } from 'fs';
|
||||
import * as path from 'path';
|
||||
import { logger } from './logger';
|
||||
@@ -28,8 +28,6 @@ interface InitAcsEnvArgs {
|
||||
username?: string;
|
||||
password?: string;
|
||||
}
|
||||
|
||||
const program = new Command();
|
||||
const MAX_RETRY = 10;
|
||||
let counter = 0;
|
||||
const TIMEOUT = 6000;
|
||||
@@ -41,15 +39,57 @@ let alfrescoJsApi: AlfrescoApi;
|
||||
* Init ACS environment command
|
||||
*/
|
||||
export default async function main() {
|
||||
program
|
||||
.version('0.1.0')
|
||||
.option('--host [type]', 'Remote environment host')
|
||||
.option('--clientId [type]', 'sso client', 'alfresco')
|
||||
.option('-p, --password [type]', 'password ')
|
||||
.option('-u, --username [type]', 'username ')
|
||||
.parse(argv);
|
||||
if (argv.includes('-h') || argv.includes('--help')) {
|
||||
console.log(`
|
||||
Usage: init-acs-env [options]
|
||||
|
||||
Initialize ACS environment
|
||||
|
||||
Options:
|
||||
-v, --version Output the version number
|
||||
--host <host> Remote environment host
|
||||
--clientId <id> SSO client (default: "alfresco")
|
||||
-p, --password <pass> Password
|
||||
-u, --username <user> Username
|
||||
-h, --help Display help for command
|
||||
`);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
if (argv.includes('-v') || argv.includes('--version')) {
|
||||
console.log('0.1.0');
|
||||
exit(0);
|
||||
}
|
||||
|
||||
const { values } = parseArgs({
|
||||
args: argv.slice(2),
|
||||
options: {
|
||||
host: {
|
||||
type: 'string'
|
||||
},
|
||||
clientId: {
|
||||
type: 'string',
|
||||
default: 'alfresco'
|
||||
},
|
||||
password: {
|
||||
type: 'string',
|
||||
short: 'p'
|
||||
},
|
||||
username: {
|
||||
type: 'string',
|
||||
short: 'u'
|
||||
}
|
||||
},
|
||||
allowPositionals: true
|
||||
});
|
||||
|
||||
const opts: InitAcsEnvArgs = {
|
||||
host: values.host as string | undefined,
|
||||
clientId: values.clientId as string | undefined,
|
||||
username: values.username as string | undefined,
|
||||
password: values.password as string | undefined
|
||||
};
|
||||
|
||||
const opts = program.opts();
|
||||
await checkEnv(opts);
|
||||
|
||||
logger.info(`***** Step initialize ACS *****`);
|
||||
|
||||
@@ -26,12 +26,11 @@ import {
|
||||
AppDefinitionUpdateResultRepresentation
|
||||
} from '@alfresco/js-api';
|
||||
import { argv, exit } from 'node:process';
|
||||
import { parseArgs } from 'node:util';
|
||||
import { spawnSync } from 'node:child_process';
|
||||
import { createReadStream } from 'node:fs';
|
||||
import { Command } from 'commander';
|
||||
import * as path from 'path';
|
||||
import { logger } from './logger';
|
||||
import { throwError } from 'rxjs';
|
||||
|
||||
interface InitApsEnvArgs {
|
||||
host?: string;
|
||||
@@ -40,8 +39,6 @@ interface InitApsEnvArgs {
|
||||
password?: string;
|
||||
license?: string;
|
||||
}
|
||||
|
||||
const program = new Command();
|
||||
const MAX_RETRY = 10;
|
||||
let counter = 0;
|
||||
const TIMEOUT = 6000;
|
||||
@@ -56,16 +53,62 @@ let alfrescoJsApi: AlfrescoApi;
|
||||
* Init APS command
|
||||
*/
|
||||
export default async function main() {
|
||||
program
|
||||
.version('0.1.0')
|
||||
.option('--host [type]', 'Remote environment host')
|
||||
.option('--clientId [type]', 'sso client', 'alfresco')
|
||||
.option('-p, --password [type]', 'password ')
|
||||
.option('-u, --username [type]', 'username ')
|
||||
.option('--license [type]', 'APS license S3 path ')
|
||||
.parse(argv);
|
||||
if (argv.includes('-h') || argv.includes('--help')) {
|
||||
console.log(`
|
||||
Usage: init-aps-env [options]
|
||||
|
||||
Initialize APS environment
|
||||
|
||||
Options:
|
||||
-v, --version Output the version number
|
||||
--host <host> Remote environment host
|
||||
--clientId <id> SSO client (default: "alfresco")
|
||||
-p, --password <pass> Password
|
||||
-u, --username <user> Username
|
||||
--license <path> APS license S3 path
|
||||
-h, --help Display help for command
|
||||
`);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
if (argv.includes('-v') || argv.includes('--version')) {
|
||||
console.log('0.1.0');
|
||||
exit(0);
|
||||
}
|
||||
|
||||
const { values } = parseArgs({
|
||||
args: argv.slice(2),
|
||||
options: {
|
||||
host: {
|
||||
type: 'string'
|
||||
},
|
||||
clientId: {
|
||||
type: 'string',
|
||||
default: 'alfresco'
|
||||
},
|
||||
password: {
|
||||
type: 'string',
|
||||
short: 'p'
|
||||
},
|
||||
username: {
|
||||
type: 'string',
|
||||
short: 'u'
|
||||
},
|
||||
license: {
|
||||
type: 'string'
|
||||
}
|
||||
},
|
||||
allowPositionals: true
|
||||
});
|
||||
|
||||
const opts: InitApsEnvArgs = {
|
||||
host: values.host as string | undefined,
|
||||
clientId: values.clientId as string | undefined,
|
||||
username: values.username as string | undefined,
|
||||
password: values.password as string | undefined,
|
||||
license: values.license as string | undefined
|
||||
};
|
||||
|
||||
const opts = program.opts();
|
||||
await checkEnv(opts);
|
||||
|
||||
logger.info(`***** Step 1 - Check License *****`);
|
||||
@@ -207,9 +250,9 @@ async function hasDefaultTenant(tenantId: number, tenantName: string): Promise<b
|
||||
logger.info(`Aps: has default tenantId: ${tenantId} and name ${tenantName}`);
|
||||
return true;
|
||||
} else {
|
||||
logger.info(`Wrong configuration. Another tenant has been created with id ${tenant.id} and name ${tenant.name}`);
|
||||
throwError(`Wrong configuration. Another tenant has been created with id ${tenant.id} and name ${tenant.name}`);
|
||||
return false;
|
||||
const errorMessage = `Wrong configuration. Another tenant has been created with id ${tenant.id} and name ${tenant.name}`;
|
||||
logger.error(errorMessage);
|
||||
throw new Error(errorMessage);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+31
-12
@@ -18,14 +18,12 @@
|
||||
*/
|
||||
|
||||
import { argv, exit } from 'node:process';
|
||||
import { parseArgs } from 'node:util';
|
||||
import * as path from 'path';
|
||||
import * as fs from 'fs';
|
||||
import * as checker from 'license-checker';
|
||||
import * as licenseList from 'spdx-license-list';
|
||||
import * as ejs from 'ejs';
|
||||
import { Command } from 'commander';
|
||||
|
||||
const program = new Command();
|
||||
|
||||
interface LicensesCommandArgs {
|
||||
package?: string;
|
||||
@@ -103,19 +101,40 @@ function getPackageFile(packagePath: string): PackageInfo {
|
||||
* @returns void function
|
||||
*/
|
||||
export default function main(_args: string[], workingDir: string) {
|
||||
program
|
||||
.description('Generate a licences report')
|
||||
.usage('licenses [options]')
|
||||
.option('-p, --package <path>', 'Path to package file (default: package.json in working directory)')
|
||||
.option('-d, --outDir <dir>', 'Ouput directory (default: working directory)')
|
||||
.parse(argv);
|
||||
|
||||
if (argv.includes('-h') || argv.includes('--help')) {
|
||||
program.outputHelp();
|
||||
console.log(`
|
||||
Usage: licenses [options]
|
||||
|
||||
Generate a licenses report
|
||||
|
||||
Options:
|
||||
-p, --package <path> Path to package file (default: package.json in working directory)
|
||||
-d, --outDir <dir> Output directory (default: working directory)
|
||||
-h, --help Display help for command
|
||||
`);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
const options: LicensesCommandArgs = program.opts();
|
||||
const { values } = parseArgs({
|
||||
args: argv.slice(2),
|
||||
options: {
|
||||
package: {
|
||||
type: 'string',
|
||||
short: 'p'
|
||||
},
|
||||
outDir: {
|
||||
type: 'string',
|
||||
short: 'd'
|
||||
}
|
||||
},
|
||||
allowPositionals: true
|
||||
});
|
||||
|
||||
const options: LicensesCommandArgs = {
|
||||
package: values.package as string | undefined,
|
||||
outDir: values.outDir as string | undefined
|
||||
};
|
||||
|
||||
let packagePath = path.resolve(workingDir, 'package.json');
|
||||
|
||||
if (options.package) {
|
||||
|
||||
@@ -1,2 +1 @@
|
||||
.storybook
|
||||
coverage
|
||||
|
||||
@@ -10,7 +10,13 @@
|
||||
"createDefaultProgram": true
|
||||
},
|
||||
"rules": {
|
||||
"jsdoc/tag-lines": ["error", "any", {"startLines": 1}],
|
||||
"jsdoc/tag-lines": [
|
||||
"error",
|
||||
"any",
|
||||
{
|
||||
"startLines": 1
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/naming-convention": "warn",
|
||||
"@typescript-eslint/consistent-type-assertions": "warn",
|
||||
"@typescript-eslint/prefer-for-of": "warn",
|
||||
@@ -44,7 +50,6 @@
|
||||
"style": "kebab-case"
|
||||
}
|
||||
],
|
||||
"@angular-eslint/no-host-metadata-property": "off",
|
||||
"@angular-eslint/no-input-prefix": "error",
|
||||
"@typescript-eslint/consistent-type-definitions": "error",
|
||||
"@typescript-eslint/dot-notation": "off",
|
||||
@@ -75,7 +80,8 @@
|
||||
"rxjs/no-subject-unsubscribe": "error",
|
||||
"rxjs/no-subject-value": "error",
|
||||
"rxjs/no-unsafe-takeuntil": "error",
|
||||
"unicorn/filename-case": "error"
|
||||
"unicorn/filename-case": "error",
|
||||
"@angular-eslint/prefer-standalone": "off"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
var rootPath = require('../../../.storybook/main');
|
||||
|
||||
module.exports = {
|
||||
rootMain: rootPath,
|
||||
stories: [...rootPath.stories, '../**/*.stories.@(js|jsx|ts|tsx)'],
|
||||
|
||||
staticDirs: [
|
||||
...rootPath.staticDirs,
|
||||
{ from: __dirname + '/../src/lib/i18n', to: 'assets/adf-core/i18n' },
|
||||
{ from: __dirname + '/../src/lib/assets/images', to: 'assets/images' }
|
||||
],
|
||||
|
||||
addons: ['@storybook/addon-essentials', ...rootPath.addons],
|
||||
|
||||
framework: {
|
||||
name: '@storybook/angular',
|
||||
options: {}
|
||||
},
|
||||
|
||||
docs: {}
|
||||
};
|
||||
@@ -1,6 +0,0 @@
|
||||
import { addons } from '@storybook/manager-api';
|
||||
import alfrescoTheme from '../../../.storybook/alfrescoTheme';
|
||||
|
||||
addons.setConfig({
|
||||
theme: alfrescoTheme
|
||||
});
|
||||
@@ -1,5 +0,0 @@
|
||||
export const parameters = {
|
||||
docs: { inlineStories: true },
|
||||
controls: { expanded: true }
|
||||
};
|
||||
export const tags = ['autodocs', 'autodocs'];
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"extends": "../../../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"emitDecoratorMetadata": true
|
||||
|
||||
},
|
||||
|
||||
"exclude": ["../**/*.spec.ts" ],
|
||||
"include": ["../src/**/*", "*.js"]
|
||||
}
|
||||
@@ -9,7 +9,6 @@ Contains a variety of components, directives and services used throughout ADF
|
||||
- [Documentation](#documentation)
|
||||
- [Prerequisites](#prerequisites)
|
||||
- [Install](#install)
|
||||
- [Storybook](#storybook)
|
||||
- [License](#license)
|
||||
|
||||
<!-- tocstop -->
|
||||
@@ -34,21 +33,6 @@ necessary configuration, see this [page](https://github.com/Alfresco/alfresco-ng
|
||||
npm install @alfresco/adf-content-services
|
||||
```
|
||||
|
||||
## Storybook
|
||||
|
||||
In case you would like to aggregate all the stories from content services library use
|
||||
|
||||
```
|
||||
nx run content-services:storybook
|
||||
```
|
||||
And navigate to `http://localhost:4400/`.
|
||||
|
||||
To create a Storybook content services library build use
|
||||
|
||||
```
|
||||
nx run content-services:build-storybook
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
[Apache Version 2.0](https://github.com/Alfresco/alfresco-ng2-components/blob/master/LICENSE)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@alfresco/adf-content-services",
|
||||
"description": "Alfresco ADF content services",
|
||||
"version": "8.0.0",
|
||||
"version": "8.2.0",
|
||||
"author": "Hyland Software, Inc. and its affiliates",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -21,9 +21,9 @@
|
||||
"@angular/platform-browser": ">=14.1.3",
|
||||
"@angular/platform-browser-dynamic": ">=14.1.3",
|
||||
"@angular/router": ">=14.1.3",
|
||||
"@alfresco/js-api": ">=9.0.0",
|
||||
"@ngx-translate/core": ">=14.0.0",
|
||||
"@alfresco/adf-core": ">=8.0.0"
|
||||
"@alfresco/js-api": ">=9.2.0",
|
||||
"@ngx-translate/core": ">=16.0.0",
|
||||
"@alfresco/adf-core": ">=8.2.0"
|
||||
},
|
||||
"keywords": [
|
||||
"content-services",
|
||||
|
||||
@@ -38,48 +38,12 @@
|
||||
"lintFilePatterns": ["lib/content-services/**/*.ts", "lib/content-services/**/*.html"]
|
||||
}
|
||||
},
|
||||
"storybook": {
|
||||
"executor": "@storybook/angular:start-storybook",
|
||||
"options": {
|
||||
"port": 4400,
|
||||
"browserTarget": "content-services:storybook",
|
||||
"configDir": "lib/content-services/.storybook",
|
||||
"compodoc": false,
|
||||
"styles": ["node_modules/cropperjs/dist/cropper.min.css", "node_modules/pdfjs-dist/web/pdf_viewer.css"],
|
||||
"stylePreprocessorOptions": {
|
||||
"includePaths": ["lib", "lib/core/src/lib"]
|
||||
}
|
||||
},
|
||||
"configurations": {
|
||||
"ci": {
|
||||
"quiet": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"build-storybook": {
|
||||
"executor": "@storybook/angular:build-storybook",
|
||||
"options": {
|
||||
"browserTarget": "content-services:build-storybook",
|
||||
"configDir": "lib/content-services/.storybook",
|
||||
"outputDir": "dist/storybook/content-services",
|
||||
"compodoc": false,
|
||||
"styles": ["node_modules/cropperjs/dist/cropper.min.css", "node_modules/pdfjs-dist/web/pdf_viewer.css"],
|
||||
"stylePreprocessorOptions": {
|
||||
"includePaths": ["lib", "lib/core/src/lib"]
|
||||
}
|
||||
},
|
||||
"configurations": {
|
||||
"ci": {
|
||||
"quiet": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"stylelint": {
|
||||
"executor": "nx:run-commands",
|
||||
"options": {
|
||||
"commands": [
|
||||
{
|
||||
"command": "npx stylelint lib/content-services/**/*.scss --config stylelint-config.json"
|
||||
"command": "stylelint lib/content-services/**/*.scss --config stylelint-config.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
*/
|
||||
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
import { CoreTestingModule } from '@alfresco/adf-core';
|
||||
import { AgentService } from './agent.service';
|
||||
import { Agent, AgentPaging } from '@alfresco/js-api';
|
||||
|
||||
@@ -53,10 +52,6 @@ describe('AgentService', () => {
|
||||
let agentService: AgentService;
|
||||
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [CoreTestingModule]
|
||||
});
|
||||
|
||||
agentService = TestBed.inject(AgentService);
|
||||
});
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@ import { Component } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'adf-alfresco-icon',
|
||||
standalone: true,
|
||||
templateUrl: './alfresco-icon-component.svg'
|
||||
})
|
||||
export class AlfrescoIconComponent {}
|
||||
|
||||
@@ -132,7 +132,9 @@ describe('AspectListDialogComponent', () => {
|
||||
describe('Without passing node id', () => {
|
||||
beforeEach(() => {
|
||||
aspectListService = TestBed.inject(AspectListService);
|
||||
spyOn(aspectListService, 'getAspects').and.returnValue(of(aspectListMock));
|
||||
spyOn(aspectListService, 'getAllAspects').and.returnValue(
|
||||
of({ standardAspectPaging: { list: { entries: aspectListMock } }, customAspectPaging: { list: { entries: customAspectListMock } } })
|
||||
);
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
@@ -247,9 +249,11 @@ describe('AspectListDialogComponent', () => {
|
||||
data.nodeId = 'fake-node-id';
|
||||
aspectListService = TestBed.inject(AspectListService);
|
||||
nodeService = TestBed.inject(NodesApiService);
|
||||
spyOn(aspectListService, 'getAspects').and.returnValue(of([...aspectListMock, ...customAspectListMock]));
|
||||
spyOn(aspectListService, 'getAllAspects').and.returnValue(
|
||||
of({ standardAspectPaging: { list: { entries: aspectListMock } }, customAspectPaging: { list: { entries: customAspectListMock } } })
|
||||
);
|
||||
spyOn(aspectListService, 'getVisibleAspects').and.returnValue(['frs:AspectOne']);
|
||||
spyOn(aspectListService, 'getCustomAspects').and.returnValue(of(customAspectListMock));
|
||||
spyOn(aspectListService, 'getAspects').and.returnValue(of({ list: { entries: customAspectListMock } }));
|
||||
spyOn(nodeService, 'getNode').and.returnValue(
|
||||
of(new Node({ id: 'fake-node-id', aspectNames: ['frs:AspectOne', 'cst:customAspect'] })).pipe(delay(0))
|
||||
);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user