@solidstarters/create-solid-app 1.2.18 → 1.2.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/helpers.js +57 -22
- package/index.js +15 -20
- package/package.json +1 -1
- package/templates/dot-templates/dot.vscode.template/launch.json +35 -0
- package/templates/nest-template/nodemon.json +13 -0
- package/templates/nest-template/package-lock.json +148 -0
- package/templates/nest-template/package.json +5 -2
- package/templates/next-template/redux/store.ts +4 -0
- package/templates/dot.templates/dot.vscode.template/launch.json +0 -29
- package/templates/next-template/app/admin/settings/authentication-settings/page.tsx +0 -10
- package/templates/next-template/app/admin/settings/misc-settings/page.tsx +0 -10
- /package/templates/next-template/app/admin/{settings/app-settings → core/[moduleName]/settings/[settings]}/page.tsx +0 -0
package/helpers.js
CHANGED
|
@@ -10,11 +10,17 @@ import { fileURLToPath } from 'url';
|
|
|
10
10
|
// Simulate __dirname
|
|
11
11
|
const __filename = fileURLToPath(import.meta.url);
|
|
12
12
|
const __dirname = dirname(__filename);
|
|
13
|
+
export const HIDDEN_TEMPLATES_FOLDER = 'dot-templates';
|
|
14
|
+
export const SOURCE_TEMPLATE_FOLDER_API = 'nest-template';
|
|
15
|
+
export const SOURCE_TEMPLATE_FOLDER_UI = 'next-template';
|
|
16
|
+
export const TARGET_FOLDER_API = 'solid-api';
|
|
17
|
+
export const TARGET_FOLDER_UI = 'solid-ui';
|
|
18
|
+
export const EXCLUDED_DIRS_FOR_INITIAL_COPY = [SOURCE_TEMPLATE_FOLDER_API, SOURCE_TEMPLATE_FOLDER_UI];
|
|
13
19
|
|
|
14
20
|
export async function copyAndInstallTemplate(source, target, showLogs) {
|
|
15
21
|
try {
|
|
16
22
|
// Copy the source folder to the target folder
|
|
17
|
-
await copyTemplate(source, target);
|
|
23
|
+
await copyTemplate(source, target);
|
|
18
24
|
|
|
19
25
|
// Run `npm install` in the target directory
|
|
20
26
|
return await installTemplate(target, showLogs);
|
|
@@ -30,32 +36,61 @@ async function installTemplate(target, showLogs) {
|
|
|
30
36
|
return output;
|
|
31
37
|
}
|
|
32
38
|
|
|
33
|
-
export async function copyTemplate(source, target) {
|
|
39
|
+
export async function copyTemplate(source, target, excludedDirs = []) {
|
|
34
40
|
try {
|
|
35
|
-
await
|
|
36
|
-
|
|
37
|
-
// Check if there is a dot-templates folder in the target
|
|
38
|
-
// handleHiddenTemplateFiles(target);
|
|
41
|
+
await handleCopy(source, target, excludedDirs);
|
|
42
|
+
handleHiddenTemplateFiles(target);
|
|
39
43
|
}
|
|
40
44
|
catch (error) {
|
|
41
|
-
console.error(chalk.red(
|
|
45
|
+
console.error(chalk.red(`Error in copyTemplate: for ${source} to ${target}`, error));
|
|
42
46
|
throw error;
|
|
43
47
|
}
|
|
44
48
|
}
|
|
45
49
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
50
|
+
/**
|
|
51
|
+
* Recursively copies from source to target, excluding specified directories.
|
|
52
|
+
*
|
|
53
|
+
* @param {string} source - Source directory
|
|
54
|
+
* @param {string} target - Target directory
|
|
55
|
+
* @param {string[]} excludedDirs - Relative paths (from source) to exclude
|
|
56
|
+
*/
|
|
57
|
+
export async function handleCopy(source, target, excludedDirs = []) {
|
|
58
|
+
await fs.copy(source, target, {
|
|
59
|
+
filter: (src) => {
|
|
60
|
+
const relativePath = path.relative(source, src);
|
|
61
|
+
|
|
62
|
+
// Always include root path (empty string)
|
|
63
|
+
if (!relativePath) return true;
|
|
64
|
+
|
|
65
|
+
// Normalize path separators for cross-platform compatibility
|
|
66
|
+
const normalizedPath = relativePath.split(path.sep).join('/');
|
|
67
|
+
|
|
68
|
+
const isExcluded = excludedDirs.some(dir =>
|
|
69
|
+
normalizedPath === dir || normalizedPath.startsWith(`${dir}/`)
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
return !isExcluded;
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// Check if there is a dot-templates folder in the target
|
|
78
|
+
function handleHiddenTemplateFiles(targetDir) {
|
|
79
|
+
if (!fs.lstatSync(targetDir).isDirectory()) { // If targetDir is not a directory, return
|
|
80
|
+
return;
|
|
57
81
|
}
|
|
58
|
-
|
|
82
|
+
const hiddenTemplatesPath = path.join(targetDir, HIDDEN_TEMPLATES_FOLDER);
|
|
83
|
+
if (!fs.existsSync(hiddenTemplatesPath)) { // If dot-templates folder does not exist, return
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
// move all the files from dot-templates to the target after remove .template in the file name
|
|
87
|
+
const files = fs.readdirSync(hiddenTemplatesPath);
|
|
88
|
+
files.forEach(file => {
|
|
89
|
+
const newFileName = file.replace('dot.', '.').replace('.template', '');
|
|
90
|
+
fs.moveSync(path.join(hiddenTemplatesPath, file), path.join(targetDir, newFileName));
|
|
91
|
+
});
|
|
92
|
+
fs.removeSync(hiddenTemplatesPath);
|
|
93
|
+
}
|
|
59
94
|
|
|
60
95
|
export function getSourceFolderPath(folder) {
|
|
61
96
|
const folderPath = path.join(__dirname, folder);
|
|
@@ -156,9 +191,9 @@ export function getFrontendEnvJson(answers) {
|
|
|
156
191
|
NEXT_PUBLIC_SOLID_APP_DESCRIPTION: '',
|
|
157
192
|
NEXT_PUBLIC_ENABLE_CUSTOM_HEADER_FOOTER: false,
|
|
158
193
|
NEXT_PUBLIC_DEFAULT_MENU_KEY: `${answers.projectName}-tracker`,
|
|
159
|
-
NEXT_PUBLIC_SHOW_SETTINGS:false,
|
|
160
|
-
NEXT_PUBLIC_LOGIN_REDIRECT_URL
|
|
161
|
-
NEXT_PUBLIC_REMOTE_PATTERNS:'[{"protocol":"http","hostname":"localhost","pathname":"/media-files-storage/**"}]'
|
|
194
|
+
NEXT_PUBLIC_SHOW_SETTINGS: false,
|
|
195
|
+
NEXT_PUBLIC_LOGIN_REDIRECT_URL: `/admin/core/solid-core/user/list`,
|
|
196
|
+
NEXT_PUBLIC_REMOTE_PATTERNS: '[{"protocol":"http","hostname":"localhost","pathname":"/media-files-storage/**"}]'
|
|
162
197
|
}
|
|
163
198
|
};
|
|
164
199
|
return envConfig;
|
package/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
import chalk from 'chalk';
|
|
4
|
-
import
|
|
4
|
+
import fs from 'fs-extra';
|
|
5
5
|
import inquirer from 'inquirer';
|
|
6
|
+
import _ from 'lodash';
|
|
6
7
|
import path from 'path';
|
|
7
|
-
import
|
|
8
|
+
import { copyAndInstallTemplate, copyTemplate, EXCLUDED_DIRS_FOR_INITIAL_COPY, generateEnvFileFromConfig, getBackendEnvConfig, getFrontendEnvJson, getSourceFolderPath, installSolidAsGlobalBinary, prettyOutput, SOURCE_TEMPLATE_FOLDER_API, SOURCE_TEMPLATE_FOLDER_UI, TARGET_FOLDER_API, TARGET_FOLDER_UI, updatePackageName, updatePortInPackageJson } from './helpers.js';
|
|
8
9
|
import { setupQuestions } from './setup-questions.js';
|
|
9
|
-
import _ from 'lodash';
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
async function main() {
|
|
@@ -32,28 +32,26 @@ async function main() {
|
|
|
32
32
|
// Step 2: Setup the sub projects from the templates
|
|
33
33
|
console.log(prettyOutput('Step 1','Setting up boilerplate for the backend'));
|
|
34
34
|
const templatesPath = getSourceFolderPath('templates');
|
|
35
|
-
|
|
35
|
+
await copyTemplate(templatesPath, targetPath, EXCLUDED_DIRS_FOR_INITIAL_COPY);
|
|
36
36
|
|
|
37
|
-
await copyAndInstallTemplate(path.join(templatesPath,
|
|
37
|
+
await copyAndInstallTemplate(path.join(templatesPath, SOURCE_TEMPLATE_FOLDER_API), path.join(targetPath, TARGET_FOLDER_API), showLogs);
|
|
38
38
|
|
|
39
39
|
console.log(prettyOutput('Step 2','Installing solid binary globally'));
|
|
40
|
-
|
|
40
|
+
await installSolidAsGlobalBinary(path.join(targetPath, TARGET_FOLDER_API), showLogs);
|
|
41
41
|
|
|
42
42
|
console.log(prettyOutput('Step 3',`Setting up boilerplate for the frontend`));
|
|
43
|
-
await copyAndInstallTemplate(path.join(templatesPath,
|
|
43
|
+
await copyAndInstallTemplate(path.join(templatesPath, SOURCE_TEMPLATE_FOLDER_UI), path.join(targetPath, TARGET_FOLDER_UI), showLogs);
|
|
44
44
|
|
|
45
45
|
// Step 3: Update project package json details
|
|
46
|
-
updatePackageName(targetPath,
|
|
47
|
-
updatePackageName(targetPath,
|
|
48
|
-
updatePortInPackageJson(targetPath,
|
|
49
|
-
// Copy the upgrade shell script to the target path
|
|
50
|
-
await copyTemplate(path.join(templatesPath, 'upgrade.sh'), path.join(targetPath, 'upgrade.sh'));
|
|
46
|
+
updatePackageName(targetPath, TARGET_FOLDER_UI, `@${projectName}/${TARGET_FOLDER_UI}`);
|
|
47
|
+
updatePackageName(targetPath, TARGET_FOLDER_API, `@${projectName}/${TARGET_FOLDER_API}`);
|
|
48
|
+
updatePortInPackageJson(targetPath, TARGET_FOLDER_UI, answers.solidUiPort);
|
|
51
49
|
|
|
52
50
|
// Step 4: Generate the .env files for backend and frontend
|
|
53
|
-
const backendPath = path.join(targetPath,
|
|
51
|
+
const backendPath = path.join(targetPath, TARGET_FOLDER_API);
|
|
54
52
|
console.log(prettyOutput('Step 4',`Generating .env file for the backend at ${chalk.cyan(backendPath)}`));
|
|
55
53
|
generateEnvFileFromConfig(backendPath, getBackendEnvConfig(answers));
|
|
56
|
-
const frontendPath = path.join(targetPath,
|
|
54
|
+
const frontendPath = path.join(targetPath, TARGET_FOLDER_UI);
|
|
57
55
|
console.log(prettyOutput('Step 5',`Generating .env file for the frontend at ${chalk.cyan(frontendPath)}`));
|
|
58
56
|
generateEnvFileFromConfig(frontendPath, getFrontendEnvJson(answers));
|
|
59
57
|
|
|
@@ -62,14 +60,11 @@ async function main() {
|
|
|
62
60
|
console.log(chalk.cyan(`\nEnsure the database is created and connection is established correctly.`));
|
|
63
61
|
console.log(chalk.cyan(`\nNext steps:`));
|
|
64
62
|
console.log(chalk.cyan(`Run the api:`));
|
|
65
|
-
console.log(prettyOutput('',`cd ${projectName}
|
|
63
|
+
console.log(prettyOutput('',`cd ${projectName}/${TARGET_FOLDER_API}`));
|
|
66
64
|
console.log(prettyOutput('','solid seed','This will seed the database with the required metadata'));
|
|
67
65
|
|
|
68
66
|
// Development mode (with watch )
|
|
69
|
-
console.log(prettyOutput('', 'npm run
|
|
70
|
-
|
|
71
|
-
// Development mode (debug)
|
|
72
|
-
console.log(prettyOutput('', 'npm run start:debug', `Starts the backend in development mode with debugging on @http://localhost:${answers.solidApiPort}`));
|
|
67
|
+
console.log(prettyOutput('', 'npm run solidx:dev', `Starts the backend in development mode with live reload on @http://localhost:${answers.solidApiPort}`));
|
|
73
68
|
|
|
74
69
|
// Production mode
|
|
75
70
|
console.log(prettyOutput('', 'npm run start', `Starts the backend in production mode on @http://localhost:${answers.solidApiPort}`));
|
|
@@ -78,7 +73,7 @@ async function main() {
|
|
|
78
73
|
|
|
79
74
|
// console.log(prettyOutput('','npm run start',`This will start the backend server @http://localhost:${answers.solidApiPort}`));
|
|
80
75
|
console.log(chalk.cyan(`\nRun the frontend:`));
|
|
81
|
-
console.log(prettyOutput('',`cd ${projectName}
|
|
76
|
+
console.log(prettyOutput('',`cd ${projectName}/${TARGET_FOLDER_UI}`));
|
|
82
77
|
console.log(prettyOutput('','npm run dev',`This will start the frontend server @http://localhost:${answers.solidUiPort}`));
|
|
83
78
|
}
|
|
84
79
|
catch (err) {
|
package/package.json
CHANGED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
// Use IntelliSense to learn about possible attributes.
|
|
3
|
+
// Hover to view descriptions of existing attributes.
|
|
4
|
+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
|
5
|
+
"version": "0.2.0",
|
|
6
|
+
"configurations": [
|
|
7
|
+
{
|
|
8
|
+
"type": "node",
|
|
9
|
+
"request": "launch",
|
|
10
|
+
"name": "Debug solid-api",
|
|
11
|
+
"args": [
|
|
12
|
+
"${workspaceFolder}/solid-api/src/main.ts"
|
|
13
|
+
],
|
|
14
|
+
"runtimeArgs": [
|
|
15
|
+
"--nolazy",
|
|
16
|
+
"-r",
|
|
17
|
+
"ts-node/register",
|
|
18
|
+
"-r",
|
|
19
|
+
"tsconfig-paths/register"
|
|
20
|
+
],
|
|
21
|
+
"sourceMaps": true,
|
|
22
|
+
"outFiles": [
|
|
23
|
+
"${workspaceFolder}/dist/**/*.js",
|
|
24
|
+
"${workspaceFolder}/solid-api/node_modules/@solidstarters/solid-core-module/dist/**/*.js"
|
|
25
|
+
],
|
|
26
|
+
"resolveSourceMapLocations": [
|
|
27
|
+
"${workspaceFolder}/**",
|
|
28
|
+
"${workspaceFolder}/solid-api/node_modules/@solidstarters/solid-core/**"
|
|
29
|
+
],
|
|
30
|
+
"cwd": "${workspaceFolder}/solid-api",
|
|
31
|
+
"console": "integratedTerminal",
|
|
32
|
+
"autoAttachChildProcesses": true
|
|
33
|
+
},
|
|
34
|
+
]
|
|
35
|
+
}
|
|
@@ -89,6 +89,7 @@
|
|
|
89
89
|
"eslint-plugin-prettier": "^5.0.0",
|
|
90
90
|
"jest": "^29.5.0",
|
|
91
91
|
"nest-cli": "^0.0.5",
|
|
92
|
+
"nodemon": "^3.1.10",
|
|
92
93
|
"prettier": "^3.0.0",
|
|
93
94
|
"source-map-support": "^0.5.21",
|
|
94
95
|
"supertest": "^6.3.3",
|
|
@@ -9322,6 +9323,7 @@
|
|
|
9322
9323
|
"version": "2.3.3",
|
|
9323
9324
|
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
|
|
9324
9325
|
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
|
|
9326
|
+
"dev": true,
|
|
9325
9327
|
"hasInstallScript": true,
|
|
9326
9328
|
"license": "MIT",
|
|
9327
9329
|
"optional": true,
|
|
@@ -9878,6 +9880,13 @@
|
|
|
9878
9880
|
"node": ">= 4"
|
|
9879
9881
|
}
|
|
9880
9882
|
},
|
|
9883
|
+
"node_modules/ignore-by-default": {
|
|
9884
|
+
"version": "1.0.1",
|
|
9885
|
+
"resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
|
|
9886
|
+
"integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==",
|
|
9887
|
+
"dev": true,
|
|
9888
|
+
"license": "ISC"
|
|
9889
|
+
},
|
|
9881
9890
|
"node_modules/immediate": {
|
|
9882
9891
|
"version": "3.0.6",
|
|
9883
9892
|
"resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
|
|
@@ -12567,6 +12576,95 @@
|
|
|
12567
12576
|
"node": ">=6.0.0"
|
|
12568
12577
|
}
|
|
12569
12578
|
},
|
|
12579
|
+
"node_modules/nodemon": {
|
|
12580
|
+
"version": "3.1.10",
|
|
12581
|
+
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.10.tgz",
|
|
12582
|
+
"integrity": "sha512-WDjw3pJ0/0jMFmyNDp3gvY2YizjLmmOUQo6DEBY+JgdvW/yQ9mEeSw6H5ythl5Ny2ytb7f9C2nIbjSxMNzbJXw==",
|
|
12583
|
+
"dev": true,
|
|
12584
|
+
"license": "MIT",
|
|
12585
|
+
"dependencies": {
|
|
12586
|
+
"chokidar": "^3.5.2",
|
|
12587
|
+
"debug": "^4",
|
|
12588
|
+
"ignore-by-default": "^1.0.1",
|
|
12589
|
+
"minimatch": "^3.1.2",
|
|
12590
|
+
"pstree.remy": "^1.1.8",
|
|
12591
|
+
"semver": "^7.5.3",
|
|
12592
|
+
"simple-update-notifier": "^2.0.0",
|
|
12593
|
+
"supports-color": "^5.5.0",
|
|
12594
|
+
"touch": "^3.1.0",
|
|
12595
|
+
"undefsafe": "^2.0.5"
|
|
12596
|
+
},
|
|
12597
|
+
"bin": {
|
|
12598
|
+
"nodemon": "bin/nodemon.js"
|
|
12599
|
+
},
|
|
12600
|
+
"engines": {
|
|
12601
|
+
"node": ">=10"
|
|
12602
|
+
},
|
|
12603
|
+
"funding": {
|
|
12604
|
+
"type": "opencollective",
|
|
12605
|
+
"url": "https://opencollective.com/nodemon"
|
|
12606
|
+
}
|
|
12607
|
+
},
|
|
12608
|
+
"node_modules/nodemon/node_modules/brace-expansion": {
|
|
12609
|
+
"version": "1.1.12",
|
|
12610
|
+
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
|
|
12611
|
+
"integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
|
|
12612
|
+
"dev": true,
|
|
12613
|
+
"license": "MIT",
|
|
12614
|
+
"dependencies": {
|
|
12615
|
+
"balanced-match": "^1.0.0",
|
|
12616
|
+
"concat-map": "0.0.1"
|
|
12617
|
+
}
|
|
12618
|
+
},
|
|
12619
|
+
"node_modules/nodemon/node_modules/has-flag": {
|
|
12620
|
+
"version": "3.0.0",
|
|
12621
|
+
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
|
|
12622
|
+
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
|
|
12623
|
+
"dev": true,
|
|
12624
|
+
"license": "MIT",
|
|
12625
|
+
"engines": {
|
|
12626
|
+
"node": ">=4"
|
|
12627
|
+
}
|
|
12628
|
+
},
|
|
12629
|
+
"node_modules/nodemon/node_modules/minimatch": {
|
|
12630
|
+
"version": "3.1.2",
|
|
12631
|
+
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
|
12632
|
+
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
|
12633
|
+
"dev": true,
|
|
12634
|
+
"license": "ISC",
|
|
12635
|
+
"dependencies": {
|
|
12636
|
+
"brace-expansion": "^1.1.7"
|
|
12637
|
+
},
|
|
12638
|
+
"engines": {
|
|
12639
|
+
"node": "*"
|
|
12640
|
+
}
|
|
12641
|
+
},
|
|
12642
|
+
"node_modules/nodemon/node_modules/semver": {
|
|
12643
|
+
"version": "7.7.2",
|
|
12644
|
+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
|
|
12645
|
+
"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
|
|
12646
|
+
"dev": true,
|
|
12647
|
+
"license": "ISC",
|
|
12648
|
+
"bin": {
|
|
12649
|
+
"semver": "bin/semver.js"
|
|
12650
|
+
},
|
|
12651
|
+
"engines": {
|
|
12652
|
+
"node": ">=10"
|
|
12653
|
+
}
|
|
12654
|
+
},
|
|
12655
|
+
"node_modules/nodemon/node_modules/supports-color": {
|
|
12656
|
+
"version": "5.5.0",
|
|
12657
|
+
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
|
12658
|
+
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
|
|
12659
|
+
"dev": true,
|
|
12660
|
+
"license": "MIT",
|
|
12661
|
+
"dependencies": {
|
|
12662
|
+
"has-flag": "^3.0.0"
|
|
12663
|
+
},
|
|
12664
|
+
"engines": {
|
|
12665
|
+
"node": ">=4"
|
|
12666
|
+
}
|
|
12667
|
+
},
|
|
12570
12668
|
"node_modules/nopt": {
|
|
12571
12669
|
"version": "5.0.0",
|
|
12572
12670
|
"resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
|
|
@@ -13602,6 +13700,13 @@
|
|
|
13602
13700
|
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
|
|
13603
13701
|
"license": "MIT"
|
|
13604
13702
|
},
|
|
13703
|
+
"node_modules/pstree.remy": {
|
|
13704
|
+
"version": "1.1.8",
|
|
13705
|
+
"resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
|
|
13706
|
+
"integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==",
|
|
13707
|
+
"dev": true,
|
|
13708
|
+
"license": "MIT"
|
|
13709
|
+
},
|
|
13605
13710
|
"node_modules/pump": {
|
|
13606
13711
|
"version": "3.0.2",
|
|
13607
13712
|
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz",
|
|
@@ -14448,6 +14553,32 @@
|
|
|
14448
14553
|
"integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
|
|
14449
14554
|
"license": "MIT"
|
|
14450
14555
|
},
|
|
14556
|
+
"node_modules/simple-update-notifier": {
|
|
14557
|
+
"version": "2.0.0",
|
|
14558
|
+
"resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz",
|
|
14559
|
+
"integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==",
|
|
14560
|
+
"dev": true,
|
|
14561
|
+
"license": "MIT",
|
|
14562
|
+
"dependencies": {
|
|
14563
|
+
"semver": "^7.5.3"
|
|
14564
|
+
},
|
|
14565
|
+
"engines": {
|
|
14566
|
+
"node": ">=10"
|
|
14567
|
+
}
|
|
14568
|
+
},
|
|
14569
|
+
"node_modules/simple-update-notifier/node_modules/semver": {
|
|
14570
|
+
"version": "7.7.2",
|
|
14571
|
+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
|
|
14572
|
+
"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
|
|
14573
|
+
"dev": true,
|
|
14574
|
+
"license": "ISC",
|
|
14575
|
+
"bin": {
|
|
14576
|
+
"semver": "bin/semver.js"
|
|
14577
|
+
},
|
|
14578
|
+
"engines": {
|
|
14579
|
+
"node": ">=10"
|
|
14580
|
+
}
|
|
14581
|
+
},
|
|
14451
14582
|
"node_modules/sisteransi": {
|
|
14452
14583
|
"version": "1.0.5",
|
|
14453
14584
|
"resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
|
|
@@ -15335,6 +15466,16 @@
|
|
|
15335
15466
|
"node": ">=0.6"
|
|
15336
15467
|
}
|
|
15337
15468
|
},
|
|
15469
|
+
"node_modules/touch": {
|
|
15470
|
+
"version": "3.1.1",
|
|
15471
|
+
"resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz",
|
|
15472
|
+
"integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==",
|
|
15473
|
+
"dev": true,
|
|
15474
|
+
"license": "ISC",
|
|
15475
|
+
"bin": {
|
|
15476
|
+
"nodetouch": "bin/nodetouch.js"
|
|
15477
|
+
}
|
|
15478
|
+
},
|
|
15338
15479
|
"node_modules/tr46": {
|
|
15339
15480
|
"version": "3.0.0",
|
|
15340
15481
|
"resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
|
|
@@ -15909,6 +16050,13 @@
|
|
|
15909
16050
|
"through": "^2.3.8"
|
|
15910
16051
|
}
|
|
15911
16052
|
},
|
|
16053
|
+
"node_modules/undefsafe": {
|
|
16054
|
+
"version": "2.0.5",
|
|
16055
|
+
"resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
|
|
16056
|
+
"integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==",
|
|
16057
|
+
"dev": true,
|
|
16058
|
+
"license": "MIT"
|
|
16059
|
+
},
|
|
15912
16060
|
"node_modules/undici-types": {
|
|
15913
16061
|
"version": "6.19.8",
|
|
15914
16062
|
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
|
|
@@ -21,7 +21,9 @@
|
|
|
21
21
|
"test:watch": "jest --watch",
|
|
22
22
|
"test:cov": "jest --coverage",
|
|
23
23
|
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
|
|
24
|
-
"test:e2e": "jest --config ./test/jest-e2e.json"
|
|
24
|
+
"test:e2e": "jest --config ./test/jest-e2e.json",
|
|
25
|
+
"solidx:dev": "nodemon"
|
|
26
|
+
|
|
25
27
|
},
|
|
26
28
|
"dependencies": {
|
|
27
29
|
"@angular-devkit/core": "^18.0.3",
|
|
@@ -108,7 +110,8 @@
|
|
|
108
110
|
"ts-loader": "^9.4.3",
|
|
109
111
|
"ts-node": "^10.9.1",
|
|
110
112
|
"tsconfig-paths": "^4.2.0",
|
|
111
|
-
"typescript": "^5.1.3"
|
|
113
|
+
"typescript": "^5.1.3",
|
|
114
|
+
"nodemon": "^3.1.10"
|
|
112
115
|
},
|
|
113
116
|
"jest": {
|
|
114
117
|
"moduleFileExtensions": [
|
|
@@ -23,6 +23,7 @@ import { roleApi } from "@solidstarters/solid-core-ui";
|
|
|
23
23
|
import { exportTemplateApi } from "@solidstarters/solid-core-ui";
|
|
24
24
|
import { solidChatterMessageApi } from "@solidstarters/solid-core-ui";
|
|
25
25
|
import { solidServiceApi } from "@solidstarters/solid-core-ui";
|
|
26
|
+
import { importTransactionApi } from "@solidstarters/solid-core-ui";
|
|
26
27
|
|
|
27
28
|
export function initializeStore(entities: string[] = []) {
|
|
28
29
|
|
|
@@ -44,6 +45,7 @@ export function initializeStore(entities: string[] = []) {
|
|
|
44
45
|
[solidChatterMessageApi.reducerPath]: solidChatterMessageApi.reducer,
|
|
45
46
|
[exportTemplateApi.reducerPath]:exportTemplateApi.reducer,
|
|
46
47
|
[solidServiceApi.reducerPath]: solidServiceApi.reducer,
|
|
48
|
+
[importTransactionApi.reducerPath]: importTransactionApi.reducer,
|
|
47
49
|
|
|
48
50
|
// This has now become dynamica and is added using the for loop below
|
|
49
51
|
// [solidCountryApi.reducerPath]: solidCountryApi.reducer,
|
|
@@ -70,6 +72,8 @@ export function initializeStore(entities: string[] = []) {
|
|
|
70
72
|
solidChatterMessageApi.middleware,
|
|
71
73
|
exportTemplateApi.middleware,
|
|
72
74
|
solidServiceApi.middleware,
|
|
75
|
+
importTransactionApi.middleware
|
|
76
|
+
|
|
73
77
|
// This has now become dynamica and is added using the for loop below
|
|
74
78
|
// solidCountryApi.middleware
|
|
75
79
|
];
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
// Use IntelliSense to learn about possible attributes.
|
|
3
|
-
// Hover to view descriptions of existing attributes.
|
|
4
|
-
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
|
5
|
-
"version": "0.2.0",
|
|
6
|
-
"configurations": [
|
|
7
|
-
{
|
|
8
|
-
"type": "node",
|
|
9
|
-
"request": "launch",
|
|
10
|
-
"name": "Debug solid-api Nest Framework",
|
|
11
|
-
"args": [
|
|
12
|
-
"${workspaceFolder}/solid-api/src/main.ts"
|
|
13
|
-
],
|
|
14
|
-
"runtimeArgs": [
|
|
15
|
-
"--nolazy",
|
|
16
|
-
"-r",
|
|
17
|
-
"ts-node/register",
|
|
18
|
-
"-r",
|
|
19
|
-
"tsconfig-paths/register"
|
|
20
|
-
],
|
|
21
|
-
"sourceMaps": true,
|
|
22
|
-
"envFile": "${workspaceFolder}/solid-api/.env",
|
|
23
|
-
"cwd": "${workspaceFolder}/solid-api",
|
|
24
|
-
"console": "integratedTerminal",
|
|
25
|
-
"runtimeExecutable": "node",
|
|
26
|
-
"autoAttachChildProcesses": true
|
|
27
|
-
},
|
|
28
|
-
]
|
|
29
|
-
}
|
|
File without changes
|