mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-09-09 18:03:21 +00:00
[AAE-46514] - Migration to PNPM (#11926)
* [AAE-46514] - using by default ignore-scripts and have a trusted list for those who are trusted * [AAE-46514] - Improved the checks to cover more cases * [AAE-46514] - Fixed copilot comments * [AAE-46514] - OTher fixes * [AAE-46514] - Fixing other improvements and comments * [AAE-46514] - npmrc should be versioned to enforce the audit * [AAE-46514] - Improved code * [AAE-46514] - Removed the check on CI as we have other tools * [AAE-46514] - Improved check, updated descriptions, skip check on CI as there is already Sonar * [AAE-46514] - Reduced functions in smaller pieces * [AAE-46514] - Migrating to Pnpm to increase safety * [ci:force] - Checking * [ci:force] - Fixed complexity of the scripts * [ci:force] - Fixed complexity of the scripts * [ci:force] - Fixed wrong typing on yml * [ci:force] - Fixed sonar comments and added correct version to sha pinned action * [ci:force] - Fixed cache hit for npmn * [ci:force] - Improved eslint plugin so it can be built with standard action * [ci:force] - Improved eslint plugin so it can be built with standard action * [ci:force] - Added minimatch * [ci:force] - Fixing issues * [ci:force] - Removed 'run' as it is not needed * [ci:force] - Using audit in place of custom scripts * [ci:force] - Fixed vulnerabilities and removed custom scripts in favor of audit --critical * [ci:force] - Added minimum time for publishing to install * [ci:force] - Address issue with too new packages * [ci:force] - Address issue with too new packages
This commit is contained in:
@@ -1,11 +1,6 @@
|
|||||||
name: 'Setup'
|
name: 'Setup'
|
||||||
description: 'Initialize cache, env var load'
|
description: 'Initialize cache, env var load'
|
||||||
inputs:
|
inputs:
|
||||||
enable-node-modules-cache:
|
|
||||||
description: 'enable caching for node modules'
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: 'true'
|
|
||||||
cache-suffix:
|
cache-suffix:
|
||||||
description: 'Suffix to make Nx cache key unique per job (e.g. matrix project name)'
|
description: 'Suffix to make Nx cache key unique per job (e.g. matrix project name)'
|
||||||
required: false
|
required: false
|
||||||
@@ -24,20 +19,19 @@ outputs:
|
|||||||
npm-tag:
|
npm-tag:
|
||||||
description: 'NPM tag'
|
description: 'NPM tag'
|
||||||
value: ${{ steps.set-npm-tag.outputs.npm-tag }}
|
value: ${{ steps.set-npm-tag.outputs.npm-tag }}
|
||||||
node-modules-cache-hit:
|
|
||||||
description: 'Whether node_modules cache was hit'
|
|
||||||
value: ${{ steps.node-modules-cache.outputs.cache-hit }}
|
|
||||||
runs:
|
runs:
|
||||||
using: "composite"
|
using: "composite"
|
||||||
steps:
|
steps:
|
||||||
- name: Set consistent machine ID for Nx cache
|
- name: Set consistent machine ID for Nx cache
|
||||||
shell: bash
|
shell: bash
|
||||||
run: echo "nx-github-actions" | sudo tee /etc/machine-id > /dev/null
|
run: echo "nx-github-actions" | sudo tee /etc/machine-id > /dev/null
|
||||||
- name: install NPM
|
- name: Setup pnpm
|
||||||
|
uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0
|
||||||
|
- name: Setup Node
|
||||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||||
with:
|
with:
|
||||||
node-version-file: '.nvmrc'
|
node-version-file: '.nvmrc'
|
||||||
cache-dependency-path: package-lock.json
|
cache: 'pnpm'
|
||||||
- name: get latest tag sha
|
- name: get latest tag sha
|
||||||
if: ${{ inputs.full-setup == 'true' }}
|
if: ${{ inputs.full-setup == 'true' }}
|
||||||
id: tag-sha
|
id: tag-sha
|
||||||
@@ -46,15 +40,12 @@ runs:
|
|||||||
if: ${{ inputs.full-setup == 'true' }}
|
if: ${{ inputs.full-setup == 'true' }}
|
||||||
id: set-npm-tag
|
id: set-npm-tag
|
||||||
uses: ./.github/actions/set-npm-tag
|
uses: ./.github/actions/set-npm-tag
|
||||||
- name: Cache node modules
|
- name: Install dependencies
|
||||||
id: node-modules-cache
|
shell: bash
|
||||||
if: ${{ inputs.enable-node-modules-cache == 'true' }}
|
run: pnpm install --frozen-lockfile
|
||||||
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
- name: Security audit
|
||||||
with:
|
shell: bash
|
||||||
path: node_modules
|
run: pnpm audit --audit-level=critical
|
||||||
key: ${{ runner.os }}-node-modules-${{ hashFiles('.nvmrc') }}-${{ hashFiles('package-lock.json') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-node-modules-${{ hashFiles('.nvmrc') }}-
|
|
||||||
- name: Restore nx cache
|
- name: Restore nx cache
|
||||||
uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -28,13 +28,10 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
cache-suffix: build
|
cache-suffix: build
|
||||||
full-setup: 'false'
|
full-setup: 'false'
|
||||||
- name: Install dependencies
|
|
||||||
if: ${{ steps.setup-env.outputs.node-modules-cache-hit != 'true' }}
|
|
||||||
run: npm ci
|
|
||||||
- name: Build affected libs
|
- name: Build affected libs
|
||||||
env:
|
env:
|
||||||
BASE_REF: ${{ inputs.base_ref }}
|
BASE_REF: ${{ inputs.base_ref }}
|
||||||
run: npx nx affected --target=build --base=origin/$BASE_REF --head=HEAD --configuration=production --exclude=stories
|
run: pnpm nx affected --target=build --base=origin/$BASE_REF --head=HEAD --configuration=production --exclude=stories
|
||||||
- name: Save nx cache
|
- name: Save nx cache
|
||||||
if: ${{ success() }}
|
if: ${{ success() }}
|
||||||
uses: ./.github/actions/save-nx-cache
|
uses: ./.github/actions/save-nx-cache
|
||||||
|
|||||||
@@ -46,12 +46,18 @@ jobs:
|
|||||||
- name: Ensure SHA pinned actions
|
- name: Ensure SHA pinned actions
|
||||||
uses: hyland/github-actions-ensure-sha-pinned-actions@7d494b6b53e71f75194d74b4dd890a2266d060b5 # v2.0.0
|
uses: hyland/github-actions-ensure-sha-pinned-actions@7d494b6b53e71f75194d74b4dd890a2266d060b5 # v2.0.0
|
||||||
|
|
||||||
- name: Check package-lock.json version
|
- name: Check pnpm-lock.yaml version
|
||||||
run: |
|
run: |
|
||||||
if [[ $(jq '.lockfileVersion == 3' package-lock.json) == "true" ]] ; then
|
if [[ -f "pnpm-lock.yaml" ]]; then
|
||||||
echo "package-lock.json has a correct version"
|
LOCKFILE_VERSION=$(grep "^lockfileVersion:" pnpm-lock.yaml | cut -d"'" -f2)
|
||||||
|
if [[ "$LOCKFILE_VERSION" == "9.0" ]]; then
|
||||||
|
echo "pnpm-lock.yaml has correct version: $LOCKFILE_VERSION"
|
||||||
|
else
|
||||||
|
echo "pnpm-lock.yaml must be version 9.0, found: $LOCKFILE_VERSION"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo "package-lock must be version 3"
|
echo "pnpm-lock.yaml is missing"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -174,13 +180,10 @@ jobs:
|
|||||||
uses: ./.github/actions/setup
|
uses: ./.github/actions/setup
|
||||||
with:
|
with:
|
||||||
cache-suffix: setup
|
cache-suffix: setup
|
||||||
- name: Install dependencies
|
|
||||||
if: ${{ steps.setup-env.outputs.node-modules-cache-hit != 'true' }}
|
|
||||||
run: npm ci
|
|
||||||
- name: Bundle
|
- name: Bundle
|
||||||
run: |
|
run: |
|
||||||
npm run bundle:js-api
|
pnpm bundle:js-api
|
||||||
npm run bundle:cli
|
pnpm bundle:cli
|
||||||
- name: Save nx cache
|
- name: Save nx cache
|
||||||
if: ${{ success() }}
|
if: ${{ success() }}
|
||||||
uses: ./.github/actions/save-nx-cache
|
uses: ./.github/actions/save-nx-cache
|
||||||
@@ -203,13 +206,10 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
cache-suffix: lint
|
cache-suffix: lint
|
||||||
full-setup: 'false'
|
full-setup: 'false'
|
||||||
- name: Install dependencies
|
|
||||||
if: ${{ steps.setup-env.outputs.node-modules-cache-hit != 'true' }}
|
|
||||||
run: npm ci
|
|
||||||
- name: Run lint
|
- name: Run lint
|
||||||
env:
|
env:
|
||||||
BASE_REF: ${{ github.base_ref || 'develop' }}
|
BASE_REF: ${{ github.base_ref || 'develop' }}
|
||||||
run: npx nx affected --target=lint --base=origin/$BASE_REF --head=HEAD
|
run: pnpm nx affected --target=lint --base=origin/$BASE_REF --head=HEAD
|
||||||
- name: Save nx cache
|
- name: Save nx cache
|
||||||
if: ${{ success() }}
|
if: ${{ success() }}
|
||||||
uses: ./.github/actions/save-nx-cache
|
uses: ./.github/actions/save-nx-cache
|
||||||
@@ -239,14 +239,11 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
cache-suffix: storybook
|
cache-suffix: storybook
|
||||||
full-setup: 'false'
|
full-setup: 'false'
|
||||||
- name: Install dependencies
|
|
||||||
if: ${{ steps.setup-env.outputs.node-modules-cache-hit != 'true' }}
|
|
||||||
run: npm ci
|
|
||||||
- name: Build Storybook
|
- name: Build Storybook
|
||||||
env:
|
env:
|
||||||
BASE_REF: ${{ github.base_ref || 'develop' }}
|
BASE_REF: ${{ github.base_ref || 'develop' }}
|
||||||
run: |
|
run: |
|
||||||
npx nx affected --target=build-storybook --base=origin/$BASE_REF --head=HEAD --configuration=ci
|
pnpm nx affected --target=build-storybook --base=origin/$BASE_REF --head=HEAD --configuration=ci
|
||||||
- name: Save nx cache
|
- name: Save nx cache
|
||||||
if: ${{ success() }}
|
if: ${{ success() }}
|
||||||
uses: ./.github/actions/save-nx-cache
|
uses: ./.github/actions/save-nx-cache
|
||||||
|
|||||||
@@ -57,9 +57,9 @@ jobs:
|
|||||||
enable-node-modules-cache: false
|
enable-node-modules-cache: false
|
||||||
- name: install
|
- name: install
|
||||||
run: |
|
run: |
|
||||||
npm ci
|
pnpm install --frozen-lockfile
|
||||||
npm run bundle:js-api
|
pnpm bundle:js-api
|
||||||
npm run bundle:cli
|
pnpm bundle:cli
|
||||||
- uses: ./.github/actions/upload-node-modules-and-artifacts
|
- uses: ./.github/actions/upload-node-modules-and-artifacts
|
||||||
|
|
||||||
release-npm:
|
release-npm:
|
||||||
@@ -100,15 +100,15 @@ jobs:
|
|||||||
setMigrations();
|
setMigrations();
|
||||||
- name: build libraries
|
- name: build libraries
|
||||||
run: |
|
run: |
|
||||||
npm run build:libs
|
pnpm build:libs
|
||||||
npm run build:schematics
|
pnpm build:schematics
|
||||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||||
name: release libraries GH registry
|
name: release libraries GH registry
|
||||||
with:
|
with:
|
||||||
node-version-file: '.nvmrc'
|
node-version-file: '.nvmrc'
|
||||||
registry-url: 'https://npm.pkg.github.com'
|
registry-url: 'https://npm.pkg.github.com'
|
||||||
scope: '@alfresco'
|
scope: '@alfresco'
|
||||||
- run: npm run publish -- --tag=${{ steps.setup.outputs.npm-tag }}
|
- run: pnpm publish -- --tag=${{ steps.setup.outputs.npm-tag }}
|
||||||
env:
|
env:
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
||||||
@@ -117,7 +117,7 @@ jobs:
|
|||||||
node-version-file: '.nvmrc'
|
node-version-file: '.nvmrc'
|
||||||
registry-url: 'https://${{ vars.NPM_REGISTRY_ADDRESS }}'
|
registry-url: 'https://${{ vars.NPM_REGISTRY_ADDRESS }}'
|
||||||
scope: '@alfresco'
|
scope: '@alfresco'
|
||||||
- run: npm run publish -- --tag=${{ steps.setup.outputs.npm-tag }}
|
- run: pnpm publish -- --tag=${{ steps.setup.outputs.npm-tag }}
|
||||||
|
|
||||||
create-git-tag:
|
create-git-tag:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|||||||
@@ -5,9 +5,8 @@ on:
|
|||||||
types: [opened, reopened, synchronize]
|
types: [opened, reopened, synchronize]
|
||||||
paths:
|
paths:
|
||||||
- "package.json"
|
- "package.json"
|
||||||
- "package-lock.json"
|
- "pnpm-lock.yaml"
|
||||||
- "**/package.json"
|
- "**/package.json"
|
||||||
- "**/package-lock.json"
|
|
||||||
- "pom.xml"
|
- "pom.xml"
|
||||||
- "**/pom.xml"
|
- "**/pom.xml"
|
||||||
|
|
||||||
|
|||||||
@@ -26,16 +26,13 @@ jobs:
|
|||||||
uses: ./.github/actions/setup
|
uses: ./.github/actions/setup
|
||||||
with:
|
with:
|
||||||
cache-suffix: test-matrix
|
cache-suffix: test-matrix
|
||||||
- name: Install dependencies
|
|
||||||
if: ${{ steps.setup-env.outputs.node-modules-cache-hit != 'true' }}
|
|
||||||
run: npm ci
|
|
||||||
- name: Generate affected projects matrix
|
- name: Generate affected projects matrix
|
||||||
id: set-matrix
|
id: set-matrix
|
||||||
env:
|
env:
|
||||||
BASE_REF: ${{ inputs.base_ref }}
|
BASE_REF: ${{ inputs.base_ref }}
|
||||||
run: |
|
run: |
|
||||||
echo "Base ref is $BASE_REF"
|
echo "Base ref is $BASE_REF"
|
||||||
AFFECTED_UNIT=$(npx nx show projects --affected --target=test --base=origin/$BASE_REF --head=HEAD --select=projects --plain --exclude=cli,stories,eslint-angular)
|
AFFECTED_UNIT=$(pnpm nx show projects --affected --target=test --base=origin/$BASE_REF --head=HEAD --select=projects --plain --exclude=cli,stories,eslint-angular)
|
||||||
echo "Affected projects for UNIT: $AFFECTED_UNIT"
|
echo "Affected projects for UNIT: $AFFECTED_UNIT"
|
||||||
|
|
||||||
if [ -z "$AFFECTED_UNIT" ]; then
|
if [ -z "$AFFECTED_UNIT" ]; then
|
||||||
@@ -72,14 +69,11 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
cache-suffix: test-${{ matrix.project }}
|
cache-suffix: test-${{ matrix.project }}
|
||||||
full-setup: 'false'
|
full-setup: 'false'
|
||||||
- name: Install dependencies
|
|
||||||
if: ${{ steps.setup-env.outputs.node-modules-cache-hit != 'true' }}
|
|
||||||
run: npm ci
|
|
||||||
- name: Run unit tests for ${{ matrix.project }}
|
- name: Run unit tests for ${{ matrix.project }}
|
||||||
env:
|
env:
|
||||||
NODE_OPTIONS: "--max-old-space-size=5120"
|
NODE_OPTIONS: "--max-old-space-size=5120"
|
||||||
run: |
|
run: |
|
||||||
xvfb-run --auto-servernum npx nx run ${{ matrix.project }}:test
|
xvfb-run --auto-servernum pnpm nx run ${{ matrix.project }}:test
|
||||||
- name: Save nx cache
|
- name: Save nx cache
|
||||||
if: ${{ success() }}
|
if: ${{ success() }}
|
||||||
uses: ./.github/actions/save-nx-cache
|
uses: ./.github/actions/save-nx-cache
|
||||||
|
|||||||
+1
-1
@@ -8,7 +8,6 @@ bundles
|
|||||||
dist
|
dist
|
||||||
tmp
|
tmp
|
||||||
temp
|
temp
|
||||||
*.npmrc
|
|
||||||
.history
|
.history
|
||||||
.ng_pkg_build/
|
.ng_pkg_build/
|
||||||
coverage/
|
coverage/
|
||||||
@@ -24,3 +23,4 @@ nxcache
|
|||||||
.husky
|
.husky
|
||||||
.cursor/rules/nx-rules.mdc
|
.cursor/rules/nx-rules.mdc
|
||||||
.github/instructions/nx.instructions.md
|
.github/instructions/nx.instructions.md
|
||||||
|
lib/eslint-angular/dist/
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
export NODE_OPTIONS=--max_old_space_size=8192
|
export NODE_OPTIONS=--max_old_space_size=8192
|
||||||
|
|
||||||
lint-staged
|
lint-staged
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# Fail on high severity vulnerabilities during audit
|
||||||
|
audit-level=high
|
||||||
|
|
||||||
|
# Use exact versions to prevent unexpected updates
|
||||||
|
save-exact=true
|
||||||
Vendored
+5
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"recommendations": [
|
||||||
|
"meterian.meterian-heidi"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -21,6 +21,29 @@ for full details on what you may need to install before using ADF.
|
|||||||
- [Node Version Manager](docs/tutorials/nvm.md)
|
- [Node Version Manager](docs/tutorials/nvm.md)
|
||||||
- [CORS guide](ALFRESCOCORS.md)
|
- [CORS guide](ALFRESCOCORS.md)
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
This project uses **pnpm** for package management with built-in supply chain attack protection.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pnpm install # install all packages
|
||||||
|
pnpm run add <package> # add a new package (with security check)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Supply Chain Security
|
||||||
|
|
||||||
|
**Layer 1: pnpm script blocking**
|
||||||
|
- All lifecycle scripts (postinstall, etc.) are blocked by default
|
||||||
|
- Only trusted packages in `pnpm-workspace.yaml` can run scripts
|
||||||
|
- Protects during `pnpm install` and `pnpm add`
|
||||||
|
|
||||||
|
**Layer 2: Security database check**
|
||||||
|
- `pnpm run add` checks packages against OSV and GitHub Advisory databases BEFORE installing
|
||||||
|
- Pre-commit hook blocks commits containing known malicious packages
|
||||||
|
|
||||||
|
**Layer 3: npm blocked**
|
||||||
|
- Running `npm install` will fail - enforces pnpm usage
|
||||||
|
|
||||||
## Components
|
## Components
|
||||||
|
|
||||||
You can find the sources for all ADF components in the [`lib`](/lib) folder.
|
You can find the sources for all ADF components in the [`lib`](/lib) folder.
|
||||||
|
|||||||
@@ -1,8 +1 @@
|
|||||||
require('ts-node').register({
|
module.exports = require('./dist/index.js');
|
||||||
compilerOptions: {
|
|
||||||
module: 'commonjs',
|
|
||||||
target: 'es2019',
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
module.exports = require('./index.ts');
|
|
||||||
|
|||||||
@@ -9,16 +9,9 @@
|
|||||||
"executor": "@nx/js:tsc",
|
"executor": "@nx/js:tsc",
|
||||||
"outputs": ["{options.outputPath}"],
|
"outputs": ["{options.outputPath}"],
|
||||||
"options": {
|
"options": {
|
||||||
"outputPath": "dist/libs/eslint-plugin-eslint-angular",
|
"outputPath": "lib/eslint-angular/dist",
|
||||||
"main": "lib/eslint-angular/index.ts",
|
"main": "lib/eslint-angular/index.ts",
|
||||||
"tsConfig": "lib/eslint-angular/tsconfig.lib.prod.json"
|
"tsConfig": "lib/eslint-angular/tsconfig.lib.json"
|
||||||
},
|
|
||||||
"configurations": {
|
|
||||||
"production": {
|
|
||||||
"optimization": true,
|
|
||||||
"sourceMap": false,
|
|
||||||
"extractLicenses": true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lint": {
|
"lint": {
|
||||||
|
|||||||
+8
-4
@@ -41,7 +41,8 @@ const nodeToReport = (node: TSESTree.Node) => {
|
|||||||
if (!ASTUtils.isProperty(node)) {
|
if (!ASTUtils.isProperty(node)) {
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
return ASTUtils.isMemberExpression(node.value) ? node.value.property : node.value;
|
const propertyNode = node as TSESTree.Property;
|
||||||
|
return ASTUtils.isMemberExpression(propertyNode.value) ? propertyNode.value.property : propertyNode.value;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -88,9 +89,12 @@ export default createESLintRule<unknown[], MessageIds>({
|
|||||||
moduleName: '@angular/core',
|
moduleName: '@angular/core',
|
||||||
node: node.parent
|
node: node.parent
|
||||||
}),
|
}),
|
||||||
ASTUtils.isMemberExpression(node.value)
|
(() => {
|
||||||
? fixer.replaceText(node.value.property, 'None')
|
const propValue = (node as TSESTree.Property).value;
|
||||||
: fixer.replaceText(node.value, viewEncapsulationNone)
|
return ASTUtils.isMemberExpression(propValue)
|
||||||
|
? fixer.replaceText(propValue.property, 'None')
|
||||||
|
: fixer.replaceText(propValue, viewEncapsulationNone);
|
||||||
|
})()
|
||||||
].filter(isNotNullOrUndefined);
|
].filter(isNotNullOrUndefined);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"extends": "./tsconfig.json",
|
"extends": "./tsconfig.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"outDir": "../../dist/out-tsc",
|
"outDir": "./dist",
|
||||||
"declarationMap": true
|
"declaration": true
|
||||||
},
|
},
|
||||||
"exclude": ["src/test.ts", "**/*.spec.ts", "**/*.test.ts"],
|
"exclude": ["src/test.ts", "**/*.spec.ts", "**/*.test.ts", "dist"],
|
||||||
"include": ["**/*.ts"]
|
"include": ["**/*.ts"]
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
-37403
File diff suppressed because it is too large
Load Diff
+53
-55
@@ -4,7 +4,8 @@
|
|||||||
"version": "8.5.0",
|
"version": "8.5.0",
|
||||||
"author": "Hyland Software, Inc. and its affiliates",
|
"author": "Hyland Software, Inc. and its affiliates",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"prepare": "husky",
|
"preinstall": "npx only-allow pnpm",
|
||||||
|
"prepare": "husky && nx run eslint-angular:build && pnpm audit --audit-level=critical",
|
||||||
"bundle:js-api": "nx run js-api:bundle",
|
"bundle:js-api": "nx run js-api:bundle",
|
||||||
"bundle:cli": "nx run cli:bundle",
|
"bundle:cli": "nx run cli:bundle",
|
||||||
"test:affected": "nx affected:test",
|
"test:affected": "nx affected:test",
|
||||||
@@ -38,6 +39,7 @@
|
|||||||
"process services-cloud"
|
"process services-cloud"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@babel/runtime": "7.26.10",
|
||||||
"@angular/animations": "19.2.20",
|
"@angular/animations": "19.2.20",
|
||||||
"@angular/cdk": "19.2.19",
|
"@angular/cdk": "19.2.19",
|
||||||
"@angular/common": "19.2.20",
|
"@angular/common": "19.2.20",
|
||||||
@@ -52,28 +54,30 @@
|
|||||||
"@apollo/client": "3.13.1",
|
"@apollo/client": "3.13.1",
|
||||||
"@cspell/eslint-plugin": "10.0.0",
|
"@cspell/eslint-plugin": "10.0.0",
|
||||||
"@mat-datetimepicker/core": "15.0.2",
|
"@mat-datetimepicker/core": "15.0.2",
|
||||||
"@ngx-translate/core": "^17.0.0",
|
"@ngx-translate/core": "17.0.0",
|
||||||
"angular-oauth2-oidc": "19.0.0",
|
"angular-oauth2-oidc": "19.0.0",
|
||||||
"apollo-angular": "10.0.3",
|
"apollo-angular": "10.0.3",
|
||||||
"chart.js": "4.4.4",
|
"chart.js": "4.4.4",
|
||||||
"cropperjs": "1.6.2",
|
"cropperjs": "1.6.2",
|
||||||
"date-fns": "^2.30.0",
|
"date-fns": "2.30.0",
|
||||||
"dotenv-expand": "^5.1.0",
|
"dotenv-expand": "5.1.0",
|
||||||
"editorjs-html": "^4.0.5",
|
"editorjs-html": "4.0.5",
|
||||||
"eventemitter3": "^5.0.1",
|
"eventemitter3": "5.0.4",
|
||||||
"graphql-ws": "^6.0.5",
|
"graphql-ws": "6.0.8",
|
||||||
"material-icons": "^1.13.12",
|
"material-icons": "1.13.14",
|
||||||
|
"minimatch": "5.1.9",
|
||||||
"minimatch-browser": "1.0.0",
|
"minimatch-browser": "1.0.0",
|
||||||
"ng2-charts": "^4.1.1",
|
"ng2-charts": "4.1.1",
|
||||||
"node-fetch": "^3.3.2",
|
"node-fetch": "3.3.2",
|
||||||
"pdfjs-dist": "5.1.91",
|
"pdfjs-dist": "5.1.91",
|
||||||
"raphael": "2.3.0",
|
"raphael": "2.3.0",
|
||||||
"rxjs": "7.8.2",
|
"rxjs": "7.8.2",
|
||||||
"tslib": "2.8.1",
|
"tslib": "2.8.1",
|
||||||
|
"uuid": "11.1.1",
|
||||||
"zone.js": "0.15.0"
|
"zone.js": "0.15.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@alfresco/eslint-plugin-eslint-angular": "file:lib/eslint-angular",
|
"@alfresco/eslint-plugin-eslint-angular": "workspace:*",
|
||||||
"@angular-devkit/architect": "0.1902.22",
|
"@angular-devkit/architect": "0.1902.22",
|
||||||
"@angular-devkit/build-angular": "19.2.24",
|
"@angular-devkit/build-angular": "19.2.24",
|
||||||
"@angular-devkit/core": "19.2.22",
|
"@angular-devkit/core": "19.2.22",
|
||||||
@@ -81,6 +85,7 @@
|
|||||||
"@angular-eslint/eslint-plugin": "19.8.1",
|
"@angular-eslint/eslint-plugin": "19.8.1",
|
||||||
"@angular-eslint/eslint-plugin-template": "19.8.1",
|
"@angular-eslint/eslint-plugin-template": "19.8.1",
|
||||||
"@angular-eslint/template-parser": "19.8.1",
|
"@angular-eslint/template-parser": "19.8.1",
|
||||||
|
"@angular-eslint/utils": "19.8.1",
|
||||||
"@angular/compiler-cli": "19.2.20",
|
"@angular/compiler-cli": "19.2.20",
|
||||||
"@chromatic-com/storybook": "4.1.3",
|
"@chromatic-com/storybook": "4.1.3",
|
||||||
"@nx/angular": "22.7.4",
|
"@nx/angular": "22.7.4",
|
||||||
@@ -90,74 +95,67 @@
|
|||||||
"@nx/storybook": "22.7.4",
|
"@nx/storybook": "22.7.4",
|
||||||
"@nx/workspace": "22.7.4",
|
"@nx/workspace": "22.7.4",
|
||||||
"@schematics/angular": "19.2.22",
|
"@schematics/angular": "19.2.22",
|
||||||
"@storybook/addon-themes": "^10.2.0",
|
"@storybook/addon-themes": "10.2.0",
|
||||||
"@storybook/angular": "^10.2.0",
|
"@storybook/angular": "10.2.0",
|
||||||
"@types/ejs": "^3.1.5",
|
"@types/ejs": "3.1.5",
|
||||||
"@types/jasmine": "4.0.3",
|
"@types/jasmine": "4.0.3",
|
||||||
"@types/jasminewd2": "~2.0.2",
|
"@types/jasminewd2": "2.0.13",
|
||||||
"@types/jest": "^29.5.14",
|
"@types/jest": "29.5.14",
|
||||||
"@types/jsdom": "^27.0.0",
|
"@types/jsdom": "27.0.0",
|
||||||
"@types/minimatch": "5.1.2",
|
"@types/minimatch": "5.1.2",
|
||||||
"@types/node": "25.9.1",
|
"@types/node": "25.9.1",
|
||||||
"@typescript-eslint/eslint-plugin": "8.60.0",
|
"@typescript-eslint/eslint-plugin": "8.59.4",
|
||||||
"@typescript-eslint/parser": "8.60.0",
|
"@typescript-eslint/parser": "8.59.4",
|
||||||
"@typescript-eslint/typescript-estree": "8.60.0",
|
"@typescript-eslint/typescript-estree": "8.59.4",
|
||||||
"@typescript-eslint/utils": "^8.51.0",
|
"@typescript-eslint/utils": "8.59.4",
|
||||||
"ajv": "^8.18.0",
|
"ajv": "8.20.0",
|
||||||
"dotenv": "16.4.7",
|
"dotenv": "16.4.7",
|
||||||
"ejs": "^3.1.10",
|
"ejs": "3.1.10",
|
||||||
"eslint": "^8.47.0",
|
"eslint": "8.57.1",
|
||||||
"eslint-config-prettier": "10.1.8",
|
"eslint-config-prettier": "10.1.8",
|
||||||
"eslint-plugin-ban": "^1.6.0",
|
"eslint-plugin-ban": "1.6.0",
|
||||||
"eslint-plugin-import": "2.32.0",
|
"eslint-plugin-import": "2.32.0",
|
||||||
"eslint-plugin-jsdoc": "50.3.1",
|
"eslint-plugin-jsdoc": "50.3.1",
|
||||||
"eslint-plugin-license-header": "0.8.0",
|
"eslint-plugin-license-header": "0.8.0",
|
||||||
"eslint-plugin-prettier": "^5.5.4",
|
"eslint-plugin-prettier": "5.5.6",
|
||||||
"eslint-plugin-rxjs": "^5.0.3",
|
"eslint-plugin-rxjs": "5.0.3",
|
||||||
"eslint-plugin-storybook": "^10.2.0",
|
"eslint-plugin-storybook": "10.2.0",
|
||||||
"eslint-plugin-unicorn": "^49.0.0",
|
"eslint-plugin-unicorn": "49.0.0",
|
||||||
"graphql": "^16.14.0",
|
"graphql": "16.14.0",
|
||||||
"husky": "^9.1.7",
|
"husky": "9.1.7",
|
||||||
"jasmine-core": "5.13.0",
|
"jasmine-core": "5.13.0",
|
||||||
"jasmine-reporters": "^2.5.2",
|
"jasmine-reporters": "2.5.2",
|
||||||
"jest": "^29.7.0",
|
"jest": "29.7.0",
|
||||||
"jest-environment-jsdom": "^29.7.0",
|
"jest-environment-jsdom": "29.7.0",
|
||||||
"jest-preset-angular": "14.4.2",
|
"jest-preset-angular": "14.4.2",
|
||||||
"jsdom": "^27.4.0",
|
"jsdom": "27.4.0",
|
||||||
"karma": "6.4.4",
|
"karma": "6.4.4",
|
||||||
"karma-chrome-launcher": "~3.2.0",
|
"karma-chrome-launcher": "3.2.0",
|
||||||
"karma-coverage": "~2.2.0",
|
"karma-coverage": "2.2.1",
|
||||||
"karma-jasmine": "5.1.0",
|
"karma-jasmine": "5.1.0",
|
||||||
"karma-jasmine-html-reporter": "^2.1.0",
|
"karma-jasmine-html-reporter": "2.2.0",
|
||||||
"lint-staged": "17.0.5",
|
"lint-staged": "17.0.5",
|
||||||
"ng-packagr": "19.2.2",
|
"ng-packagr": "19.2.2",
|
||||||
"nx": "22.7.4",
|
"nx": "22.7.4",
|
||||||
"prettier": "3.8.3",
|
"prettier": "3.8.3",
|
||||||
"react": "^19.2.6",
|
"react": "19.2.6",
|
||||||
"react-dom": "^19.2.6",
|
"react-dom": "19.2.6",
|
||||||
"rimraf": "^6.1.2",
|
"rimraf": "6.1.3",
|
||||||
"sass-loader": "16.0.8",
|
"sass-loader": "16.0.8",
|
||||||
"spdx-license-list": "^6.11.0",
|
"spdx-license-list": "6.11.0",
|
||||||
"storybook": "^10.2.13",
|
"storybook": "10.2.13",
|
||||||
"stylelint": "16.20.0",
|
"stylelint": "16.20.0",
|
||||||
"stylelint-config-standard-scss": "^13.1.0",
|
"stylelint-config-standard-scss": "13.1.0",
|
||||||
"ts-node": "^10.9.2",
|
"ts-node": "10.9.2",
|
||||||
"typescript": "5.8.3",
|
"typescript": "5.8.3",
|
||||||
"undici": "^8.3.0",
|
"undici": "8.3.0",
|
||||||
"webpack": "5.107.2"
|
"webpack": "5.107.2"
|
||||||
},
|
},
|
||||||
"overrides": {
|
"license": "Apache-2.0",
|
||||||
"@storybook/angular": {
|
|
||||||
"webpack": "5.107.2"
|
|
||||||
},
|
|
||||||
"picomatch": "4.0.4",
|
|
||||||
"path-to-regexp": "^0.1.13",
|
|
||||||
"serialize-javascript": "7.0.5"
|
|
||||||
},
|
|
||||||
"license": "Apache-2.0",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=24.14.0"
|
"node": ">=24.14.0"
|
||||||
},
|
},
|
||||||
|
"packageManager": "pnpm@11.5.0",
|
||||||
"module": "./index.js",
|
"module": "./index.js",
|
||||||
"typings": "./index.d.ts"
|
"typings": "./index.d.ts"
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
+22325
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,50 @@
|
|||||||
|
packages:
|
||||||
|
- 'lib/eslint-angular'
|
||||||
|
|
||||||
|
# Block packages published less than 3 days ago (4320 minutes)
|
||||||
|
minimumReleaseAge: 4320
|
||||||
|
minimumReleaseAgeStrict: true
|
||||||
|
|
||||||
|
overrides:
|
||||||
|
# Security fixes
|
||||||
|
serialize-javascript: '>=7.0.5'
|
||||||
|
picomatch: '>=4.0.4'
|
||||||
|
tmp: '>=0.2.6'
|
||||||
|
ws: '>=8.20.1'
|
||||||
|
path-to-regexp: '>=0.1.13'
|
||||||
|
postcss: '>=8.5.10'
|
||||||
|
webpack-dev-server: '>=5.2.4'
|
||||||
|
uuid: '>=11.1.1'
|
||||||
|
|
||||||
|
allowBuilds:
|
||||||
|
'@parcel/watcher': true
|
||||||
|
esbuild: true
|
||||||
|
lmdb: true
|
||||||
|
msgpackr-extract: true
|
||||||
|
nx: true
|
||||||
|
unrs-resolver: true
|
||||||
|
sharp: true
|
||||||
|
node-sass: true
|
||||||
|
sass: true
|
||||||
|
pdfjs-dist: true
|
||||||
|
canvas: true
|
||||||
|
bcrypt: true
|
||||||
|
sqlite3: true
|
||||||
|
better-sqlite3: true
|
||||||
|
puppeteer: true
|
||||||
|
playwright: true
|
||||||
|
fsevents: true
|
||||||
|
husky: true
|
||||||
|
core-js: true
|
||||||
|
core-js-pure: true
|
||||||
|
'@esbuild/darwin-arm64': true
|
||||||
|
'@esbuild/darwin-x64': true
|
||||||
|
'@esbuild/linux-x64': true
|
||||||
|
'@esbuild/win32-x64': true
|
||||||
|
'@nx/nx-darwin-arm64': true
|
||||||
|
'@nx/nx-darwin-x64': true
|
||||||
|
'@nx/nx-linux-x64-gnu': true
|
||||||
|
'@nx/nx-linux-x64-musl': true
|
||||||
|
'@nx/nx-win32-x64-msvc': true
|
||||||
|
'@swc/core': true
|
||||||
|
less: true
|
||||||
Reference in New Issue
Block a user