Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
87cdf18
Merge pull request #263 from q2g/development
thomashaenig Apr 5, 2022
dbe89b0
Merge branch 'development'
thomashaenig Apr 8, 2022
6249e00
Update dependency copy-webpack-plugin to v11
renovate-bot May 18, 2022
f98ea4b
Bump terser from 5.12.1 to 5.14.2 in /src
dependabot[bot] Jul 21, 2022
a53496d
Bump loader-utils from 2.0.2 to 2.0.4 in /src
dependabot[bot] Nov 17, 2022
e3a0ac6
Bump json5 and tsconfig-paths in /test
dependabot[bot] Jan 1, 2023
7e3ed8a
Bump json5 from 1.0.1 to 1.0.2 in /test
dependabot[bot] Jan 7, 2023
e9a2ef7
Bump json5 from 2.2.1 to 2.2.3 in /src
dependabot[bot] Jan 8, 2023
8ffd249
Bump http-cache-semantics from 4.1.0 to 4.1.1 in /src
dependabot[bot] Feb 4, 2023
34a3dde
Bump webpack from 5.71.0 to 5.76.0 in /src
dependabot[bot] Mar 14, 2023
4bca9f2
fix(deps): update dependency typescript to v4.9.5
renovate[bot] Mar 16, 2023
cd48049
fix(deps): update dependency html-loader to v3.1.2
renovate[bot] Mar 24, 2023
0f7d680
chore(deps): update dependency @types/webpack to v5.28.5
renovate[bot] Nov 7, 2023
82778b8
chore(deps): update dependency @types/node to v17.0.45
renovate[bot] Jan 16, 2024
76c0363
fix(deps): update dependency node-sass to v7.0.3
renovate[bot] Jan 16, 2024
4d90d2c
fix(deps): update dependency css-loader to v6.11.0
renovate[bot] Apr 3, 2024
3ae3bcb
fix(deps): update dependency webpack to v5.94.0 [security]
renovate[bot] Sep 4, 2024
29eac3d
fix(deps): update dependency ts-loader to v9.5.2
renovate[bot] Jan 11, 2025
1e5fead
fix(deps): update dependency terser-webpack-plugin to v5.3.14
renovate[bot] Mar 6, 2025
4229a70
fix(deps): update dependency sass to v1.89.2
renovate[bot] Jun 9, 2025
80b56b1
spelling
ChristianRimpau Jul 7, 2025
4483bbf
replaced deprecated "isNullOrUndefined(e)"
ChristianRimpau Jul 7, 2025
4d58e14
replaced deprecated "isArray"
ChristianRimpau Jul 7, 2025
bfed640
spelling, formatting
ChristianRimpau Jul 7, 2025
10f1605
spelling
ChristianRimpau Jul 7, 2025
6fbcabb
run npm install and updated version to 3.0.2
ChristianRimpau Jul 7, 2025
f466443
run "npm i"
ChristianRimpau Jul 14, 2025
1afe85a
formatting
ChristianRimpau Jul 14, 2025
921fc62
Merge branch 'dependabot/npm_and_yarn/src/http-cache-semantics-4.1.1'…
ChristianRimpau Jul 14, 2025
828c34f
Merge branch 'dependabot/npm_and_yarn/src/json5-2.2.3' of https://git…
ChristianRimpau Jul 14, 2025
3521e76
Merge branch 'dependabot/npm_and_yarn/src/loader-utils-2.0.4' of http…
ChristianRimpau Jul 14, 2025
96359bd
Merge branch 'dependabot/npm_and_yarn/src/terser-5.14.2' of https://g…
ChristianRimpau Jul 14, 2025
93f1761
Merge branch 'dependabot/npm_and_yarn/src/webpack-5.76.0' of https://…
ChristianRimpau Jul 14, 2025
37d466c
Merge branch 'dependabot/npm_and_yarn/test/json5-1.0.2' of https://gi…
ChristianRimpau Jul 14, 2025
a1b6cf1
Merge branch 'dependabot/npm_and_yarn/test/json5-and-tsconfig-paths-2…
ChristianRimpau Jul 14, 2025
614df19
Merge branch 'fixDeprecations' into mergeDependenciesBot
ChristianRimpau Jul 14, 2025
149bb09
run "npm i"
ChristianRimpau Jul 14, 2025
55947ce
run "npm audit fix"
ChristianRimpau Jul 14, 2025
bd572d8
Merge branch 'renovate/copy-webpack-plugin-11.x' of https://github.co…
ChristianRimpau Jul 14, 2025
7b4dd94
Merge branch 'renovate/css-loader-6.x' of https://github.com/q2g/q2g-…
ChristianRimpau Jul 14, 2025
a046b1f
Merge branch 'renovate/html-loader-3.x' of https://github.com/q2g/q2g…
ChristianRimpau Jul 14, 2025
abd0e57
Merge branch 'renovate/node-17.x' of https://github.com/q2g/q2g-build…
ChristianRimpau Jul 14, 2025
95ad364
Merge branch 'renovate/node-sass-7.x' of https://github.com/q2g/q2g-b…
ChristianRimpau Jul 14, 2025
a801332
Merge branch 'renovate/npm-webpack-vulnerability' of https://github.c…
ChristianRimpau Jul 14, 2025
1288873
Merge branch 'renovate/sass-1.x' of https://github.com/q2g/q2g-build …
ChristianRimpau Jul 14, 2025
4ae1d50
Merge branch 'renovate/terser-webpack-plugin-5.x' of https://github.c…
ChristianRimpau Jul 14, 2025
8a5623b
Merge branch 'renovate/ts-loader-9.x' of https://github.com/q2g/q2g-b…
ChristianRimpau Jul 14, 2025
d078eb0
Merge branch 'renovate/typescript-4.x' of https://github.com/q2g/q2g-…
ChristianRimpau Jul 14, 2025
5f073cd
Merge branch 'renovate/webpack-5.x' of https://github.com/q2g/q2g-bui…
ChristianRimpau Jul 14, 2025
e0f4212
run "npm i"
ChristianRimpau Jul 14, 2025
d485fdf
run "npm i" with node v18.19.1 (64-bit) and "npm audit fix"
ChristianRimpau Jul 14, 2025
14d261e
Revert "Merge branch 'renovate/webpack-5.x' of https://github.com/q2g…
ChristianRimpau Jul 14, 2025
b3a6509
undid some dependencies updates due to error
ChristianRimpau Jul 14, 2025
843bc3a
Reapply "Merge branch 'renovate/webpack-5.x' of https://github.com/q2…
ChristianRimpau Jul 14, 2025
2607389
updated webpack, run "npm i"
ChristianRimpau Jul 14, 2025
03dd82a
updated version to "3.0.2-beta.0"
ChristianRimpau Jul 14, 2025
4cc5a50
run "npm i"
ChristianRimpau Jul 14, 2025
8f7cb2e
update name
thomashaenig Jul 22, 2025
3558fc3
updated version to "3.0.2-beta.1"
ChristianRimpau Jul 22, 2025
3ae1a3b
chore(deps): update dependency @types/webpack to v5.28.5
renovate[bot] Aug 10, 2025
40152ac
package-lock
ChristianRimpau Aug 28, 2025
e61f98f
Merge remote-tracking branch 'origin/renovate/webpack-5.x' into fixDe…
ChristianRimpau Aug 28, 2025
29be3a2
fixed endless loop and package name comparison, updated "version": "3…
ChristianRimpau Sep 3, 2025
e1730c5
update version
thomashaenig Sep 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions .renovaterc.json
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
{
"assignees": ["r-hannuschka"],
"assignees": [ "r-hannuschka" ],
"automerge": false,
"baseBranches": [
"development"
"development"
],
"extends": [
"config:base"
"config:base"
],
"packageRules": [
{
"groupName": "linters",
"packagePatterns": ["tslint", "prettier"]
}
{
"groupName": "linters",
"packagePatterns": [ "tslint", "prettier" ]
}
],
"schedule": "before 10am",
"timezone": "Europe/Berlin"
Expand Down
2 changes: 1 addition & 1 deletion docs/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ q2gb --init <extension|webpack> to start helper to create extension or webpack b

to enable that feature it is required to install q2g-build as global package

npm i -g q2g-build
npm i -g q2g-build-bak

![Qlik2Go CLI Demo](./images/q2gb-cli.gif)
6 changes: 3 additions & 3 deletions src/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![Codacy Badge](https://api.codacy.com/project/badge/Grade/48294aa49a3c4f2db610df9e2676ccfd)](https://app.codacy.com/app/konne/q2g-build?utm_source=github.com&utm_medium=referral&utm_content=q2g/q2g-build&utm_campaign=badger)

Qlik2Go Build Process which contains multiple build proceses for Webpack and Typescript, maintainly used to build and deploy qlik extensions on qlik sense.
Qlik2Go Build Process which contains multiple build processes for Webpack and Typescript, mainly used to build and deploy Qlik extensions on Qlik Sense.

## Usage

Expand Down Expand Up @@ -90,8 +90,8 @@ extension/index.css

### Use q2gb cli

You can allways create all required configuration files by your own if you want, but we will use q2gb cli which helps us to create required configuration files.
It also updates the package json and add required npm scripts to start build process (dev and prod), also qext file informations.
You can always create all required configuration files by your own if you want, but we will use q2gb cli which helps us to create required configuration files.
It also updates the package.json and adds required npm scripts to start the build process (dev and prod), also qext file information.

```bash
C:\Users\rhannuschka\work\q2g-demo-extension>q2gb --init extension
Expand Down
6 changes: 2 additions & 4 deletions src/builder/extension-builder/service/desktop.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,13 @@ import { isNullOrUndefined } from "util";
import { IExtensionFile } from "../api/extensionFile.interface";

export class DesktopService {

public static get instance(): DesktopService {
return DesktopService.desktopInstance;
}

private static desktopInstance: DesktopService = new DesktopService();

private defaultPath = `${homedir}\\Documents\\Qlik\\Sense\\Extensions\\`;
private defaultPath: string = `${homedir}\\Documents\\Qlik\\Sense\\Extensions\\`;

public constructor() {
if (DesktopService.desktopInstance) {
Expand Down Expand Up @@ -46,12 +45,11 @@ export class DesktopService {
private writeFilePromise(path: string, file: string | Buffer): Promise<void> {
return new Promise((resolveProm, reject) => {
writeFile(path, file, (e) => {
if (!isNullOrUndefined(e)) {
if (!(e === null || e === undefined)) {
reject(e);
}
resolveProm();
});
});
}

}
3 changes: 1 addition & 2 deletions src/builder/extension-builder/service/extension.service.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { readFileSync } from "fs";
import { resolve } from "path";
import { isArray } from "util";
import { IDataNode } from "../../../api/data-node";
import { IQextData } from "../../qext-file-builder/api";
import { WebpackService } from "../../webpack-builder/service/webpack.service";
Expand Down Expand Up @@ -66,7 +65,7 @@ export class ExtensionService {
*/
public async extensionExists(name: string): Promise<boolean> {
const extensions = await this.qrsService.fetchExtension(name);
return isArray(extensions) && extensions.length > 0;
return Array.isArray(extensions) && extensions.length > 0;
}

public importExtension(name: string, file: Buffer) {
Expand Down
3 changes: 1 addition & 2 deletions src/data/commandline.options.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ export const CommandlineOptions: IOptionRuleSet = {
},
env: {
required: false,
validatorFn: ValidationHelper.containsValue(
["development", "production"]),
validatorFn: ValidationHelper.containsValue(["development", "production"]),
},
};
4 changes: 1 addition & 3 deletions src/lib/cli/commands/cow-say.command.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import { isArray } from "util";

export enum CowType {
ERROR = 0,
DEFAULT = 1,
Expand Down Expand Up @@ -31,7 +29,7 @@ const errorCow = `
*/
export function cowSay(message: string | string[], type: CowType = CowType.DEFAULT) {

if (!isArray(message)) {
if (!Array.isArray(message)) {
message = [...message.split(/\n/)];
}

Expand Down
5 changes: 2 additions & 3 deletions src/lib/cli/model/webpack/webpack-properties.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { isAbsolute } from "path";
import { isArray } from "util";
import { ICommandLineBuilderData } from "../../api/cmdline-observer";
import { Namespaces } from "../../api/namespaces";

Expand All @@ -9,7 +8,7 @@ export const WebpackProperties: ICommandLineBuilderData = {
name: "entryFile",
text: "Webpack$ entry file (relative path)",
validator: (value): boolean => {
return !isAbsolute(value) && isArray(value.match(/^\.(?=\/)/));
return !isAbsolute(value) && Array.isArray(value.match(/^\.(?=\/)/));
},
},
{
Expand All @@ -23,7 +22,7 @@ export const WebpackProperties: ICommandLineBuilderData = {
name: "outputDirectory",
text: "Webpack$ out directory (relative path)",
validator: (value) => {
return !isAbsolute(value) && isArray(value.match(/^\.(?=\/)/));
return !isAbsolute(value) && Array.isArray(value.match(/^\.(?=\/)/));
},
},
{
Expand Down
4 changes: 2 additions & 2 deletions src/lib/cli/service/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -105,9 +105,9 @@ export class Extension extends Webpack {
*/
protected writeBuildScripts(configFileName: string) {
const scripts = {
"q2g-build:dev": `node node_modules/q2g-build --builder extension --config ${configFileName}`,
"q2g-build:dev": `node node_modules/q2g-build-bak --builder extension --config ${configFileName}`,
// tslint:disable-next-line:max-line-length
"q2g-build:prod": `node node_modules/q2g-build --builder extension --env production --config ${configFileName}`,
"q2g-build:prod": `node node_modules/q2g-build-bak --builder extension --env production --config ${configFileName}`,
};
this.writer.write("scripts", scripts);
}
Expand Down
4 changes: 2 additions & 2 deletions src/lib/cli/service/webpack.ts
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,9 @@ export class Webpack implements ICommandLineReaderObserver {
*/
protected writeBuildScripts(configFileName: string) {
const scripts = {
"q2g-build:dev": `node node_modules/q2g-build --builder webpack --config ${configFileName}`,
"q2g-build:dev": `node node_modules/q2g-build-bak --builder webpack --config ${configFileName}`,
// tslint:disable-next-line:max-line-length
"q2g-build:prod": `node node_modules/q2g-build --builder webpack --env production --config ${configFileName}`,
"q2g-build:prod": `node node_modules/q2g-build-bak --builder webpack --env production --config ${configFileName}`,
};

this.pkgJsonWriter.write("scripts", scripts);
Expand Down
2 changes: 1 addition & 1 deletion src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ function loadFromFile(configFile: string): IDataNode {

if ( ! existsSync(configFile) ) {
throw new Error(
`configuration file ${configFile} not exists. Please check your
`configuration file ${configFile} does not exist. Please check your
command line arguments for --config.\n\n`);
}

Expand Down
Loading