Skip to content

Commit 27646f1

Browse files
authored
Merge branch 'master' into copilot/remove-jquery-dependabot-alerts
2 parents d7504eb + 549f80a commit 27646f1

File tree

20 files changed

+260
-117
lines changed

20 files changed

+260
-117
lines changed

.github/workflows/codeql-analysis.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ on:
2323
jobs:
2424
analyze:
2525
name: Analyze
26+
permissions:
27+
contents: read
28+
security-events: write
2629
runs-on: ubuntu-latest
2730

2831
strategy:

.github/workflows/nodejs.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
name: Node.js CI
2+
permissions:
3+
contents: read
4+
checks: write
25

36
on:
47
push:
@@ -35,6 +38,7 @@ jobs:
3538
run: yarn coverage
3639
- name: Publish to coveralls.io
3740
if: matrix.node-version == '20.x'
38-
uses: coverallsapp/[email protected]
41+
# coverallsapp/github-action@cfd0633edbd2411b532b808ba7a8b5e04f76d2c8 corresponds to v2.3.4
42+
uses: coverallsapp/github-action@cfd0633edbd2411b532b808ba7a8b5e04f76d2c8
3943
with:
4044
github-token: ${{ github.token }}

.github/workflows/npm-publish.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ on:
33
release:
44
types: [created]
55

6+
permissions:
7+
contents: read
8+
69
jobs:
710
build:
811
runs-on: ubuntu-latest

CHANGELOG.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,35 @@
1+
# [14.7.0](https://github.com/IgniteUI/igniteui-cli/compare/v14.6.6...v14.7.0) (2025-11-17)
2+
## What's Changed
3+
4+
* feat(ng): use ng lint schematic by @Lipata in https://github.com/IgniteUI/igniteui-cli/pull/1439
5+
* chore(ng): add overrides to remove npm i warnings by @Lipata in https://github.com/IgniteUI/igniteui-cli/pull/1440
6+
* chore: address dependabot security alerts by @Copilot in https://github.com/IgniteUI/igniteui-cli/pull/1437
7+
* fix: command injection vulnerabilities in PackageManager and start command by @Copilot in https://github.com/IgniteUI/igniteui-cli/pull/1438
8+
* Fix code scanning alert: Potential file system race conditions by @Hristo313 in https://github.com/IgniteUI/igniteui-cli/pull/1446
9+
* Potential fix for code scanning alert: Workflow does not contain permissions by @Hristo313 in https://github.com/IgniteUI/igniteui-cli/pull/1445
10+
* build(deps): bump eazy-logger from 4.0.1 to 4.1.0 in the npm_and_yarn group across 1 directory by @dependabot[bot] in https://github.com/IgniteUI/igniteui-cli/pull/1436
11+
* merge 14.6.x into master by @Lipata in https://github.com/IgniteUI/igniteui-cli/pull/1451
12+
13+
**Full Changelog**: https://github.com/IgniteUI/igniteui-cli/compare/v14.6.6...v14.7.0
14+
15+
# [14.6.6](https://github.com/IgniteUI/igniteui-cli/compare/v14.6.5...v14.6.6) (2025-11-12)
16+
17+
## What's Changed
18+
* Update github pages workflow step by @Hristo313 in https://github.com/IgniteUI/igniteui-cli/pull/1452
19+
* Update react test setup configuration by @Hristo313 in https://github.com/IgniteUI/igniteui-cli/pull/1453
20+
21+
**Full Changelog**: https://github.com/IgniteUI/igniteui-cli/compare/v14.6.5...v14.6.6
22+
23+
# [14.6.5](https://github.com/IgniteUI/igniteui-cli/compare/v14.6.4...v14.6.5) (2025-11-10)
24+
25+
## What's Changed
26+
27+
* ci(react): install Playwright in the YAML file by @Lipata in https://github.com/IgniteUI/igniteui-cli/pull/1450
28+
* build(deps): bump eazy-logger from 4.0.1 to 4.1.0 in the npm_and_yarn group across 1 directory by @dependabot[bot] in https://github.com/IgniteUI/igniteui-cli/pull/1436
29+
30+
31+
**Full Changelog**: https://github.com/IgniteUI/igniteui-cli/compare/v14.6.4...v14.6.5
32+
133
# [14.6.4](https://github.com/IgniteUI/igniteui-cli/compare/v14.6.3...v14.6.4) (2025-10-14)
234

335
## What's Changed

packages/cli/lib/commands/start.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,16 @@ import { PositionalArgs, StartCommandType } from "./types";
77
import { ArgumentsCamelCase } from "yargs";
88

99
const execSyncNpmStart = (port: number, options: ExecSyncOptions): void => {
10+
const args = ['start'];
1011
if (port) {
11-
Util.execSync(`npm start -- --port=${port}`, options);
12-
return;
12+
// Validate port is a number to prevent command injection
13+
if (!Number.isInteger(port) || port < 0 || port > 65535) {
14+
Util.error(`Invalid port number: ${port}`, "red");
15+
return;
16+
}
17+
args.push('--', `--port=${port}`);
1318
}
14-
Util.execSync(`npm start`, options);
19+
Util.spawnSync('npm', args, options);
1520
};
1621

1722
const command: StartCommandType = {

packages/cli/lib/templates/ReactTemplate.ts

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,9 @@ export class ReactTemplate implements Template {
109109
const components = require("@igniteui/cli-core/packages/components");
110110
const igResPath = path.join(projectPath, this.igniteResources);
111111

112-
if (fs.existsSync(igResPath)) {
113-
let igniteuiResFile = fs.readFileSync(igResPath, "utf8");
112+
try {
113+
const fd = fs.openSync(igResPath, fs.constants.O_RDWR | fs.constants.O_CREAT);
114+
let igniteuiResFile = fs.readFileSync(fd, "utf8");
114115
const freeVersionPath = "ignite-ui/";
115116
const fullVersionPath = "@infragistics/ignite-ui-full/en/";
116117
const dvPath = "@infragistics/ignite-ui-full/en/js/infragistics.dv.js";
@@ -123,16 +124,19 @@ export class ReactTemplate implements Template {
123124
igniteuiResFile = igniteuiResFile.replace(freeVersionPath, fullVersionPath);
124125
igniteuiResFile = igniteuiResFile.replace("-lite", "");
125126
}
126-
fs.writeFileSync(igResPath, igniteuiResFile);
127+
fs.ftruncateSync(fd, 0);
128+
fs.writeSync(fd, igniteuiResFile, 0);
127129
}
128130

129131
if (dvDep && !igniteuiResFile.includes(dvPath)) {
130-
fs.appendFileSync(igResPath, `${'\r\n// Ignite UI Charts Required JavaScript File\r\nimport "'
131-
+ dvPath + '";\r\n'}`);
132+
const endPos = fs.fstatSync(fd).size;
133+
fs.writeSync(fd, `\r\n// Ignite UI Charts Required JavaScript File\r\nimport "${dvPath}";\r\n`, endPos);
132134
}
133135

134-
} else {
135-
Util.log(`igniteuiResources.js file NOT found!`);
136+
fs.closeSync(fd);
137+
} catch (err) {
138+
Util.error(`Error while updating igniteuiResources.js: ${err.message}`);
139+
throw err;
136140
}
137141
}
138142

packages/cli/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "igniteui-cli",
3-
"version": "14.6.5-beta.0",
3+
"version": "14.7.0",
44
"description": "CLI tool for creating Ignite UI projects",
55
"keywords": [
66
"CLI",
@@ -76,8 +76,8 @@
7676
"all": true
7777
},
7878
"dependencies": {
79-
"@igniteui/angular-templates": "~20.1.1465-beta.0",
80-
"@igniteui/cli-core": "~14.6.5-beta.0",
79+
"@igniteui/angular-templates": "~20.1.1470",
80+
"@igniteui/cli-core": "~14.7.0",
8181
"@inquirer/prompts": "^7.9.0",
8282
"@types/yargs": "^17.0.33",
8383
"chalk": "^5.3.0",

packages/cli/templates/react/igr-ts/projects/_base/files/__dot__azure/azure-pipelines.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,9 @@ steps:
1919
continueOnError: true
2020
- script: npm run build
2121
displayName: 'Build the project'
22+
- script: npx playwright install chromium-headless-shell
23+
displayName: 'Install Playwright browsers'
2224
- script: npm run test
2325
displayName: 'Run tests'
26+
env:
27+
CI: 'true'

packages/cli/templates/react/igr-ts/projects/_base/files/__dot__github/workflows/github-pages.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
find ./dist/assets -type f -name "*.js" -exec sed -i 's|src/assets|${{ github.event.repository.name }}/assets|g' {} +;
4040
find ./dist/assets -type f -name "*.js" -exec sed -i 's|/static-data/|/${{ github.event.repository.name }}/static-data/|g' {} +
4141
- name: Copy Resources to dist
42-
run: mkdir -p ./dist/assets && cp -R ./src/assets/* ./dist/assets/
42+
run: if [ -d "./src/assets" ]; then mkdir -p ./dist/assets && cp -R ./src/assets/* ./dist/assets/; fi
4343
- name: SPA routing handling
4444
run: cp ./dist/index.html ./dist/404.html
4545
- name: Upload build artifact to GitHub Pages

packages/cli/templates/react/igr-ts/projects/_base/files/__dot__github/workflows/node.js.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,8 @@ jobs:
2929
- run: npm i # replace with 'npm ci' after committing lock file from first install
3030
# - run: npm run lint
3131
- run: npm run build
32+
- name: Install Playwright browsers
33+
run: npx playwright install chromium-headless-shell
3234
- run: npm run test
33-
35+
env:
36+
CI: 'true'

0 commit comments

Comments
 (0)