@fernir2/saas-kit-cli 0.1.35 → 0.1.37
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/base-repo/app-constants/aliases.cjs.js +1 -1
- package/base-repo/app-constants/aliases.js +1 -1
- package/base-repo/app-constants/project-paths.cjs.js +2 -1
- package/base-repo/app-constants/project-paths.js +2 -2
- package/base-repo/constants/create-app-constants.cjs.js +1 -1
- package/base-repo/constants/create-app-constants.js +2 -2
- package/cli/bin/create.ts +16 -14
- package/cli/src/app/api/v1/blob/route.ts +7 -0
- package/cli/src/app/api/v1/userfeature/isenabled/route.ts +3 -0
- package/cli/src/app/layout.tsx +4 -4
- package/cli/test/global-setup.ts +2 -2
- package/fd-toolbox/api/api-client.cjs.js +1 -1
- package/fd-toolbox/api/api-client.js +1 -1
- package/fd-toolbox/api/api-path-names.cjs.js +2 -2
- package/fd-toolbox/api/api-paths.cjs.js +1 -1
- package/fd-toolbox/api/api-paths.js +1 -1
- package/fd-toolbox/api/base-api.cjs.js +1 -1
- package/fd-toolbox/api/base-api.js +1 -1
- package/fd-toolbox/auth/login-states.cjs.js +1 -1
- package/fd-toolbox/auth/login-states.js +1 -1
- package/fd-toolbox/auth/session-storage.cjs.js +1 -1
- package/fd-toolbox/auth/session-storage.js +1 -1
- package/fd-toolbox/auth/tokens.cjs.js +1 -1
- package/fd-toolbox/auth/tokens.js +1 -1
- package/fd-toolbox/constants/constants.cjs.js +1 -1
- package/fd-toolbox/constants/constants.js +1 -1
- package/fd-toolbox/enums/enums.cjs.js +1 -1
- package/fd-toolbox/enums/enums.js +1 -1
- package/fd-toolbox/errors/error-handler.cjs.js +1 -1
- package/fd-toolbox/errors/error-handler.js +1 -1
- package/fd-toolbox/errors/errors.cjs.js +1 -1
- package/fd-toolbox/errors/errors.js +1 -1
- package/fd-toolbox/errors/problem-details.cjs.js +1 -1
- package/fd-toolbox/errors/problem-details.js +1 -1
- package/fd-toolbox/functions/value-checking-functions.cjs.js +1 -1
- package/fd-toolbox/functions/value-checking-functions.js +1 -1
- package/fd-toolbox/http/url/urls.cjs.js +1 -1
- package/fd-toolbox/http/url/urls.js +1 -1
- package/fd-toolbox/infra/env-config.cjs.js +2 -2
- package/fd-toolbox/infra/env-config.js +2 -2
- package/fd-toolbox/infra/env-functions.cjs.js +1 -1
- package/fd-toolbox/infra/env-functions.js +1 -1
- package/fd-toolbox/infra/env-schema.cjs.js +2 -2
- package/fd-toolbox/infra/env-schema.js +2 -2
- package/fd-toolbox/infra/env-store.cjs.js +1 -1
- package/fd-toolbox/infra/env-store.js +1 -1
- package/fd-toolbox/infra/toolbox-env-setting-keys.cjs.js +1 -1
- package/fd-toolbox/infra/toolbox-env-setting-keys.js +1 -1
- package/fd-toolbox/lib/environments.cjs.js +1 -1
- package/fd-toolbox/lib/environments.js +1 -1
- package/fd-toolbox/lib/utils.cjs.js +1 -1
- package/fd-toolbox/lib/utils.js +1 -1
- package/fd-toolbox/local-storage/local-storage.cjs.js +1 -1
- package/fd-toolbox/local-storage/local-storage.js +1 -1
- package/fd-toolbox/logging/loggers.cjs.js +1 -1
- package/fd-toolbox/logging/loggers.js +1 -1
- package/fd-toolbox/notifications.cjs.js +2 -2
- package/fd-toolbox/notifications.js +2 -2
- package/fd-toolbox/odata/odata-constants.cjs.js +1 -1
- package/fd-toolbox/odata/odata-constants.js +1 -1
- package/fd-toolbox/odata/odatas.cjs.js +1 -1
- package/fd-toolbox/odata/odatas.js +1 -1
- package/fd-toolbox/odata/services/odata-filters.cjs.js +1 -1
- package/fd-toolbox/odata/services/odata-filters.js +1 -1
- package/fd-toolbox/paths/paths-names.cjs.js +2 -2
- package/fd-toolbox/paths/paths-names.js +1 -1
- package/fd-toolbox/routing/login-routers.cjs.js +1 -1
- package/fd-toolbox/routing/login-routers.js +1 -1
- package/fd-toolbox/routing/paths.cjs.js +1 -3
- package/fd-toolbox/routing/paths.js +1 -3
- package/fd-toolbox/strings/strings-constants.cjs.js +1 -1
- package/fd-toolbox/strings/strings-constants.js +1 -1
- package/fd-toolbox/strings/strings.cjs.js +1 -1
- package/fd-toolbox/strings/strings.js +1 -1
- package/fd-toolbox/types/ensure-type.cjs.js +2 -1
- package/fd-toolbox/types/ensure-type.js +2 -2
- package/fd-toolbox-core/core/name-of.cjs.js +1 -1
- package/fd-toolbox-core/core/name-of.js +1 -1
- package/fd-toolbox-core/types/resource-with-id.cjs.js +1 -1
- package/fd-toolbox-core/types/resource-with-id.js +1 -1
- package/level2/cli/bin/index.cjs.js +1 -1
- package/level2/cli/bin/index.js +1 -1
- package/level2/cli/create/bin/create.cjs.js +4 -4
- package/level2/cli/create/bin/create.js +4 -4
- package/level2/npm-commands/build-npm/path.cjs.js +1 -1
- package/level2/npm-commands/build-npm/path.js +1 -1
- package/package.json +2 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
const oDataNullValue='null';const oDataLambdaAnyFunction='any';const oDataLambdaAllFunction='all';const oDataDefaultTop=-
|
|
2
|
+
const oDataNullValue='null';const oDataLambdaAnyFunction='any';const oDataLambdaAllFunction='all';const oDataDefaultTop=-0x2b9+0x3a1*-0x7+0x1c52;const oDataPropertySeparator='/';const odataErrors={'valueIsNull':'Value\x20for\x20select\x20cannot\x20be\x20null\x20or\x20empty','valueIsNegative':'Value\x20for\x20top\x20cannot\x20be\x20negative'};
|
|
3
3
|
|
|
4
4
|
export { oDataDefaultTop, oDataLambdaAllFunction, oDataLambdaAnyFunction, oDataNullValue, oDataPropertySeparator, odataErrors };
|
|
@@ -6,6 +6,6 @@ var strings = require('../strings/strings.cjs.js');
|
|
|
6
6
|
var odataFilters = require('./services/odata-filters.cjs.js');
|
|
7
7
|
var odataEnums = require('./odata-enums.cjs.js');
|
|
8
8
|
|
|
9
|
-
var __defProp=Object['defineProperty'],__name=(
|
|
9
|
+
var __defProp=Object['defineProperty'],__name=(_0x1480e0,_0x55095a)=>__defProp(_0x1480e0,'name',{'value':_0x55095a,'configurable':!![]});function getODataParams(_0x2e3f37){let _0x496380=getFilters(_0x2e3f37);_0x2e3f37['skip']&&_0x496380['push']({'name':'skip','value':_0x2e3f37['skip']['toString']()});_0x2e3f37['top']&&_0x496380['push']({'name':'top','value':_0x2e3f37['top']['toString']()});_0x2e3f37['count']&&_0x496380['push']({'name':'count','value':'true'});_0x2e3f37['orderBys']&&_0x2e3f37['orderBys']['length']>0x1298+-0x217d+0xee5&&_0x2e3f37['orderBys']['forEach'](_0x47a0df=>{_0x496380['push']({'name':'orderby','value':getColumnNameAndDirectionForOrderBy(_0x47a0df['propertyName'],_0x47a0df['direction'])});});if(_0x2e3f37['selects']?.['length']||_0x2e3f37['select']?.['length'])configureSelectOData(_0x2e3f37,_0x496380);else _0x2e3f37['expands']&&configureExpandOData(_0x2e3f37,_0x496380);return _0x496380;}__name(getODataParams,'getODataParams');function getFilters(_0xc79b00){let _0x1da1a9=[];if(_0xc79b00['filters']&&_0xc79b00['filters']['length']>-0x1*-0x1c35+0x32*-0x47+-0xe57){let _0x642e0f={'name':'filter','value':''},_0x32c8d8=_0xc79b00['filters']['length'];for(let _0x196e4e=-0x129d*0x2+0x1*0xcf2+0x1848;_0x196e4e<_0x32c8d8;_0x196e4e++){let _0xceaeb3=odataFilters.getODataFilterAsString(_0xc79b00['filters'][_0x196e4e]);_0x196e4e>-0xc77*-0x1+0x2541+-0x56*0x94?_0xc79b00['filters'][_0x196e4e]['logicalOperationType']===odataEnums.oDataLogicalOperationTypes['or']?_0x642e0f['value']+='\x20or\x20'+_0xceaeb3:_0x642e0f['value']+='\x20and\x20'+_0xceaeb3:_0x642e0f['value']+=_0xceaeb3;}_0x1da1a9['push'](_0x642e0f);}return _0x1da1a9;}__name(getFilters,'getFilters');function getColumnNameAndDirectionForOrderBy(_0x1387da,_0x579544){return _0x1387da+'\x20'+(_0x579544===enums.oDataOrderByDirectionConsts['desc']?'desc':'asc');}__name(getColumnNameAndDirectionForOrderBy,'getColumnNameAndDirectionForOrderBy');function configureExpandOData(_0x57a2a2,_0x1910f0){if(_0x57a2a2['expands']&&_0x57a2a2['expands']['length']>0xa1b+-0x2*0x246+0x58f*-0x1){let _0x5c18ca='';for(let _0x4457be of _0x57a2a2['expands']){_0x5c18ca+=_0x4457be+',';}_0x5c18ca=strings.trimCharacter(_0x5c18ca,','),_0x1910f0['push']({'name':'expand','value':_0x5c18ca});}}__name(configureExpandOData,'configureExpandOData');function configureSelectOData(_0x55e419,_0x4440e8){if(_0x55e419['select']&&_0x55e419['select']['length']>-0x1ee7+-0x165d+0x3ce*0xe){let _0x507118='';for(let _0x32e3d4 of _0x55e419['select']){_0x507118+=_0x32e3d4+',';}_0x507118=strings.trimCharacter(_0x507118,','),_0x4440e8['push']({'name':'select','value':_0x507118});}}__name(configureSelectOData,'configureSelectOData');
|
|
10
10
|
|
|
11
11
|
exports.getODataParams = getODataParams;
|
|
@@ -4,6 +4,6 @@ import { trimCharacter } from '../strings/strings.js';
|
|
|
4
4
|
import { getODataFilterAsString } from './services/odata-filters.js';
|
|
5
5
|
import { oDataLogicalOperationTypes } from './odata-enums.js';
|
|
6
6
|
|
|
7
|
-
var __defProp=Object['defineProperty'],__name=(
|
|
7
|
+
var __defProp=Object['defineProperty'],__name=(_0x1480e0,_0x55095a)=>__defProp(_0x1480e0,'name',{'value':_0x55095a,'configurable':!![]});function getODataParams(_0x2e3f37){let _0x496380=getFilters(_0x2e3f37);_0x2e3f37['skip']&&_0x496380['push']({'name':'skip','value':_0x2e3f37['skip']['toString']()});_0x2e3f37['top']&&_0x496380['push']({'name':'top','value':_0x2e3f37['top']['toString']()});_0x2e3f37['count']&&_0x496380['push']({'name':'count','value':'true'});_0x2e3f37['orderBys']&&_0x2e3f37['orderBys']['length']>0x1298+-0x217d+0xee5&&_0x2e3f37['orderBys']['forEach'](_0x47a0df=>{_0x496380['push']({'name':'orderby','value':getColumnNameAndDirectionForOrderBy(_0x47a0df['propertyName'],_0x47a0df['direction'])});});if(_0x2e3f37['selects']?.['length']||_0x2e3f37['select']?.['length'])configureSelectOData(_0x2e3f37,_0x496380);else _0x2e3f37['expands']&&configureExpandOData(_0x2e3f37,_0x496380);return _0x496380;}__name(getODataParams,'getODataParams');function getFilters(_0xc79b00){let _0x1da1a9=[];if(_0xc79b00['filters']&&_0xc79b00['filters']['length']>-0x1*-0x1c35+0x32*-0x47+-0xe57){let _0x642e0f={'name':'filter','value':''},_0x32c8d8=_0xc79b00['filters']['length'];for(let _0x196e4e=-0x129d*0x2+0x1*0xcf2+0x1848;_0x196e4e<_0x32c8d8;_0x196e4e++){let _0xceaeb3=getODataFilterAsString(_0xc79b00['filters'][_0x196e4e]);_0x196e4e>-0xc77*-0x1+0x2541+-0x56*0x94?_0xc79b00['filters'][_0x196e4e]['logicalOperationType']===oDataLogicalOperationTypes['or']?_0x642e0f['value']+='\x20or\x20'+_0xceaeb3:_0x642e0f['value']+='\x20and\x20'+_0xceaeb3:_0x642e0f['value']+=_0xceaeb3;}_0x1da1a9['push'](_0x642e0f);}return _0x1da1a9;}__name(getFilters,'getFilters');function getColumnNameAndDirectionForOrderBy(_0x1387da,_0x579544){return _0x1387da+'\x20'+(_0x579544===oDataOrderByDirectionConsts['desc']?'desc':'asc');}__name(getColumnNameAndDirectionForOrderBy,'getColumnNameAndDirectionForOrderBy');function configureExpandOData(_0x57a2a2,_0x1910f0){if(_0x57a2a2['expands']&&_0x57a2a2['expands']['length']>0xa1b+-0x2*0x246+0x58f*-0x1){let _0x5c18ca='';for(let _0x4457be of _0x57a2a2['expands']){_0x5c18ca+=_0x4457be+',';}_0x5c18ca=trimCharacter(_0x5c18ca,','),_0x1910f0['push']({'name':'expand','value':_0x5c18ca});}}__name(configureExpandOData,'configureExpandOData');function configureSelectOData(_0x55e419,_0x4440e8){if(_0x55e419['select']&&_0x55e419['select']['length']>-0x1ee7+-0x165d+0x3ce*0xe){let _0x507118='';for(let _0x32e3d4 of _0x55e419['select']){_0x507118+=_0x32e3d4+',';}_0x507118=trimCharacter(_0x507118,','),_0x4440e8['push']({'name':'select','value':_0x507118});}}__name(configureSelectOData,'configureSelectOData');
|
|
8
8
|
|
|
9
9
|
export { getODataParams };
|
|
@@ -6,6 +6,6 @@ var odataConstants = require('../odata-constants.cjs.js');
|
|
|
6
6
|
var errors = require('../../errors/errors.cjs.js');
|
|
7
7
|
var odataEnums = require('../odata-enums.cjs.js');
|
|
8
8
|
|
|
9
|
-
var __defProp=Object['defineProperty'],__name=(
|
|
9
|
+
var __defProp=Object['defineProperty'],__name=(_0x44db75,_0x15942c)=>__defProp(_0x44db75,'name',{'value':_0x15942c,'configurable':!![]});function getODataFilterAsString(_0x3d1c7a){_0x3d1c7a['operator']??=enums.oDataOperators['equal'];if(_0x3d1c7a['type']===void(0x3d*-0x96+0x16*0x27+-0x4*-0x819)||_0x3d1c7a['type']===odataEnums.oDataFilterTypes['default']){if(typeof _0x3d1c7a['rightSide']==='number')_0x3d1c7a['type']=odataEnums.oDataFilterTypes['number'];else {if(typeof _0x3d1c7a['rightSide']==='boolean'||typeof _0x3d1c7a['rightSide']==='string')_0x3d1c7a['type']=odataEnums.oDataFilterTypes['string'];else _0x3d1c7a['rightSide']instanceof Date?_0x3d1c7a['type']=odataEnums.oDataFilterTypes['date']:_0x3d1c7a['type']=odataEnums.oDataFilterTypes['string'];}}return typeof _0x3d1c7a['rightSide']==='string'&&!isNaN(Number(_0x3d1c7a['rightSide']))&&(_0x3d1c7a['rightSide']=Number(_0x3d1c7a['rightSide'])),getFilterString(_0x3d1c7a);}__name(getODataFilterAsString,'getODataFilterAsString');function getFilterString(_0x21babd){switch(_0x21babd['operator']){case enums.oDataOperators['in']:return handleInOperator(_0x21babd);case enums.oDataOperators['nin']:return handleInOperator(_0x21babd);case enums.oDataOperators['empty']:return '';case enums.oDataOperators['startsWith']:return handleStartsWithOperator(_0x21babd);default:return handleDefaultOperators(_0x21babd);}}__name(getFilterString,'getFilterString');function handleInOperator(_0x5a7879){if(_0x5a7879['type']===odataEnums.oDataFilterTypes['guid']){let _0x3eec4d=oDataFormatGuid(_0x5a7879['rightSide']);return _0x5a7879['leftSide']+'\x20'+_0x5a7879['operator']+'\x20('+_0x3eec4d+')';}return _0x5a7879['leftSide']+'\x20'+_0x5a7879['operator']+'\x20('+_0x5a7879['rightSide']+')';}__name(handleInOperator,'handleInOperator');function handleStartsWithOperator(_0x7850d6){return _0x7850d6['operator']+'('+_0x7850d6['leftSide']+',\x20'+_0x7850d6['rightSide']+')';}__name(handleStartsWithOperator,'handleStartsWithOperator');function handleDefaultOperators(_0xd7df04){switch(_0xd7df04['type']){case odataEnums.oDataFilterTypes['string']:return handleStringFilter(_0xd7df04);case odataEnums.oDataFilterTypes['date']:return handleDateFilter(_0xd7df04);case odataEnums.oDataFilterTypes['guid']:return handleGuidFilter(_0xd7df04);case odataEnums.oDataFilterTypes['number']:return handleNumberFilter(_0xd7df04);case odataEnums.oDataFilterTypes['lambda']:return handleLambdaFilter(_0xd7df04);default:throw errors.createError('Unsupported\x20filter\x20type:\x20'+_0xd7df04['type']);}}__name(handleDefaultOperators,'handleDefaultOperators');function handleStringFilter(_0x5bd5e1){if(_0x5bd5e1['rightSide']===odataConstants.oDataNullValue)return _0x5bd5e1['leftSide']+'\x20'+_0x5bd5e1['operator']+'\x20'+_0x5bd5e1['rightSide'];if(typeof _0x5bd5e1['rightSide']==='string')return _0x5bd5e1['leftSide']+'\x20'+_0x5bd5e1['operator']+'\x20\x27'+_0x5bd5e1['rightSide']+'\x27';return _0x5bd5e1['leftSide']+'\x20'+_0x5bd5e1['operator']+'\x20'+_0x5bd5e1['rightSide'];}__name(handleStringFilter,'handleStringFilter');function handleDateFilter(_0xbd6a93){return _0xbd6a93['leftSide']+'\x20'+_0xbd6a93['operator']+'\x20datetime\x27'+_0xbd6a93['rightSide']+'\x27';}__name(handleDateFilter,'handleDateFilter');function handleGuidFilter(_0x262305){return _0x262305['leftSide']+'\x20'+_0x262305['operator']+'\x20guid\x27'+_0x262305['rightSide']+'\x27';}__name(handleGuidFilter,'handleGuidFilter');function handleNumberFilter(_0x14c1ac){return _0x14c1ac['leftSide']+'\x20'+_0x14c1ac['operator']+'\x20'+_0x14c1ac['rightSide'];}__name(handleNumberFilter,'handleNumberFilter');function handleLambdaFilter(_0x4a7624){const _0x4b03e7=_0x4a7624['lambdaConfig'];if(!_0x4b03e7)throw errors.createError('Lambda\x20configuration\x20is\x20missing');return _0x4b03e7['baseEnumerablePropertyName']+'/'+_0x4b03e7['method']+'(i:i/'+_0x4a7624['leftSide']+'\x20'+_0x4a7624['operator']+'\x20guid\x27'+_0x4a7624['rightSide']+'\x27)';}__name(handleLambdaFilter,'handleLambdaFilter');function oDataFormatGuid(_0x5e1475){let _0x19c3df;if(typeof _0x5e1475==='string')_0x19c3df=''+_0x5e1475;else Array['isArray'](_0x5e1475)&&(_0x19c3df=_0x5e1475['map'](_0x2b20fc=>'guid\x27'+_0x2b20fc+'\x27')['join'](','));return _0x19c3df;}__name(oDataFormatGuid,'oDataFormatGuid');
|
|
10
10
|
|
|
11
11
|
exports.getODataFilterAsString = getODataFilterAsString;
|
|
@@ -4,6 +4,6 @@ import { oDataNullValue } from '../odata-constants.js';
|
|
|
4
4
|
import { createError } from '../../errors/errors.js';
|
|
5
5
|
import { oDataFilterTypes } from '../odata-enums.js';
|
|
6
6
|
|
|
7
|
-
var __defProp=Object['defineProperty'],__name=(
|
|
7
|
+
var __defProp=Object['defineProperty'],__name=(_0x44db75,_0x15942c)=>__defProp(_0x44db75,'name',{'value':_0x15942c,'configurable':!![]});function getODataFilterAsString(_0x3d1c7a){_0x3d1c7a['operator']??=oDataOperators['equal'];if(_0x3d1c7a['type']===void(0x3d*-0x96+0x16*0x27+-0x4*-0x819)||_0x3d1c7a['type']===oDataFilterTypes['default']){if(typeof _0x3d1c7a['rightSide']==='number')_0x3d1c7a['type']=oDataFilterTypes['number'];else {if(typeof _0x3d1c7a['rightSide']==='boolean'||typeof _0x3d1c7a['rightSide']==='string')_0x3d1c7a['type']=oDataFilterTypes['string'];else _0x3d1c7a['rightSide']instanceof Date?_0x3d1c7a['type']=oDataFilterTypes['date']:_0x3d1c7a['type']=oDataFilterTypes['string'];}}return typeof _0x3d1c7a['rightSide']==='string'&&!isNaN(Number(_0x3d1c7a['rightSide']))&&(_0x3d1c7a['rightSide']=Number(_0x3d1c7a['rightSide'])),getFilterString(_0x3d1c7a);}__name(getODataFilterAsString,'getODataFilterAsString');function getFilterString(_0x21babd){switch(_0x21babd['operator']){case oDataOperators['in']:return handleInOperator(_0x21babd);case oDataOperators['nin']:return handleInOperator(_0x21babd);case oDataOperators['empty']:return '';case oDataOperators['startsWith']:return handleStartsWithOperator(_0x21babd);default:return handleDefaultOperators(_0x21babd);}}__name(getFilterString,'getFilterString');function handleInOperator(_0x5a7879){if(_0x5a7879['type']===oDataFilterTypes['guid']){let _0x3eec4d=oDataFormatGuid(_0x5a7879['rightSide']);return _0x5a7879['leftSide']+'\x20'+_0x5a7879['operator']+'\x20('+_0x3eec4d+')';}return _0x5a7879['leftSide']+'\x20'+_0x5a7879['operator']+'\x20('+_0x5a7879['rightSide']+')';}__name(handleInOperator,'handleInOperator');function handleStartsWithOperator(_0x7850d6){return _0x7850d6['operator']+'('+_0x7850d6['leftSide']+',\x20'+_0x7850d6['rightSide']+')';}__name(handleStartsWithOperator,'handleStartsWithOperator');function handleDefaultOperators(_0xd7df04){switch(_0xd7df04['type']){case oDataFilterTypes['string']:return handleStringFilter(_0xd7df04);case oDataFilterTypes['date']:return handleDateFilter(_0xd7df04);case oDataFilterTypes['guid']:return handleGuidFilter(_0xd7df04);case oDataFilterTypes['number']:return handleNumberFilter(_0xd7df04);case oDataFilterTypes['lambda']:return handleLambdaFilter(_0xd7df04);default:throw createError('Unsupported\x20filter\x20type:\x20'+_0xd7df04['type']);}}__name(handleDefaultOperators,'handleDefaultOperators');function handleStringFilter(_0x5bd5e1){if(_0x5bd5e1['rightSide']===oDataNullValue)return _0x5bd5e1['leftSide']+'\x20'+_0x5bd5e1['operator']+'\x20'+_0x5bd5e1['rightSide'];if(typeof _0x5bd5e1['rightSide']==='string')return _0x5bd5e1['leftSide']+'\x20'+_0x5bd5e1['operator']+'\x20\x27'+_0x5bd5e1['rightSide']+'\x27';return _0x5bd5e1['leftSide']+'\x20'+_0x5bd5e1['operator']+'\x20'+_0x5bd5e1['rightSide'];}__name(handleStringFilter,'handleStringFilter');function handleDateFilter(_0xbd6a93){return _0xbd6a93['leftSide']+'\x20'+_0xbd6a93['operator']+'\x20datetime\x27'+_0xbd6a93['rightSide']+'\x27';}__name(handleDateFilter,'handleDateFilter');function handleGuidFilter(_0x262305){return _0x262305['leftSide']+'\x20'+_0x262305['operator']+'\x20guid\x27'+_0x262305['rightSide']+'\x27';}__name(handleGuidFilter,'handleGuidFilter');function handleNumberFilter(_0x14c1ac){return _0x14c1ac['leftSide']+'\x20'+_0x14c1ac['operator']+'\x20'+_0x14c1ac['rightSide'];}__name(handleNumberFilter,'handleNumberFilter');function handleLambdaFilter(_0x4a7624){const _0x4b03e7=_0x4a7624['lambdaConfig'];if(!_0x4b03e7)throw createError('Lambda\x20configuration\x20is\x20missing');return _0x4b03e7['baseEnumerablePropertyName']+'/'+_0x4b03e7['method']+'(i:i/'+_0x4a7624['leftSide']+'\x20'+_0x4a7624['operator']+'\x20guid\x27'+_0x4a7624['rightSide']+'\x27)';}__name(handleLambdaFilter,'handleLambdaFilter');function oDataFormatGuid(_0x5e1475){let _0x19c3df;if(typeof _0x5e1475==='string')_0x19c3df=''+_0x5e1475;else Array['isArray'](_0x5e1475)&&(_0x19c3df=_0x5e1475['map'](_0x2b20fc=>'guid\x27'+_0x2b20fc+'\x27')['join'](','));return _0x19c3df;}__name(oDataFormatGuid,'oDataFormatGuid');
|
|
8
8
|
|
|
9
9
|
export { getODataFilterAsString };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _0x1aa6b6 = require('path');
|
|
5
5
|
|
|
6
|
-
var __defProp=Object['defineProperty'],__name=(
|
|
6
|
+
var __defProp=Object['defineProperty'],__name=(_0x587dbd,_0x5815b8)=>__defProp(_0x587dbd,'name',{'value':_0x5815b8,'configurable':!![]});function getFileNameWithExtension(_0x585c26,_0x31b668){if(!_0x31b668['startsWith']('.'))return _0x585c26+'.'+_0x31b668;return _0x585c26+_0x31b668;}__name(getFileNameWithExtension,'getFileNameWithExtension');function getFullFilePath(_0x11dd29,_0x352cbc,..._0x4999e9){const _0x2ee182=getFileNameWithExtension(_0x11dd29,_0x352cbc);return _0x1aa6b6.join(..._0x4999e9,_0x2ee182);}__name(getFullFilePath,'getFullFilePath');
|
|
7
7
|
|
|
8
8
|
exports.getFileNameWithExtension = getFileNameWithExtension;
|
|
9
9
|
exports.getFullFilePath = getFullFilePath;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
import { join } from 'path';
|
|
3
3
|
|
|
4
|
-
var __defProp=Object['defineProperty'],__name=(
|
|
4
|
+
var __defProp=Object['defineProperty'],__name=(_0x587dbd,_0x5815b8)=>__defProp(_0x587dbd,'name',{'value':_0x5815b8,'configurable':!![]});function getFileNameWithExtension(_0x585c26,_0x31b668){if(!_0x31b668['startsWith']('.'))return _0x585c26+'.'+_0x31b668;return _0x585c26+_0x31b668;}__name(getFileNameWithExtension,'getFileNameWithExtension');function getFullFilePath(_0x11dd29,_0x352cbc,..._0x4999e9){const _0x2ee182=getFileNameWithExtension(_0x11dd29,_0x352cbc);return join(..._0x4999e9,_0x2ee182);}__name(getFullFilePath,'getFullFilePath');
|
|
5
5
|
|
|
6
6
|
export { getFileNameWithExtension, getFullFilePath };
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
var routes = require('./routes.cjs.js');
|
|
5
5
|
|
|
6
|
-
var __defProp=Object['defineProperty'],__name=(
|
|
6
|
+
var __defProp=Object['defineProperty'],__name=(_0x3771b9,_0x358787)=>__defProp(_0x3771b9,'name',{'value':_0x358787,'configurable':!![]});function getRelativeLoginUrl(){return '/'+routes.routes['login'];}__name(getRelativeLoginUrl,'getRelativeLoginUrl');function getLoginUrl(){return window['location']['origin']+getRelativeLoginUrl();}__name(getLoginUrl,'getLoginUrl');function goToLogin(){window['location']['href']=getRelativeLoginUrl();}__name(goToLogin,'goToLogin');
|
|
7
7
|
|
|
8
8
|
exports.getLoginUrl = getLoginUrl;
|
|
9
9
|
exports.getRelativeLoginUrl = getRelativeLoginUrl;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
import { routes } from './routes.js';
|
|
3
3
|
|
|
4
|
-
var __defProp=Object['defineProperty'],__name=(
|
|
4
|
+
var __defProp=Object['defineProperty'],__name=(_0x3771b9,_0x358787)=>__defProp(_0x3771b9,'name',{'value':_0x358787,'configurable':!![]});function getRelativeLoginUrl(){return '/'+routes['login'];}__name(getRelativeLoginUrl,'getRelativeLoginUrl');function getLoginUrl(){return window['location']['origin']+getRelativeLoginUrl();}__name(getLoginUrl,'getLoginUrl');function goToLogin(){window['location']['href']=getRelativeLoginUrl();}__name(goToLogin,'goToLogin');
|
|
5
5
|
|
|
6
6
|
export { getLoginUrl, getRelativeLoginUrl, goToLogin };
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
var __defProp=Object['defineProperty'],__name=(_0x4f54b4,_0x5aaf94)=>__defProp(_0x4f54b4,'name',{'value':_0x5aaf94,'configurable':!![]});function addQueryParamsToPath(_0x43ab91,_0x4f5a31){let _0x4e861b=_0x43ab91;if(_0x4f5a31&&Array['isArray'](_0x4f5a31))_0x4e861b+=convertQueryParamsArrayToString(_0x4f5a31);else _0x4f5a31&&utils.isPlainObject(_0x4f5a31)&&(_0x4e861b+=convertQueryParamsObjectToString(_0x4f5a31));return _0x4e861b;}__name(addQueryParamsToPath,'addQueryParamsToPath');function convertQueryParamsArrayToString(_0x5c27ba){const _0x183d73=_0x5c27ba['map'](_0x52335f=>_0x52335f['name']+'='+_0x52335f['value'])['join']('&');return _0x183d73?'?'+_0x183d73:'';}__name(convertQueryParamsArrayToString,'convertQueryParamsArrayToString');function convertQueryParamsObjectToString(_0xb05e0d){const _0x2aa197=Object['entries'](_0xb05e0d)['map'](([_0x2abd5e,_0xfdaa95])=>_0x2abd5e+'='+_0xfdaa95)['join']('&');return _0x2aa197?'?'+_0x2aa197:'';}__name(convertQueryParamsObjectToString,'convertQueryParamsObjectToString');
|
|
4
|
+
var __defProp=Object['defineProperty'],__name=(_0x108adb,_0x4eae0e)=>__defProp(_0x108adb,'name',{'value':_0x4eae0e,'configurable':!![]});function addQueryParamsToPath(_0x2a3702,_0x1adf00){let _0x3f82ab=_0x2a3702;if(_0x1adf00&&Array['isArray'](_0x1adf00))_0x3f82ab+=convertQueryParamsArrayToString(_0x1adf00);else _0x1adf00&&!Array['isArray'](_0x1adf00)&&(_0x3f82ab+=convertQueryParamsObjectToString(_0x1adf00));return _0x3f82ab;}__name(addQueryParamsToPath,'addQueryParamsToPath');function convertQueryParamsArrayToString(_0x4682e7){const _0x2b6544=_0x4682e7['map'](_0xace650=>_0xace650['name']+'='+_0xace650['value'])['join']('&');return _0x2b6544?'?'+_0x2b6544:'';}__name(convertQueryParamsArrayToString,'convertQueryParamsArrayToString');function convertQueryParamsObjectToString(_0x34d092){const _0x348a42=Object['entries'](_0x34d092)['map'](([_0x26c36f,_0x3faa6d])=>_0x26c36f+'='+_0x3faa6d)['join']('&');return _0x348a42?'?'+_0x348a42:'';}__name(convertQueryParamsObjectToString,'convertQueryParamsObjectToString');
|
|
7
5
|
|
|
8
6
|
exports.addQueryParamsToPath = addQueryParamsToPath;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var __defProp=Object['defineProperty'],__name=(_0x4f54b4,_0x5aaf94)=>__defProp(_0x4f54b4,'name',{'value':_0x5aaf94,'configurable':!![]});function addQueryParamsToPath(_0x43ab91,_0x4f5a31){let _0x4e861b=_0x43ab91;if(_0x4f5a31&&Array['isArray'](_0x4f5a31))_0x4e861b+=convertQueryParamsArrayToString(_0x4f5a31);else _0x4f5a31&&isPlainObject(_0x4f5a31)&&(_0x4e861b+=convertQueryParamsObjectToString(_0x4f5a31));return _0x4e861b;}__name(addQueryParamsToPath,'addQueryParamsToPath');function convertQueryParamsArrayToString(_0x5c27ba){const _0x183d73=_0x5c27ba['map'](_0x52335f=>_0x52335f['name']+'='+_0x52335f['value'])['join']('&');return _0x183d73?'?'+_0x183d73:'';}__name(convertQueryParamsArrayToString,'convertQueryParamsArrayToString');function convertQueryParamsObjectToString(_0xb05e0d){const _0x2aa197=Object['entries'](_0xb05e0d)['map'](([_0x2abd5e,_0xfdaa95])=>_0x2abd5e+'='+_0xfdaa95)['join']('&');return _0x2aa197?'?'+_0x2aa197:'';}__name(convertQueryParamsObjectToString,'convertQueryParamsObjectToString');
|
|
2
|
+
var __defProp=Object['defineProperty'],__name=(_0x108adb,_0x4eae0e)=>__defProp(_0x108adb,'name',{'value':_0x4eae0e,'configurable':!![]});function addQueryParamsToPath(_0x2a3702,_0x1adf00){let _0x3f82ab=_0x2a3702;if(_0x1adf00&&Array['isArray'](_0x1adf00))_0x3f82ab+=convertQueryParamsArrayToString(_0x1adf00);else _0x1adf00&&!Array['isArray'](_0x1adf00)&&(_0x3f82ab+=convertQueryParamsObjectToString(_0x1adf00));return _0x3f82ab;}__name(addQueryParamsToPath,'addQueryParamsToPath');function convertQueryParamsArrayToString(_0x4682e7){const _0x2b6544=_0x4682e7['map'](_0xace650=>_0xace650['name']+'='+_0xace650['value'])['join']('&');return _0x2b6544?'?'+_0x2b6544:'';}__name(convertQueryParamsArrayToString,'convertQueryParamsArrayToString');function convertQueryParamsObjectToString(_0x34d092){const _0x348a42=Object['entries'](_0x34d092)['map'](([_0x26c36f,_0x3faa6d])=>_0x26c36f+'='+_0x3faa6d)['join']('&');return _0x348a42?'?'+_0x348a42:'';}__name(convertQueryParamsObjectToString,'convertQueryParamsObjectToString');
|
|
5
3
|
|
|
6
4
|
export { addQueryParamsToPath };
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
var stringsConstants = require('./strings-constants.cjs.js');
|
|
5
5
|
var valueCheckingFunctions = require('../functions/value-checking-functions.cjs.js');
|
|
6
6
|
|
|
7
|
-
var __defProp=Object['defineProperty'],__name=(
|
|
7
|
+
var __defProp=Object['defineProperty'],__name=(_0x381f10,_0x552758)=>__defProp(_0x381f10,'name',{'value':_0x552758,'configurable':!![]});function shortenWithEllipsis(_0x5a88a0,_0x437757=stringsConstants.shortTextLength){if(valueCheckingFunctions.isNullOrUndefined(_0x5a88a0))return '';return _0x5a88a0['length']<0xaa8*0x3+-0x2237+0x241?_0x5a88a0['length']<=_0x437757?_0x5a88a0:_0x5a88a0['substring'](0xa8*-0x33+-0x382*0x6+0x3684,_0x437757):_0x5a88a0['length']<=_0x437757?_0x5a88a0:_0x5a88a0['substring'](0x1dda+-0x1fc2+0x7a*0x4,_0x437757-(0x1*0x1dff+0x1b89+-0x3987))+stringsConstants.ellipsis;}__name(shortenWithEllipsis,'shortenWithEllipsis');function trimCharacter(_0x5bdf07,_0x3c94f3){let _0x2398ea=_0x5bdf07;if(Array['isArray'](_0x3c94f3))for(let _0x560314 of _0x3c94f3){(_0x5bdf07['startsWith'](_0x560314)||_0x5bdf07['endsWith'](_0x560314))&&(_0x2398ea=trimOneCharacter(_0x5bdf07,_0x560314));}else _0x2398ea=trimOneCharacter(_0x5bdf07,_0x3c94f3);return _0x2398ea;}__name(trimCharacter,'trimCharacter');function trimOneCharacter(_0x570359,_0x5bfc85){let _0x4ce84c=_0x570359;return _0x4ce84c?.['startsWith'](_0x5bfc85)&&(_0x4ce84c=_0x4ce84c['substring'](0xf08+0x2150+-0x3057)),_0x4ce84c?.['endsWith'](_0x5bfc85)&&(_0x4ce84c=_0x4ce84c['substring'](-0x1f45+-0x4e+0x89*0x3b,_0x4ce84c['lastIndexOf'](_0x5bfc85))),_0x4ce84c;}__name(trimOneCharacter,'trimOneCharacter');
|
|
8
8
|
|
|
9
9
|
exports.shortenWithEllipsis = shortenWithEllipsis;
|
|
10
10
|
exports.trimCharacter = trimCharacter;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
import { shortTextLength, ellipsis } from './strings-constants.js';
|
|
3
3
|
import { isNullOrUndefined } from '../functions/value-checking-functions.js';
|
|
4
4
|
|
|
5
|
-
var __defProp=Object['defineProperty'],__name=(
|
|
5
|
+
var __defProp=Object['defineProperty'],__name=(_0x381f10,_0x552758)=>__defProp(_0x381f10,'name',{'value':_0x552758,'configurable':!![]});function shortenWithEllipsis(_0x5a88a0,_0x437757=shortTextLength){if(isNullOrUndefined(_0x5a88a0))return '';return _0x5a88a0['length']<0xaa8*0x3+-0x2237+0x241?_0x5a88a0['length']<=_0x437757?_0x5a88a0:_0x5a88a0['substring'](0xa8*-0x33+-0x382*0x6+0x3684,_0x437757):_0x5a88a0['length']<=_0x437757?_0x5a88a0:_0x5a88a0['substring'](0x1dda+-0x1fc2+0x7a*0x4,_0x437757-(0x1*0x1dff+0x1b89+-0x3987))+ellipsis;}__name(shortenWithEllipsis,'shortenWithEllipsis');function trimCharacter(_0x5bdf07,_0x3c94f3){let _0x2398ea=_0x5bdf07;if(Array['isArray'](_0x3c94f3))for(let _0x560314 of _0x3c94f3){(_0x5bdf07['startsWith'](_0x560314)||_0x5bdf07['endsWith'](_0x560314))&&(_0x2398ea=trimOneCharacter(_0x5bdf07,_0x560314));}else _0x2398ea=trimOneCharacter(_0x5bdf07,_0x3c94f3);return _0x2398ea;}__name(trimCharacter,'trimCharacter');function trimOneCharacter(_0x570359,_0x5bfc85){let _0x4ce84c=_0x570359;return _0x4ce84c?.['startsWith'](_0x5bfc85)&&(_0x4ce84c=_0x4ce84c['substring'](0xf08+0x2150+-0x3057)),_0x4ce84c?.['endsWith'](_0x5bfc85)&&(_0x4ce84c=_0x4ce84c['substring'](-0x1f45+-0x4e+0x89*0x3b,_0x4ce84c['lastIndexOf'](_0x5bfc85))),_0x4ce84c;}__name(trimOneCharacter,'trimOneCharacter');
|
|
6
6
|
|
|
7
7
|
export { shortenWithEllipsis, trimCharacter };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var __defProp=Object['defineProperty'],__name=(
|
|
4
|
+
var __defProp=Object['defineProperty'],__name=(_0x27a31b,_0x418eb4)=>__defProp(_0x27a31b,'name',{'value':_0x418eb4,'configurable':!![]});function ensureString(_0x371ad8){return isString(_0x371ad8)?_0x371ad8:String(_0x371ad8);}__name(ensureString,'ensureString');function ensureNumber(_0x3ce0df){if(isNumber(_0x3ce0df))return _0x3ce0df;else {if(isString(_0x3ce0df))return parseFloat(_0x3ce0df);else return NaN;}}__name(ensureNumber,'ensureNumber');function ensureObjectArray(_0x3ba1fa){if(Array['isArray'](_0x3ba1fa)&&_0x3ba1fa['length']>0x104e+-0x23a4+0x1356&&isObject(_0x3ba1fa[0x1d18+0x44c+-0x10b2*0x2])){const _0x316e07=[];for(const _0x4bc5d4 of _0x3ba1fa){if(isObject(_0x4bc5d4))_0x316e07['push'](_0x4bc5d4);}return _0x316e07;}return [];}__name(ensureObjectArray,'ensureObjectArray');function ensureWithIndexer(_0x5a9c17){let _0xd70201={};return isWithIndexer(_0x5a9c17)&&(_0xd70201=_0x5a9c17),_0xd70201;}__name(ensureWithIndexer,'ensureWithIndexer');function ensureWithIndexerArray(_0x273f2f){if(Array['isArray'](_0x273f2f))return _0x273f2f['filter'](isWithIndexer);if(isWithIndexer(_0x273f2f))return [_0x273f2f];return [];}__name(ensureWithIndexerArray,'ensureWithIndexerArray');const types={'object':'object','string':'string','number':'number'};const stripeConflictResponseProperties={'detail':'detail'};function isObject(_0x2c0799){return typeof _0x2c0799===types['object']&&_0x2c0799!==null;}__name(isObject,'isObject');function isString(_0x54434c){return typeof _0x54434c===types['string'];}__name(isString,'isString');function isNumber(_0x147071){return typeof _0x147071===types['number'];}__name(isNumber,'isNumber');function isError(_0x5e5857){return typeof _0x5e5857===types['object'];}__name(isError,'isError');function isKeyof(_0x23e38d,_0xb9b670){return isObject(_0x23e38d)&&_0xb9b670 in _0x23e38d;}__name(isKeyof,'isKeyof');function isWithIndexer(_0x2b8142){return isObject(_0x2b8142)&&!Array['isArray'](_0x2b8142);}__name(isWithIndexer,'isWithIndexer');function isArray(_0x494ac0){return isObject(_0x494ac0)&&Array['isArray'](_0x494ac0);}__name(isArray,'isArray');function isErrorResponseWithDetail(_0x3c47c9){return isObject(_0x3c47c9)&&stripeConflictResponseProperties['detail']in _0x3c47c9;}__name(isErrorResponseWithDetail,'isErrorResponseWithDetail');function isBoolean(_0x4073ba){return typeof _0x4073ba==='boolean';}__name(isBoolean,'isBoolean');function isDate(_0x45ffdc){return _0x45ffdc instanceof Date;}__name(isDate,'isDate');
|
|
5
5
|
|
|
6
6
|
exports.ensureNumber = ensureNumber;
|
|
7
7
|
exports.ensureObjectArray = ensureObjectArray;
|
|
@@ -10,6 +10,7 @@ exports.ensureWithIndexer = ensureWithIndexer;
|
|
|
10
10
|
exports.ensureWithIndexerArray = ensureWithIndexerArray;
|
|
11
11
|
exports.isArray = isArray;
|
|
12
12
|
exports.isBoolean = isBoolean;
|
|
13
|
+
exports.isDate = isDate;
|
|
13
14
|
exports.isError = isError;
|
|
14
15
|
exports.isErrorResponseWithDetail = isErrorResponseWithDetail;
|
|
15
16
|
exports.isKeyof = isKeyof;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var __defProp=Object['defineProperty'],__name=(
|
|
2
|
+
var __defProp=Object['defineProperty'],__name=(_0x27a31b,_0x418eb4)=>__defProp(_0x27a31b,'name',{'value':_0x418eb4,'configurable':!![]});function ensureString(_0x371ad8){return isString(_0x371ad8)?_0x371ad8:String(_0x371ad8);}__name(ensureString,'ensureString');function ensureNumber(_0x3ce0df){if(isNumber(_0x3ce0df))return _0x3ce0df;else {if(isString(_0x3ce0df))return parseFloat(_0x3ce0df);else return NaN;}}__name(ensureNumber,'ensureNumber');function ensureObjectArray(_0x3ba1fa){if(Array['isArray'](_0x3ba1fa)&&_0x3ba1fa['length']>0x104e+-0x23a4+0x1356&&isObject(_0x3ba1fa[0x1d18+0x44c+-0x10b2*0x2])){const _0x316e07=[];for(const _0x4bc5d4 of _0x3ba1fa){if(isObject(_0x4bc5d4))_0x316e07['push'](_0x4bc5d4);}return _0x316e07;}return [];}__name(ensureObjectArray,'ensureObjectArray');function ensureWithIndexer(_0x5a9c17){let _0xd70201={};return isWithIndexer(_0x5a9c17)&&(_0xd70201=_0x5a9c17),_0xd70201;}__name(ensureWithIndexer,'ensureWithIndexer');function ensureWithIndexerArray(_0x273f2f){if(Array['isArray'](_0x273f2f))return _0x273f2f['filter'](isWithIndexer);if(isWithIndexer(_0x273f2f))return [_0x273f2f];return [];}__name(ensureWithIndexerArray,'ensureWithIndexerArray');const types={'object':'object','string':'string','number':'number'};const stripeConflictResponseProperties={'detail':'detail'};function isObject(_0x2c0799){return typeof _0x2c0799===types['object']&&_0x2c0799!==null;}__name(isObject,'isObject');function isString(_0x54434c){return typeof _0x54434c===types['string'];}__name(isString,'isString');function isNumber(_0x147071){return typeof _0x147071===types['number'];}__name(isNumber,'isNumber');function isError(_0x5e5857){return typeof _0x5e5857===types['object'];}__name(isError,'isError');function isKeyof(_0x23e38d,_0xb9b670){return isObject(_0x23e38d)&&_0xb9b670 in _0x23e38d;}__name(isKeyof,'isKeyof');function isWithIndexer(_0x2b8142){return isObject(_0x2b8142)&&!Array['isArray'](_0x2b8142);}__name(isWithIndexer,'isWithIndexer');function isArray(_0x494ac0){return isObject(_0x494ac0)&&Array['isArray'](_0x494ac0);}__name(isArray,'isArray');function isErrorResponseWithDetail(_0x3c47c9){return isObject(_0x3c47c9)&&stripeConflictResponseProperties['detail']in _0x3c47c9;}__name(isErrorResponseWithDetail,'isErrorResponseWithDetail');function isBoolean(_0x4073ba){return typeof _0x4073ba==='boolean';}__name(isBoolean,'isBoolean');function isDate(_0x45ffdc){return _0x45ffdc instanceof Date;}__name(isDate,'isDate');
|
|
3
3
|
|
|
4
|
-
export { ensureNumber, ensureObjectArray, ensureString, ensureWithIndexer, ensureWithIndexerArray, isArray, isBoolean, isError, isErrorResponseWithDetail, isKeyof, isNumber, isObject, isString, isWithIndexer, stripeConflictResponseProperties, types };
|
|
4
|
+
export { ensureNumber, ensureObjectArray, ensureString, ensureWithIndexer, ensureWithIndexerArray, isArray, isBoolean, isDate, isError, isErrorResponseWithDetail, isKeyof, isNumber, isObject, isString, isWithIndexer, stripeConflictResponseProperties, types };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var __defProp=Object['defineProperty'],__name=(
|
|
4
|
+
var __defProp=Object['defineProperty'],__name=(_0x9f8462,_0x2ca881)=>__defProp(_0x9f8462,'name',{'value':_0x2ca881,'configurable':!![]});const nameOf=__name(_0xc26183=>_0xc26183['toString'](),'nameOf');const deepNameOf=__name((_0x184142,_0x836fd3)=>_0x184142+'.'+_0x836fd3,'deepNameOf');const nameOfWithType=__name(_0xdd1ea5=>_0xdd1ea5,'nameOfWithType');
|
|
5
5
|
|
|
6
6
|
exports.deepNameOf = deepNameOf;
|
|
7
7
|
exports.nameOf = nameOf;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var __defProp=Object['defineProperty'],__name=(
|
|
2
|
+
var __defProp=Object['defineProperty'],__name=(_0x9f8462,_0x2ca881)=>__defProp(_0x9f8462,'name',{'value':_0x2ca881,'configurable':!![]});const nameOf=__name(_0xc26183=>_0xc26183['toString'](),'nameOf');const deepNameOf=__name((_0x184142,_0x836fd3)=>_0x184142+'.'+_0x836fd3,'deepNameOf');const nameOfWithType=__name(_0xdd1ea5=>_0xdd1ea5,'nameOfWithType');
|
|
3
3
|
|
|
4
4
|
export { deepNameOf, nameOf, nameOfWithType };
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
var nameOf = require('../core/name-of.cjs.js');
|
|
5
5
|
|
|
6
|
-
var __defProp=Object['defineProperty'],__name=(
|
|
6
|
+
var __defProp=Object['defineProperty'],__name=(_0x2c85d2,_0x7b702b)=>__defProp(_0x2c85d2,'name',{'value':_0x7b702b,'configurable':!![]});const withIdProps={'id':nameOf.nameOf('id')};function isResourceWithId(_0x291e58){return _0x291e58&&typeof _0x291e58==='object'&&typeof _0x291e58['id']==='string';}__name(isResourceWithId,'isResourceWithId');
|
|
7
7
|
|
|
8
8
|
exports.isResourceWithId = isResourceWithId;
|
|
9
9
|
exports.withIdProps = withIdProps;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
import { nameOf } from '../core/name-of.js';
|
|
3
3
|
|
|
4
|
-
var __defProp=Object['defineProperty'],__name=(
|
|
4
|
+
var __defProp=Object['defineProperty'],__name=(_0x2c85d2,_0x7b702b)=>__defProp(_0x2c85d2,'name',{'value':_0x7b702b,'configurable':!![]});const withIdProps={'id':nameOf('id')};function isResourceWithId(_0x291e58){return _0x291e58&&typeof _0x291e58==='object'&&typeof _0x291e58['id']==='string';}__name(isResourceWithId,'isResourceWithId');
|
|
5
5
|
|
|
6
6
|
export { isResourceWithId, withIdProps };
|
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
var commander = require('commander');
|
|
6
6
|
var create = require('../create/bin/create.cjs.js');
|
|
7
7
|
|
|
8
|
-
'use strict';const program=new commander.Command();program['command']('create\x20<folder>')['option']('-r,\x20--repo','Enable\x20repo\x20mode')['description']('Create\x20a\x20new\x20SaaS\x20Kit\x20project')['action']((
|
|
8
|
+
'use strict';const program=new commander.Command();program['command']('create\x20<folder>')['option']('-r,\x20--repo','Enable\x20repo\x20mode')['description']('Create\x20a\x20new\x20SaaS\x20Kit\x20project')['action']((_0x435028,_0x133a7a)=>{const _0x504609=[_0x435028];if(_0x133a7a['repo'])_0x504609['push']('-r');create.create(_0x504609);}),program['parse'](process['argv']);
|
package/level2/cli/bin/index.js
CHANGED
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
import { Command } from 'commander';
|
|
4
4
|
import { create } from '../create/bin/create.js';
|
|
5
5
|
|
|
6
|
-
'use strict';const program=new Command();program['command']('create\x20<folder>')['option']('-r,\x20--repo','Enable\x20repo\x20mode')['description']('Create\x20a\x20new\x20SaaS\x20Kit\x20project')['action']((
|
|
6
|
+
'use strict';const program=new Command();program['command']('create\x20<folder>')['option']('-r,\x20--repo','Enable\x20repo\x20mode')['description']('Create\x20a\x20new\x20SaaS\x20Kit\x20project')['action']((_0x435028,_0x133a7a)=>{const _0x504609=[_0x435028];if(_0x133a7a['repo'])_0x504609['push']('-r');create(_0x504609);}),program['parse'](process['argv']);
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
var child_process = require('child_process');
|
|
5
5
|
var fs = require('fs');
|
|
6
6
|
var node_url = require('node:url');
|
|
7
|
-
var
|
|
8
|
-
var
|
|
7
|
+
var _0x1aa6b6 = require('path');
|
|
8
|
+
var _0x41fbd6 = require('node:fs');
|
|
9
9
|
var createAppConstants = require('../../../../base-repo/constants/create-app-constants.cjs.js');
|
|
10
10
|
var loggers = require('../../../../fd-toolbox/logging/loggers.cjs.js');
|
|
11
11
|
var constants = require('../../../../fd-toolbox/constants/constants.cjs.js');
|
|
@@ -35,8 +35,8 @@ function _interopNamespaceDefault(e) {
|
|
|
35
35
|
return Object.freeze(n);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
var
|
|
38
|
+
var _0x1aa6b6__namespace = /*#__PURE__*/_interopNamespaceDefault(_0x1aa6b6);
|
|
39
39
|
|
|
40
|
-
var __defProp=Object['defineProperty'],__name=(_0x486649,_0x35498d)=>__defProp(_0x486649,'name',{'value':_0x35498d,'configurable':!![]});const requiredNodeVersion='v20.0.0';process['version']<requiredNodeVersion&&(loggers.logStringError('Node.js\x20'+requiredNodeVersion+'+\x20is\x20required'),process['exit'](0xdf*0x4+-0x9d3+0x658));const filename=node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('level2/cli/create/bin/create.cjs.js', document.baseURI).href))),sourceDir='../../../../',binDir=_0x3a74e9__namespace['dirname'](filename),repoRoot=_0x3a74e9__namespace['resolve'](binDir,sourceDir),envLocalPath=_0x3a74e9__namespace['join'](binDir,''+sourceDir+projectPaths.folders['cli']+_0x3a74e9__namespace['sep']+projectPaths.files['envExample']),envTemplate=_0x473e78['readFileSync'](envLocalPath,'utf8'),foldersToIgnore=[''+projectPaths.folders['cli']+_0x3a74e9__namespace['sep']+projectPaths.folders['constants'],''+projectPaths.folders['cli']+_0x3a74e9__namespace['sep']+projectPaths.files['packageTemplate'],''+projectPaths.folders['cli']+_0x3a74e9__namespace['sep']+projectPaths.files['envExample'],''+projectPaths.folders['cli']+_0x3a74e9__namespace['sep']+projectPaths.folders['bin'],''+projectPaths.folders['cli']+_0x3a74e9__namespace['sep']+projectPaths.folders['configs']];function runCommand(_0xa611b,_0x3daaf8){loggers.logInfoRaw('Executing:\x20'+_0xa611b);try{child_process.execSync(_0xa611b,{'stdio':'inherit','cwd':_0x3daaf8??process['cwd']()});}catch(_0x208fed){const _0xefad39=_0x208fed instanceof Error?_0x208fed['message']:'Unknown\x20error';loggers.logStringError('Error\x20executing:\x20'+_0xa611b),loggers.logStringError(_0xefad39),process['exit'](0xec1+0x16a0+-0x2560);}}__name(runCommand,'runCommand');function checkTargetFolder(_0x5f3c8a){fs.existsSync(_0x5f3c8a)&&(loggers.logStringError('Error:\x20Folder\x20\x22'+_0x3a74e9__namespace['basename'](_0x5f3c8a)+'\x22\x20already\x20exists.'),process['exit'](0x1*0xbc6+-0x731*-0x5+-0x2fba));}__name(checkTargetFolder,'checkTargetFolder');function getCreateNextAppVersion(){const _0x11a5f2=_0x3a74e9__namespace['resolve'](repoRoot,projectPaths.files['packageJson']),_0x51436c=JSON['parse'](_0x473e78['readFileSync'](_0x11a5f2,'utf-8'));return String(_0x51436c['devDependencies']?.['next']??_0x51436c['dependencies']?.['next']??'latest');}__name(getCreateNextAppVersion,'getCreateNextAppVersion');function createNextProject(_0x228e04,_0x2002fa){loggers.logInfoRaw('Creating\x20Next.js\x20project...');const _0x11fc98=getCreateNextAppVersion(),_0x3cf7fb=['npx\x20--yes\x20create-next-app@'+_0x11fc98+'\x20\x22'+_0x228e04+'\x22','--typescript','--tailwind','--eslint','--app','--src-dir','--turbopack','--no-import-alias','--no-git','--react-compiler']['join']('\x20');runCommand(_0x3cf7fb,_0x3a74e9__namespace['dirname'](_0x2002fa)),loggers.logInfoRaw('Next.js\x20project\x20created!');const _0x152673=_0x3a74e9__namespace['join'](_0x2002fa,'next.config.ts');_0x473e78['existsSync'](_0x152673)&&(_0x473e78['rmSync'](_0x152673),loggers.logInfoRaw('Removed\x20default\x20next.config.ts'));}__name(createNextProject,'createNextProject');async function createEnvFile(_0x1768a0){loggers.logInfoRaw('Creating\x20'+projectPaths.files['env']+'\x20file\x20with\x20default\x20values...');const _0x52ebb7=_0x3a74e9__namespace['join'](_0x1768a0,projectPaths.files['env']);try{await fs.promises['writeFile'](_0x52ebb7,envTemplate,'utf8'),loggers.logInfoRaw(projectPaths.files['env']+'\x20file\x20created\x20with\x20values!');}catch(_0xc7473e){const _0x151ce8=_0xc7473e instanceof Error?_0xc7473e['message']:'Unknown\x20error';loggers.logStringError('Error\x20creating\x20'+projectPaths.files['env']+'\x20file:'),loggers.logStringError(_0x151ce8);throw _0xc7473e;}}__name(createEnvFile,'createEnvFile');async function overridePackageJson(_0x3c2987){const _0xd6b6d1=_0x3a74e9__namespace['join'](_0x3c2987,projectPaths.files['packageJson']),_0x5cb9a8=_0x3a74e9__namespace['join'](repoRoot,''+projectPaths.folders['cli']+_0x3a74e9__namespace['sep']+projectPaths.files['packageTemplate']);try{const _0x206f51=JSON['parse'](await fs.promises['readFile'](_0xd6b6d1,'utf8')),_0x4b04fe=_0x206f51['name'],_0x5f494d=JSON['parse'](await fs.promises['readFile'](_0x5cb9a8,'utf8')),_0xb4b75f={..._0x5f494d,'name':_0x4b04fe};await fs.promises['writeFile'](_0xd6b6d1,JSON['stringify'](_0xb4b75f,null,-0x19fa+0xc34*-0x1+0x10*0x263)+'\x0a','utf8');}catch(_0x1affb9){const _0x24229d=_0x1affb9 instanceof Error?_0x1affb9['message']:'Unknown\x20error';loggers.logStringError('Error\x20overriding\x20'+projectPaths.files['packageJson']+':'),loggers.logStringError(_0x24229d);throw _0x1affb9;}}__name(overridePackageJson,'overridePackageJson');function replaceImports(_0x4178f7){const _0x25649d=/(import\s+)([^'"]+)(\s+from\s+["'])([^"']+)(["'])/g;return _0x4178f7['replace'](_0x25649d,(_0x5c5d84,_0x4fb83e,_0x4f4f48,_0x29b01f,_0x4e92cd,_0x1013ab)=>{if(!_0x4e92cd['startsWith'](aliases.aliasSymbols['atSign'])||_0x4e92cd['startsWith'](packages.npmPackages['saasKit']))return _0x5c5d84;let _0x4cc02f;_0x4e92cd['startsWith'](aliases.aliasSymbols['atSign']+projectPaths.folders['server'])||_0x4e92cd['includes'](''+projectPaths.projectPaths['server'])?_0x4cc02f=packages.npmPackages['saasKitServer']:_0x4cc02f=packages.npmPackages['saasKit'];let _0x3a122a=_0x4f4f48['trim']();const _0x5e1150=/^type\b/['test'](_0x3a122a),_0x329618=/^\*\s+as\s+/['test'](_0x3a122a);return !_0x5e1150&&!_0x329618&&!_0x3a122a['startsWith']('{')&&(_0x3a122a='{\x20'+_0x3a122a+'\x20}'),''+_0x4fb83e+_0x3a122a+_0x29b01f+_0x4cc02f+_0x1013ab;});}__name(replaceImports,'replaceImports');async function copyProjectFiles(_0x4dae3d){loggers.logInfoRaw('Copying\x20'+constants.projectName+'\x20files...');for(const _0x41a56e of path.allFilesToCopy){const _0x44b6b1=''+projectPaths.folders['cli']+_0x3a74e9__namespace['sep']+_0x41a56e,_0x3cda46=_0x3a74e9__namespace['join'](repoRoot,_0x44b6b1),_0x1b5a82=replaceToolsFolder(_0x41a56e),_0x4ee457=_0x3a74e9__namespace['join'](_0x4dae3d,_0x1b5a82);if(fs.existsSync(_0x3cda46)){const _0x485e0b=await fs.promises['stat'](_0x3cda46);_0x485e0b['isDirectory']()?await copyDirectoryContents(_0x3cda46,_0x4ee457):await copyAndProcessFile(_0x3cda46,_0x4ee457);}else loggers.logInfoRaw('Source\x20file\x20not\x20found:\x20'+_0x44b6b1);}loggers.logInfoRaw('Files\x20copied\x20and\x20imports\x20updated!');}__name(copyProjectFiles,'copyProjectFiles');function replaceToolsFolder(_0x51bd0a){let _0x4f3379=_0x51bd0a;for(const [_0x23d218,_0x30628b]of Object['entries'](createAppConstants.toolsFoldersToReplace)){if(_0x4f3379['startsWith'](_0x23d218)&&ensureType.isWithIndexer(_0x30628b)){const _0x9e78e=_0x30628b;for(const _0x45df5c in _0x9e78e){const _0xb54d2b=_0x9e78e[_0x45df5c];ensureType.isString(_0xb54d2b)&&(_0x4f3379=_0x4f3379['replace'](_0x45df5c,_0xb54d2b));}break;}}return _0x4f3379;}__name(replaceToolsFolder,'replaceToolsFolder');function shouldIgnorePath(_0x13c424,_0x439d20,_0x15cd30=![]){const _0x3dac2e=_0x3a74e9__namespace['relative'](repoRoot,_0x13c424)['replace'](/\\/g,'/'),_0x4d3f92=foldersToIgnore['map'](_0x47ad6b=>_0x47ad6b['replace'](/\\/g,'/'));if(_0x4d3f92['includes'](_0x3dac2e))return !![];if(_0x15cd30){const _0x4207e9=_0x3a74e9__namespace['relative'](_0x439d20,_0x13c424)['replace'](/\\/g,'/'),_0x5cfe90=_0x4207e9['split']('/');return _0x4d3f92['some'](_0x3c6c10=>_0x5cfe90['some'](_0x431025=>_0x431025===_0x3c6c10));}return ![];}__name(shouldIgnorePath,'shouldIgnorePath');async function copyDirectoryContents(_0x5e9645,_0x41fe22){!fs.existsSync(_0x41fe22)&&fs.mkdirSync(_0x41fe22,{'recursive':!![]});try{const _0x5841e3=await fs.promises['readdir'](_0x5e9645,{'withFileTypes':!![]});for(const _0x4c8715 of _0x5841e3){const _0x28a630=_0x3a74e9__namespace['join'](_0x5e9645,_0x4c8715['name']),_0x29595d=_0x3a74e9__namespace['join'](_0x41fe22,_0x4c8715['name']);!shouldIgnorePath(_0x28a630,_0x5e9645,_0x4c8715['isDirectory']())&&(_0x4c8715['isDirectory']()?await copyDirectoryContents(_0x28a630,_0x29595d):await copyAndProcessFile(_0x28a630,_0x29595d));}}catch(_0x3f61d6){const _0x177a4f=_0x3f61d6 instanceof Error?_0x3f61d6['message']:'Unknown\x20error';loggers.logStringError('Error\x20reading\x20directory\x20'+_0x5e9645+':\x20'+_0x177a4f);throw _0x3f61d6;}}__name(copyDirectoryContents,'copyDirectoryContents');async function copyAndProcessFile(_0x27e4bd,_0x4d08f7){const _0x4b6e7d=_0x3a74e9__namespace['dirname'](_0x4d08f7);!fs.existsSync(_0x4b6e7d)&&fs.mkdirSync(_0x4b6e7d,{'recursive':!![]});const _0x2610cd=await fs.promises['stat'](_0x27e4bd);if(_0x2610cd['isDirectory']())await copyDirectoryContents(_0x27e4bd,_0x4d08f7);else {const _0x3f078c=_0x3a74e9__namespace['extname'](_0x27e4bd)['toLowerCase'](),_0x3db05d=['.ico','.png','.jpg','.jpeg','.webp','.gif','.svg','.pdf'];if(_0x3db05d['includes'](_0x3f078c)){await fs.promises['copyFile'](_0x27e4bd,_0x4d08f7);return;}const _0x2450ef=await fs.promises['readFile'](_0x27e4bd,'utf8'),_0x57943e=replaceImports(_0x2450ef);await fs.promises['writeFile'](_0x4d08f7,_0x57943e,'utf8');}}__name(copyAndProcessFile,'copyAndProcessFile');function createAdditionalFolders(_0x56b756){for(const _0x2ee4b3 of createAppConstants.additionalFoldersToCreate){const _0x228e07=_0x3a74e9__namespace['join'](_0x56b756,_0x2ee4b3);!fs.existsSync(_0x228e07)&&(fs.mkdirSync(_0x228e07,{'recursive':!![]}),loggers.logInfoRaw('Created\x20folder:\x20'+_0x2ee4b3));}loggers.logInfoRaw('Additional\x20folders\x20created!');}__name(createAdditionalFolders,'createAdditionalFolders');async function setupPreCommitHooks(_0x1f6b79){const _0x5904e9=_0x3a74e9__namespace['join'](_0x1f6b79,projectPaths.folders['husky']),_0x121c55=_0x3a74e9__namespace['join'](_0x5904e9,projectPaths.files['preCommit']),_0x25dfe0=_0x3a74e9__namespace['join'](_0x5904e9,projectPaths.files['commitMsg']);fs.mkdirSync(_0x5904e9,{'recursive':!![]}),await fs.promises['writeFile'](_0x121c55,cliContents.cliScripts['preCommit'],'utf8'),await fs.promises['writeFile'](_0x25dfe0,cliContents.cliScripts['commitMsg'],'utf8'),runCommand(cliContents.cliScripts['chmodPreCommit'],_0x1f6b79),runCommand(cliContents.cliScripts['chmodCommitMsg'],_0x1f6b79);}__name(setupPreCommitHooks,'setupPreCommitHooks');async function setupEslintConfig(_0x561ec5){const _0x61944c=_0x3a74e9__namespace['join'](_0x561ec5,projectPaths.files['eslintConfigMjs']);fs.existsSync(_0x61944c)&&await fs.promises['rm'](_0x61944c);const _0x25e13e=_0x3a74e9__namespace['join'](_0x561ec5,projectPaths.files['eslintConfigJs']);await fs.promises['writeFile'](_0x25e13e,cliContents.cliEslintContent,'utf8');}__name(setupEslintConfig,'setupEslintConfig');async function enableRepoModeExtras(_0x5d12ac){loggers.logInfoRaw('Enabling\x20recommendation\x20mode\x20(-r)...'),runCommand(cliContents.cliScripts['gitInit'],_0x5d12ac),runCommand(cliContents.cliScripts['installDevHuskyTsx'],_0x5d12ac),runCommand(cliContents.cliScripts['setLint'],_0x5d12ac),runCommand(cliContents.cliScripts['installHusky'],_0x5d12ac),await setupPreCommitHooks(_0x5d12ac);}__name(enableRepoModeExtras,'enableRepoModeExtras');async function updateLayoutTitle(_0x4a83ef,_0x3d47c6){const _0x45dbe9=_0x3a74e9__namespace['join'](_0x4a83ef,''+projectPaths.projectPaths['app']+_0x3a74e9__namespace['sep']+projectPaths.files['layout']);if(!fs.existsSync(_0x45dbe9))throw errors.createError(projectPaths.files['layout']+'\x20not\x20found\x20at\x20'+_0x45dbe9+',\x20cannot\x20update\x20title.');let _0x5a8801=await fs.promises['readFile'](_0x45dbe9,'utf8');const _0x45b4d5=/"SaaS Kit"/g;if(!_0x45b4d5['test'](_0x5a8801))throw errors.createError('SaaS\x20Kit\x20not\x20found\x20in\x20'+projectPaths.files['layout']+',\x20cannot\x20update\x20title.');_0x5a8801=_0x5a8801['replace'](_0x45b4d5,'\x22'+_0x3d47c6+'\x22'),await fs.promises['writeFile'](_0x45dbe9,_0x5a8801,'utf8');}__name(updateLayoutTitle,'updateLayoutTitle');async function create(_0x408b51){try{_0x408b51['length']<-0x43*-0x54+0x5*0x459+-0x2bb8&&(loggers.logStringError('Error:\x20Specify\x20folder\x20name.\x20Example:\x20npx\x20create-saas-kit-app\x20<folder-name>'),process['exit'](0x2678+0xadf+0x34a*-0xf));const _0x1603dd=_0x408b51[-0x1*0xcdd+0x1e55+-0x1178],_0x11b72d=_0x408b51['includes']('-r'),_0x4ab865=_0x3a74e9__namespace['resolve'](process['cwd'](),_0x1603dd);loggers.logInfoRaw('\x0aCreating\x20'+constants.projectName+'\x20project\x20\x22'+_0x1603dd+'\x22...\x0a');try{checkTargetFolder(_0x4ab865),createNextProject(_0x1603dd,_0x4ab865),await copyProjectFiles(_0x4ab865),await overridePackageJson(_0x4ab865),createAdditionalFolders(_0x4ab865),await createEnvFile(_0x4ab865),await updateLayoutTitle(_0x4ab865,_0x1603dd),await setupEslintConfig(_0x4ab865),_0x11b72d&&await enableRepoModeExtras(_0x4ab865),loggers.logInfoRaw('\x0a'+constants.projectName+'\x20project\x20\x22'+_0x1603dd+'\x22\x20is\x20ready!'),loggers.logInfoRaw('Next\x20steps:'),loggers.logInfoRaw('\x20\x20cd\x20'+_0x1603dd),loggers.logInfoRaw('\x20\x20npm\x20run\x20prod'),loggers.logInfoRaw('\x20\x20npm\x20start');}catch(_0x297f2a){const _0x53c3da=_0x297f2a instanceof Error?_0x297f2a['message']:'Unknown\x20error';loggers.logStringError('Error:'),loggers.logStringError(_0x53c3da),fs.existsSync(_0x4ab865)&&(loggers.logInfoRaw('Cleaning\x20up...'),fs.rmSync(_0x4ab865,{'recursive':!![],'force':!![]})),process['exit'](-0x1c98+-0x13b9+-0x5*-0x9aa);}}catch(_0xdfbe37){const _0x2e3e80=_0xdfbe37 instanceof Error?_0xdfbe37['message']:'Unknown\x20error';loggers.logStringError('Unhandled\x20error:'),loggers.logStringError(_0x2e3e80),process['exit'](-0x20*0x12d+0xa*-0x36a+0x47c5);}}__name(create,'create');
|
|
40
|
+
var __defProp=Object['defineProperty'],__name=(_0x21468c,_0x37691d)=>__defProp(_0x21468c,'name',{'value':_0x37691d,'configurable':!![]});const requiredNodeVersion='v20.0.0';process['version']<requiredNodeVersion&&(loggers.logStringError('Node.js\x20'+requiredNodeVersion+'+\x20is\x20required'),process['exit'](0x1c5a+0x20d2+0x1*-0x3d2b));const filename=node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('level2/cli/create/bin/create.cjs.js', document.baseURI).href))),sourceDir='../../../../',binDir=_0x1aa6b6__namespace['dirname'](filename),repoRoot=_0x1aa6b6__namespace['resolve'](binDir,sourceDir),envLocalPath=_0x1aa6b6__namespace['join'](binDir,''+sourceDir+projectPaths.folders['cli']+'/'+projectPaths.files['envExample']),envTemplate=_0x41fbd6['readFileSync'](envLocalPath,'utf8'),foldersToIgnore=[projectPaths.folders['cli']+'/'+projectPaths.folders['constants'],projectPaths.folders['cli']+'/'+projectPaths.files['packageTemplate'],projectPaths.folders['cli']+'/'+projectPaths.files['envExample'],projectPaths.folders['cli']+'/'+projectPaths.folders['bin'],projectPaths.folders['cli']+'/'+projectPaths.folders['configs']];function runCommand(_0x278bc1,_0x21dbad){loggers.logInfoRaw('Executing:\x20'+_0x278bc1);try{child_process.execSync(_0x278bc1,{'stdio':'inherit','cwd':_0x21dbad??process['cwd']()});}catch(_0x349a38){const _0x36e922=_0x349a38 instanceof Error?_0x349a38['message']:'Unknown\x20error';loggers.logStringError('Error\x20executing:\x20'+_0x278bc1),loggers.logStringError(_0x36e922),process['exit'](0x224d*0x1+0xc9*-0x31+0x42d);}}__name(runCommand,'runCommand');function checkTargetFolder(_0x431f06){fs.existsSync(_0x431f06)&&(loggers.logStringError('Error:\x20Folder\x20\x22'+_0x1aa6b6__namespace['basename'](_0x431f06)+'\x22\x20already\x20exists.'),process['exit'](-0x6*0x431+-0x6d9+-0x4*-0x800));}__name(checkTargetFolder,'checkTargetFolder');function getCreateNextAppVersion(){const _0x3bc958=_0x1aa6b6__namespace['resolve'](repoRoot,projectPaths.files['packageJson']),_0x5e7c1e=JSON['parse'](_0x41fbd6['readFileSync'](_0x3bc958,'utf-8'));return String(_0x5e7c1e['devDependencies']?.['next']??_0x5e7c1e['dependencies']?.['next']??'latest');}__name(getCreateNextAppVersion,'getCreateNextAppVersion');function createNextProject(_0x166814,_0x46f83a){loggers.logInfoRaw('Creating\x20Next.js\x20project...');const _0x325f03=getCreateNextAppVersion(),_0x263720=['npx\x20--yes\x20create-next-app@'+_0x325f03+'\x20\x22'+_0x166814+'\x22','--typescript','--tailwind','--eslint','--app','--src-dir','--turbopack','--no-import-alias','--no-git','--react-compiler']['join']('\x20');runCommand(_0x263720,_0x1aa6b6__namespace['dirname'](_0x46f83a)),loggers.logInfoRaw('Next.js\x20project\x20created!');const _0xa441dd=_0x1aa6b6__namespace['join'](_0x46f83a,'next.config.ts');_0x41fbd6['existsSync'](_0xa441dd)&&(_0x41fbd6['rmSync'](_0xa441dd),loggers.logInfoRaw('Removed\x20default\x20next.config.ts'));}__name(createNextProject,'createNextProject');async function createEnvFile(_0x2dd8f7){loggers.logInfoRaw('Creating\x20'+projectPaths.files['env']+'\x20file\x20with\x20default\x20values...');const _0x30f0b0=_0x1aa6b6__namespace['join'](_0x2dd8f7,projectPaths.files['env']);try{await fs.promises['writeFile'](_0x30f0b0,envTemplate,'utf8'),loggers.logInfoRaw(projectPaths.files['env']+'\x20file\x20created\x20with\x20values!');}catch(_0x43ca1b){const _0x119b3a=_0x43ca1b instanceof Error?_0x43ca1b['message']:'Unknown\x20error';loggers.logStringError('Error\x20creating\x20'+projectPaths.files['env']+'\x20file:'),loggers.logStringError(_0x119b3a);throw _0x43ca1b;}}__name(createEnvFile,'createEnvFile');async function overridePackageJson(_0x5021e1){const _0x30a11d=_0x1aa6b6__namespace['join'](_0x5021e1,projectPaths.files['packageJson']),_0x939518=_0x1aa6b6__namespace['join'](repoRoot,projectPaths.folders['cli']+'/'+projectPaths.files['packageTemplate']);try{const _0x1e0aff=JSON['parse'](await fs.promises['readFile'](_0x30a11d,'utf8')),_0xb6793d=_0x1e0aff['name'],_0x511ba1=JSON['parse'](await fs.promises['readFile'](_0x939518,'utf8')),_0x14eb6c={..._0x511ba1,'name':_0xb6793d};await fs.promises['writeFile'](_0x30a11d,JSON['stringify'](_0x14eb6c,null,0x25*0xd7+-0xb4a+0x3d*-0x53)+'\x0a','utf8');}catch(_0x38b540){const _0x20ab3d=_0x38b540 instanceof Error?_0x38b540['message']:'Unknown\x20error';loggers.logStringError('Error\x20overriding\x20'+projectPaths.files['packageJson']+':'),loggers.logStringError(_0x20ab3d);throw _0x38b540;}}__name(overridePackageJson,'overridePackageJson');function replaceImports(_0x359a82){const _0x2b48fb=/(import\s+)([^'"]+)(\s+from\s+["'])([^"']+)(["'])/g;return _0x359a82['replace'](_0x2b48fb,(_0x3bc804,_0x818e8f,_0x9a9bdd,_0x281c8a,_0x242d27,_0x309071)=>{if(!_0x242d27['startsWith'](aliases.aliasSymbols['atSign'])||_0x242d27['startsWith'](packages.npmPackages['saasKit']))return _0x3bc804;let _0xeabf6e;_0x242d27['startsWith'](aliases.aliasSymbols['atSign']+projectPaths.folders['server'])||_0x242d27['includes'](''+projectPaths.nonRootProjectPaths['server'])?_0xeabf6e=packages.npmPackages['saasKitServer']:_0xeabf6e=packages.npmPackages['saasKit'];let _0x4d669e=_0x9a9bdd['trim']();const _0x36de59=/^type\b/['test'](_0x4d669e),_0x481343=/^\*\s+as\s+/['test'](_0x4d669e);return !_0x36de59&&!_0x481343&&!_0x4d669e['startsWith']('{')&&(_0x4d669e='{\x20'+_0x4d669e+'\x20}'),''+_0x818e8f+_0x4d669e+_0x281c8a+_0xeabf6e+_0x309071;});}__name(replaceImports,'replaceImports');async function copyProjectFiles(_0x338f70){loggers.logInfoRaw('Copying\x20'+constants.projectName+'\x20files...');for(const _0x4f1ecb of path.allFilesToCopy){const _0x191773=projectPaths.folders['cli']+'/'+_0x4f1ecb,_0x374858=_0x1aa6b6__namespace['join'](repoRoot,_0x191773),_0x47f44f=replaceToolsFolder(_0x4f1ecb),_0x5c544e=_0x1aa6b6__namespace['join'](_0x338f70,_0x47f44f);if(fs.existsSync(_0x374858)){const _0xc41733=await fs.promises['stat'](_0x374858);_0xc41733['isDirectory']()?await copyDirectoryContents(_0x374858,_0x5c544e):await copyAndProcessFile(_0x374858,_0x5c544e);}else loggers.logInfoRaw('Source\x20file\x20not\x20found:\x20'+_0x191773);}loggers.logInfoRaw('Files\x20copied\x20and\x20imports\x20updated!');}__name(copyProjectFiles,'copyProjectFiles');function replaceToolsFolder(_0x78e40d){let _0x184456=_0x78e40d;for(const [_0xeedbb2,_0x13fd8a]of Object['entries'](createAppConstants.toolsFoldersToReplace)){if(_0x184456['startsWith'](_0xeedbb2)&&ensureType.isWithIndexer(_0x13fd8a)){const _0x4165ab=_0x13fd8a;for(const _0x2ca6a8 in _0x4165ab){const _0x924dad=_0x4165ab[_0x2ca6a8];ensureType.isString(_0x924dad)&&(_0x184456=_0x184456['replace'](_0x2ca6a8,_0x924dad));}break;}}return _0x184456;}__name(replaceToolsFolder,'replaceToolsFolder');function shouldIgnorePath(_0x25cc0b,_0x1c11e1,_0x480b0e=![]){const _0x1eec06=_0x1aa6b6__namespace['relative'](repoRoot,_0x25cc0b)['replace'](/\\/g,'/'),_0x3fe5f9=foldersToIgnore['map'](_0x1cf4d6=>_0x1cf4d6['replace'](/\\/g,'/'));if(_0x3fe5f9['includes'](_0x1eec06))return !![];if(_0x480b0e){const _0x294d78=_0x1aa6b6__namespace['relative'](_0x1c11e1,_0x25cc0b)['replace'](/\\/g,'/'),_0x5535ab=_0x294d78['split']('/');return _0x3fe5f9['some'](_0x45ea6d=>_0x5535ab['some'](_0x118365=>_0x118365===_0x45ea6d));}return ![];}__name(shouldIgnorePath,'shouldIgnorePath');async function copyDirectoryContents(_0x4ebffa,_0x3b411a){!fs.existsSync(_0x3b411a)&&fs.mkdirSync(_0x3b411a,{'recursive':!![]});try{const _0x6a8efa=await fs.promises['readdir'](_0x4ebffa,{'withFileTypes':!![]});for(const _0x14d42d of _0x6a8efa){const _0x39f53f=_0x1aa6b6__namespace['join'](_0x4ebffa,_0x14d42d['name']),_0x5f2246=_0x1aa6b6__namespace['join'](_0x3b411a,_0x14d42d['name']);!shouldIgnorePath(_0x39f53f,_0x4ebffa,_0x14d42d['isDirectory']())&&(_0x14d42d['isDirectory']()?await copyDirectoryContents(_0x39f53f,_0x5f2246):await copyAndProcessFile(_0x39f53f,_0x5f2246));}}catch(_0x514b57){const _0x4a4a6f=_0x514b57 instanceof Error?_0x514b57['message']:'Unknown\x20error';loggers.logStringError('Error\x20reading\x20directory\x20'+_0x4ebffa+':\x20'+_0x4a4a6f);throw _0x514b57;}}__name(copyDirectoryContents,'copyDirectoryContents');async function copyAndProcessFile(_0x3beba5,_0x227e1f){const _0x1a242a=_0x1aa6b6__namespace['dirname'](_0x227e1f);!fs.existsSync(_0x1a242a)&&fs.mkdirSync(_0x1a242a,{'recursive':!![]});const _0x474f04=await fs.promises['stat'](_0x3beba5);if(_0x474f04['isDirectory']())await copyDirectoryContents(_0x3beba5,_0x227e1f);else {const _0x2fd189=_0x1aa6b6__namespace['extname'](_0x3beba5)['toLowerCase'](),_0x354504=['.ico','.png','.jpg','.jpeg','.webp','.gif','.svg','.pdf'];if(_0x354504['includes'](_0x2fd189)){await fs.promises['copyFile'](_0x3beba5,_0x227e1f);return;}const _0x3cae32=await fs.promises['readFile'](_0x3beba5,'utf8'),_0x2ff221=replaceImports(_0x3cae32);await fs.promises['writeFile'](_0x227e1f,_0x2ff221,'utf8');}}__name(copyAndProcessFile,'copyAndProcessFile');function createAdditionalFolders(_0xea7641){for(const _0x2cc837 of createAppConstants.additionalFoldersToCreate){const _0x3492ea=_0x1aa6b6__namespace['join'](_0xea7641,_0x2cc837);!fs.existsSync(_0x3492ea)&&(fs.mkdirSync(_0x3492ea,{'recursive':!![]}),loggers.logInfoRaw('Created\x20folder:\x20'+_0x2cc837));}loggers.logInfoRaw('Additional\x20folders\x20created!');}__name(createAdditionalFolders,'createAdditionalFolders');async function setupPreCommitHooks(_0x106140){const _0x5dfd6e=_0x1aa6b6__namespace['join'](_0x106140,projectPaths.folders['husky']),_0x3a8501=_0x1aa6b6__namespace['join'](_0x5dfd6e,projectPaths.files['preCommit']),_0x3dbaf5=_0x1aa6b6__namespace['join'](_0x5dfd6e,projectPaths.files['commitMsg']);fs.mkdirSync(_0x5dfd6e,{'recursive':!![]}),await fs.promises['writeFile'](_0x3a8501,cliContents.cliScripts['preCommit'],'utf8'),await fs.promises['writeFile'](_0x3dbaf5,cliContents.cliScripts['commitMsg'],'utf8'),runCommand(cliContents.cliScripts['chmodPreCommit'],_0x106140),runCommand(cliContents.cliScripts['chmodCommitMsg'],_0x106140);}__name(setupPreCommitHooks,'setupPreCommitHooks');async function setupEslintConfig(_0x3347d2){const _0x1353cd=_0x1aa6b6__namespace['join'](_0x3347d2,projectPaths.files['eslintConfigMjs']);fs.existsSync(_0x1353cd)&&await fs.promises['rm'](_0x1353cd);const _0x2bc0f4=_0x1aa6b6__namespace['join'](_0x3347d2,projectPaths.files['eslintConfigJs']);await fs.promises['writeFile'](_0x2bc0f4,cliContents.cliEslintContent,'utf8');}__name(setupEslintConfig,'setupEslintConfig');async function enableRepoModeExtras(_0x3ab588){loggers.logInfoRaw('Enabling\x20recommendation\x20mode\x20(-r)...'),runCommand(cliContents.cliScripts['gitInit'],_0x3ab588),runCommand(cliContents.cliScripts['installDevHuskyTsx'],_0x3ab588),runCommand(cliContents.cliScripts['setLint'],_0x3ab588),runCommand(cliContents.cliScripts['installHusky'],_0x3ab588),await setupPreCommitHooks(_0x3ab588);}__name(enableRepoModeExtras,'enableRepoModeExtras');async function updateLayoutTitle(_0x3aa01f,_0x4ca4fa){const _0x87a866=_0x1aa6b6__namespace['join'](_0x3aa01f,projectPaths.projectPaths['app']+'/'+projectPaths.files['layout']);if(!fs.existsSync(_0x87a866))throw errors.createError(projectPaths.files['layout']+'\x20not\x20found\x20at\x20'+_0x87a866+',\x20cannot\x20update\x20title.');let _0x305dcd=await fs.promises['readFile'](_0x87a866,'utf8');const _0x30e313=/"SaaS Kit"/g;if(!_0x30e313['test'](_0x305dcd))throw errors.createError('SaaS\x20Kit\x20not\x20found\x20in\x20'+projectPaths.files['layout']+',\x20cannot\x20update\x20title.');_0x305dcd=_0x305dcd['replace'](_0x30e313,'\x22'+_0x4ca4fa+'\x22'),await fs.promises['writeFile'](_0x87a866,_0x305dcd,'utf8');}__name(updateLayoutTitle,'updateLayoutTitle');async function create(_0x58bf12){try{_0x58bf12['length']<0x26d0+0x142a+-0x3af9*0x1&&(loggers.logStringError('Error:\x20Specify\x20folder\x20name.\x20Example:\x20npx\x20create-saas-kit-app\x20<folder-name>'),process['exit'](0x33*-0x27+0x4c0*0x4+0x1*-0xb3a));const _0x2a606f=_0x58bf12[-0x1974+-0x137c+0x2cf0],_0x5c4aad=_0x58bf12['includes']('-r'),_0x20a0a6=_0x1aa6b6__namespace['resolve'](process['cwd'](),_0x2a606f);loggers.logInfoRaw('\x0aCreating\x20'+constants.projectName+'\x20project\x20\x22'+_0x2a606f+'\x22...\x0a');try{checkTargetFolder(_0x20a0a6),createNextProject(_0x2a606f,_0x20a0a6),await copyProjectFiles(_0x20a0a6),await overridePackageJson(_0x20a0a6),createAdditionalFolders(_0x20a0a6),await createEnvFile(_0x20a0a6),await updateLayoutTitle(_0x20a0a6,_0x2a606f),await setupEslintConfig(_0x20a0a6),_0x5c4aad&&await enableRepoModeExtras(_0x20a0a6),loggers.logInfoRaw('\x0a'+constants.projectName+'\x20project\x20\x22'+_0x2a606f+'\x22\x20is\x20ready!'),loggers.logInfoRaw('Next\x20steps:'),loggers.logInfoRaw('\x20\x20cd\x20'+_0x2a606f),loggers.logInfoRaw('\x20\x20npm\x20run\x20prod'),loggers.logInfoRaw('\x20\x20npm\x20start');}catch(_0x4aa1b5){const _0x2ebde0=_0x4aa1b5 instanceof Error?_0x4aa1b5['message']:'Unknown\x20error';loggers.logStringError('Error:'),loggers.logStringError(_0x2ebde0),fs.existsSync(_0x20a0a6)&&(loggers.logInfoRaw('Cleaning\x20up...'),fs.rmSync(_0x20a0a6,{'recursive':!![],'force':!![]})),process['exit'](-0x13c5+0x1896*-0x1+0x14e*0x22);}}catch(_0x33ca2e){const _0x35af1c=_0x33ca2e instanceof Error?_0x33ca2e['message']:'Unknown\x20error';loggers.logStringError('Unhandled\x20error:'),loggers.logStringError(_0x35af1c),process['exit'](-0x135a+0x1+0x135a);}}__name(create,'create');
|
|
41
41
|
|
|
42
42
|
exports.create = create;
|
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
import { execSync } from 'child_process';
|
|
3
3
|
import { existsSync, promises, mkdirSync, rmSync } from 'fs';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
|
-
import * as
|
|
6
|
-
import
|
|
5
|
+
import * as _0x1aa6b6 from 'path';
|
|
6
|
+
import _0x41fbd6 from 'node:fs';
|
|
7
7
|
import { toolsFoldersToReplace, additionalFoldersToCreate } from '../../../../base-repo/constants/create-app-constants.js';
|
|
8
8
|
import { logStringError, logInfoRaw } from '../../../../fd-toolbox/logging/loggers.js';
|
|
9
9
|
import { projectName } from '../../../../fd-toolbox/constants/constants.js';
|
|
10
10
|
import { allFilesToCopy } from '../../../npm-commands/build-npm/path.js';
|
|
11
11
|
import { createError } from '../../../../fd-toolbox/errors/errors.js';
|
|
12
|
-
import { folders, files, projectPaths } from '../../../../base-repo/app-constants/project-paths.js';
|
|
12
|
+
import { folders, files, nonRootProjectPaths, projectPaths } from '../../../../base-repo/app-constants/project-paths.js';
|
|
13
13
|
import { npmPackages } from '../../../../base-repo/constants/packages.js';
|
|
14
14
|
import { aliasSymbols } from '../../../../base-repo/app-constants/aliases.js';
|
|
15
15
|
import { isWithIndexer, isString } from '../../../../fd-toolbox/types/ensure-type.js';
|
|
16
16
|
import { cliScripts, cliEslintContent } from '../../../npm-commands/build-npm/cli-contents.js';
|
|
17
17
|
|
|
18
|
-
var __defProp=Object['defineProperty'],__name=(_0x486649,_0x35498d)=>__defProp(_0x486649,'name',{'value':_0x35498d,'configurable':!![]});const requiredNodeVersion='v20.0.0';process['version']<requiredNodeVersion&&(logStringError('Node.js\x20'+requiredNodeVersion+'+\x20is\x20required'),process['exit'](0xdf*0x4+-0x9d3+0x658));const filename=fileURLToPath(import.meta['url']),sourceDir='../../../../',binDir=_0x3a74e9['dirname'](filename),repoRoot=_0x3a74e9['resolve'](binDir,sourceDir),envLocalPath=_0x3a74e9['join'](binDir,''+sourceDir+folders['cli']+_0x3a74e9['sep']+files['envExample']),envTemplate=_0x473e78['readFileSync'](envLocalPath,'utf8'),foldersToIgnore=[''+folders['cli']+_0x3a74e9['sep']+folders['constants'],''+folders['cli']+_0x3a74e9['sep']+files['packageTemplate'],''+folders['cli']+_0x3a74e9['sep']+files['envExample'],''+folders['cli']+_0x3a74e9['sep']+folders['bin'],''+folders['cli']+_0x3a74e9['sep']+folders['configs']];function runCommand(_0xa611b,_0x3daaf8){logInfoRaw('Executing:\x20'+_0xa611b);try{execSync(_0xa611b,{'stdio':'inherit','cwd':_0x3daaf8??process['cwd']()});}catch(_0x208fed){const _0xefad39=_0x208fed instanceof Error?_0x208fed['message']:'Unknown\x20error';logStringError('Error\x20executing:\x20'+_0xa611b),logStringError(_0xefad39),process['exit'](0xec1+0x16a0+-0x2560);}}__name(runCommand,'runCommand');function checkTargetFolder(_0x5f3c8a){existsSync(_0x5f3c8a)&&(logStringError('Error:\x20Folder\x20\x22'+_0x3a74e9['basename'](_0x5f3c8a)+'\x22\x20already\x20exists.'),process['exit'](0x1*0xbc6+-0x731*-0x5+-0x2fba));}__name(checkTargetFolder,'checkTargetFolder');function getCreateNextAppVersion(){const _0x11a5f2=_0x3a74e9['resolve'](repoRoot,files['packageJson']),_0x51436c=JSON['parse'](_0x473e78['readFileSync'](_0x11a5f2,'utf-8'));return String(_0x51436c['devDependencies']?.['next']??_0x51436c['dependencies']?.['next']??'latest');}__name(getCreateNextAppVersion,'getCreateNextAppVersion');function createNextProject(_0x228e04,_0x2002fa){logInfoRaw('Creating\x20Next.js\x20project...');const _0x11fc98=getCreateNextAppVersion(),_0x3cf7fb=['npx\x20--yes\x20create-next-app@'+_0x11fc98+'\x20\x22'+_0x228e04+'\x22','--typescript','--tailwind','--eslint','--app','--src-dir','--turbopack','--no-import-alias','--no-git','--react-compiler']['join']('\x20');runCommand(_0x3cf7fb,_0x3a74e9['dirname'](_0x2002fa)),logInfoRaw('Next.js\x20project\x20created!');const _0x152673=_0x3a74e9['join'](_0x2002fa,'next.config.ts');_0x473e78['existsSync'](_0x152673)&&(_0x473e78['rmSync'](_0x152673),logInfoRaw('Removed\x20default\x20next.config.ts'));}__name(createNextProject,'createNextProject');async function createEnvFile(_0x1768a0){logInfoRaw('Creating\x20'+files['env']+'\x20file\x20with\x20default\x20values...');const _0x52ebb7=_0x3a74e9['join'](_0x1768a0,files['env']);try{await promises['writeFile'](_0x52ebb7,envTemplate,'utf8'),logInfoRaw(files['env']+'\x20file\x20created\x20with\x20values!');}catch(_0xc7473e){const _0x151ce8=_0xc7473e instanceof Error?_0xc7473e['message']:'Unknown\x20error';logStringError('Error\x20creating\x20'+files['env']+'\x20file:'),logStringError(_0x151ce8);throw _0xc7473e;}}__name(createEnvFile,'createEnvFile');async function overridePackageJson(_0x3c2987){const _0xd6b6d1=_0x3a74e9['join'](_0x3c2987,files['packageJson']),_0x5cb9a8=_0x3a74e9['join'](repoRoot,''+folders['cli']+_0x3a74e9['sep']+files['packageTemplate']);try{const _0x206f51=JSON['parse'](await promises['readFile'](_0xd6b6d1,'utf8')),_0x4b04fe=_0x206f51['name'],_0x5f494d=JSON['parse'](await promises['readFile'](_0x5cb9a8,'utf8')),_0xb4b75f={..._0x5f494d,'name':_0x4b04fe};await promises['writeFile'](_0xd6b6d1,JSON['stringify'](_0xb4b75f,null,-0x19fa+0xc34*-0x1+0x10*0x263)+'\x0a','utf8');}catch(_0x1affb9){const _0x24229d=_0x1affb9 instanceof Error?_0x1affb9['message']:'Unknown\x20error';logStringError('Error\x20overriding\x20'+files['packageJson']+':'),logStringError(_0x24229d);throw _0x1affb9;}}__name(overridePackageJson,'overridePackageJson');function replaceImports(_0x4178f7){const _0x25649d=/(import\s+)([^'"]+)(\s+from\s+["'])([^"']+)(["'])/g;return _0x4178f7['replace'](_0x25649d,(_0x5c5d84,_0x4fb83e,_0x4f4f48,_0x29b01f,_0x4e92cd,_0x1013ab)=>{if(!_0x4e92cd['startsWith'](aliasSymbols['atSign'])||_0x4e92cd['startsWith'](npmPackages['saasKit']))return _0x5c5d84;let _0x4cc02f;_0x4e92cd['startsWith'](aliasSymbols['atSign']+folders['server'])||_0x4e92cd['includes'](''+projectPaths['server'])?_0x4cc02f=npmPackages['saasKitServer']:_0x4cc02f=npmPackages['saasKit'];let _0x3a122a=_0x4f4f48['trim']();const _0x5e1150=/^type\b/['test'](_0x3a122a),_0x329618=/^\*\s+as\s+/['test'](_0x3a122a);return !_0x5e1150&&!_0x329618&&!_0x3a122a['startsWith']('{')&&(_0x3a122a='{\x20'+_0x3a122a+'\x20}'),''+_0x4fb83e+_0x3a122a+_0x29b01f+_0x4cc02f+_0x1013ab;});}__name(replaceImports,'replaceImports');async function copyProjectFiles(_0x4dae3d){logInfoRaw('Copying\x20'+projectName+'\x20files...');for(const _0x41a56e of allFilesToCopy){const _0x44b6b1=''+folders['cli']+_0x3a74e9['sep']+_0x41a56e,_0x3cda46=_0x3a74e9['join'](repoRoot,_0x44b6b1),_0x1b5a82=replaceToolsFolder(_0x41a56e),_0x4ee457=_0x3a74e9['join'](_0x4dae3d,_0x1b5a82);if(existsSync(_0x3cda46)){const _0x485e0b=await promises['stat'](_0x3cda46);_0x485e0b['isDirectory']()?await copyDirectoryContents(_0x3cda46,_0x4ee457):await copyAndProcessFile(_0x3cda46,_0x4ee457);}else logInfoRaw('Source\x20file\x20not\x20found:\x20'+_0x44b6b1);}logInfoRaw('Files\x20copied\x20and\x20imports\x20updated!');}__name(copyProjectFiles,'copyProjectFiles');function replaceToolsFolder(_0x51bd0a){let _0x4f3379=_0x51bd0a;for(const [_0x23d218,_0x30628b]of Object['entries'](toolsFoldersToReplace)){if(_0x4f3379['startsWith'](_0x23d218)&&isWithIndexer(_0x30628b)){const _0x9e78e=_0x30628b;for(const _0x45df5c in _0x9e78e){const _0xb54d2b=_0x9e78e[_0x45df5c];isString(_0xb54d2b)&&(_0x4f3379=_0x4f3379['replace'](_0x45df5c,_0xb54d2b));}break;}}return _0x4f3379;}__name(replaceToolsFolder,'replaceToolsFolder');function shouldIgnorePath(_0x13c424,_0x439d20,_0x15cd30=![]){const _0x3dac2e=_0x3a74e9['relative'](repoRoot,_0x13c424)['replace'](/\\/g,'/'),_0x4d3f92=foldersToIgnore['map'](_0x47ad6b=>_0x47ad6b['replace'](/\\/g,'/'));if(_0x4d3f92['includes'](_0x3dac2e))return !![];if(_0x15cd30){const _0x4207e9=_0x3a74e9['relative'](_0x439d20,_0x13c424)['replace'](/\\/g,'/'),_0x5cfe90=_0x4207e9['split']('/');return _0x4d3f92['some'](_0x3c6c10=>_0x5cfe90['some'](_0x431025=>_0x431025===_0x3c6c10));}return ![];}__name(shouldIgnorePath,'shouldIgnorePath');async function copyDirectoryContents(_0x5e9645,_0x41fe22){!existsSync(_0x41fe22)&&mkdirSync(_0x41fe22,{'recursive':!![]});try{const _0x5841e3=await promises['readdir'](_0x5e9645,{'withFileTypes':!![]});for(const _0x4c8715 of _0x5841e3){const _0x28a630=_0x3a74e9['join'](_0x5e9645,_0x4c8715['name']),_0x29595d=_0x3a74e9['join'](_0x41fe22,_0x4c8715['name']);!shouldIgnorePath(_0x28a630,_0x5e9645,_0x4c8715['isDirectory']())&&(_0x4c8715['isDirectory']()?await copyDirectoryContents(_0x28a630,_0x29595d):await copyAndProcessFile(_0x28a630,_0x29595d));}}catch(_0x3f61d6){const _0x177a4f=_0x3f61d6 instanceof Error?_0x3f61d6['message']:'Unknown\x20error';logStringError('Error\x20reading\x20directory\x20'+_0x5e9645+':\x20'+_0x177a4f);throw _0x3f61d6;}}__name(copyDirectoryContents,'copyDirectoryContents');async function copyAndProcessFile(_0x27e4bd,_0x4d08f7){const _0x4b6e7d=_0x3a74e9['dirname'](_0x4d08f7);!existsSync(_0x4b6e7d)&&mkdirSync(_0x4b6e7d,{'recursive':!![]});const _0x2610cd=await promises['stat'](_0x27e4bd);if(_0x2610cd['isDirectory']())await copyDirectoryContents(_0x27e4bd,_0x4d08f7);else {const _0x3f078c=_0x3a74e9['extname'](_0x27e4bd)['toLowerCase'](),_0x3db05d=['.ico','.png','.jpg','.jpeg','.webp','.gif','.svg','.pdf'];if(_0x3db05d['includes'](_0x3f078c)){await promises['copyFile'](_0x27e4bd,_0x4d08f7);return;}const _0x2450ef=await promises['readFile'](_0x27e4bd,'utf8'),_0x57943e=replaceImports(_0x2450ef);await promises['writeFile'](_0x4d08f7,_0x57943e,'utf8');}}__name(copyAndProcessFile,'copyAndProcessFile');function createAdditionalFolders(_0x56b756){for(const _0x2ee4b3 of additionalFoldersToCreate){const _0x228e07=_0x3a74e9['join'](_0x56b756,_0x2ee4b3);!existsSync(_0x228e07)&&(mkdirSync(_0x228e07,{'recursive':!![]}),logInfoRaw('Created\x20folder:\x20'+_0x2ee4b3));}logInfoRaw('Additional\x20folders\x20created!');}__name(createAdditionalFolders,'createAdditionalFolders');async function setupPreCommitHooks(_0x1f6b79){const _0x5904e9=_0x3a74e9['join'](_0x1f6b79,folders['husky']),_0x121c55=_0x3a74e9['join'](_0x5904e9,files['preCommit']),_0x25dfe0=_0x3a74e9['join'](_0x5904e9,files['commitMsg']);mkdirSync(_0x5904e9,{'recursive':!![]}),await promises['writeFile'](_0x121c55,cliScripts['preCommit'],'utf8'),await promises['writeFile'](_0x25dfe0,cliScripts['commitMsg'],'utf8'),runCommand(cliScripts['chmodPreCommit'],_0x1f6b79),runCommand(cliScripts['chmodCommitMsg'],_0x1f6b79);}__name(setupPreCommitHooks,'setupPreCommitHooks');async function setupEslintConfig(_0x561ec5){const _0x61944c=_0x3a74e9['join'](_0x561ec5,files['eslintConfigMjs']);existsSync(_0x61944c)&&await promises['rm'](_0x61944c);const _0x25e13e=_0x3a74e9['join'](_0x561ec5,files['eslintConfigJs']);await promises['writeFile'](_0x25e13e,cliEslintContent,'utf8');}__name(setupEslintConfig,'setupEslintConfig');async function enableRepoModeExtras(_0x5d12ac){logInfoRaw('Enabling\x20recommendation\x20mode\x20(-r)...'),runCommand(cliScripts['gitInit'],_0x5d12ac),runCommand(cliScripts['installDevHuskyTsx'],_0x5d12ac),runCommand(cliScripts['setLint'],_0x5d12ac),runCommand(cliScripts['installHusky'],_0x5d12ac),await setupPreCommitHooks(_0x5d12ac);}__name(enableRepoModeExtras,'enableRepoModeExtras');async function updateLayoutTitle(_0x4a83ef,_0x3d47c6){const _0x45dbe9=_0x3a74e9['join'](_0x4a83ef,''+projectPaths['app']+_0x3a74e9['sep']+files['layout']);if(!existsSync(_0x45dbe9))throw createError(files['layout']+'\x20not\x20found\x20at\x20'+_0x45dbe9+',\x20cannot\x20update\x20title.');let _0x5a8801=await promises['readFile'](_0x45dbe9,'utf8');const _0x45b4d5=/"SaaS Kit"/g;if(!_0x45b4d5['test'](_0x5a8801))throw createError('SaaS\x20Kit\x20not\x20found\x20in\x20'+files['layout']+',\x20cannot\x20update\x20title.');_0x5a8801=_0x5a8801['replace'](_0x45b4d5,'\x22'+_0x3d47c6+'\x22'),await promises['writeFile'](_0x45dbe9,_0x5a8801,'utf8');}__name(updateLayoutTitle,'updateLayoutTitle');async function create(_0x408b51){try{_0x408b51['length']<-0x43*-0x54+0x5*0x459+-0x2bb8&&(logStringError('Error:\x20Specify\x20folder\x20name.\x20Example:\x20npx\x20create-saas-kit-app\x20<folder-name>'),process['exit'](0x2678+0xadf+0x34a*-0xf));const _0x1603dd=_0x408b51[-0x1*0xcdd+0x1e55+-0x1178],_0x11b72d=_0x408b51['includes']('-r'),_0x4ab865=_0x3a74e9['resolve'](process['cwd'](),_0x1603dd);logInfoRaw('\x0aCreating\x20'+projectName+'\x20project\x20\x22'+_0x1603dd+'\x22...\x0a');try{checkTargetFolder(_0x4ab865),createNextProject(_0x1603dd,_0x4ab865),await copyProjectFiles(_0x4ab865),await overridePackageJson(_0x4ab865),createAdditionalFolders(_0x4ab865),await createEnvFile(_0x4ab865),await updateLayoutTitle(_0x4ab865,_0x1603dd),await setupEslintConfig(_0x4ab865),_0x11b72d&&await enableRepoModeExtras(_0x4ab865),logInfoRaw('\x0a'+projectName+'\x20project\x20\x22'+_0x1603dd+'\x22\x20is\x20ready!'),logInfoRaw('Next\x20steps:'),logInfoRaw('\x20\x20cd\x20'+_0x1603dd),logInfoRaw('\x20\x20npm\x20run\x20prod'),logInfoRaw('\x20\x20npm\x20start');}catch(_0x297f2a){const _0x53c3da=_0x297f2a instanceof Error?_0x297f2a['message']:'Unknown\x20error';logStringError('Error:'),logStringError(_0x53c3da),existsSync(_0x4ab865)&&(logInfoRaw('Cleaning\x20up...'),rmSync(_0x4ab865,{'recursive':!![],'force':!![]})),process['exit'](-0x1c98+-0x13b9+-0x5*-0x9aa);}}catch(_0xdfbe37){const _0x2e3e80=_0xdfbe37 instanceof Error?_0xdfbe37['message']:'Unknown\x20error';logStringError('Unhandled\x20error:'),logStringError(_0x2e3e80),process['exit'](-0x20*0x12d+0xa*-0x36a+0x47c5);}}__name(create,'create');
|
|
18
|
+
var __defProp=Object['defineProperty'],__name=(_0x21468c,_0x37691d)=>__defProp(_0x21468c,'name',{'value':_0x37691d,'configurable':!![]});const requiredNodeVersion='v20.0.0';process['version']<requiredNodeVersion&&(logStringError('Node.js\x20'+requiredNodeVersion+'+\x20is\x20required'),process['exit'](0x1c5a+0x20d2+0x1*-0x3d2b));const filename=fileURLToPath(import.meta.url),sourceDir='../../../../',binDir=_0x1aa6b6['dirname'](filename),repoRoot=_0x1aa6b6['resolve'](binDir,sourceDir),envLocalPath=_0x1aa6b6['join'](binDir,''+sourceDir+folders['cli']+'/'+files['envExample']),envTemplate=_0x41fbd6['readFileSync'](envLocalPath,'utf8'),foldersToIgnore=[folders['cli']+'/'+folders['constants'],folders['cli']+'/'+files['packageTemplate'],folders['cli']+'/'+files['envExample'],folders['cli']+'/'+folders['bin'],folders['cli']+'/'+folders['configs']];function runCommand(_0x278bc1,_0x21dbad){logInfoRaw('Executing:\x20'+_0x278bc1);try{execSync(_0x278bc1,{'stdio':'inherit','cwd':_0x21dbad??process['cwd']()});}catch(_0x349a38){const _0x36e922=_0x349a38 instanceof Error?_0x349a38['message']:'Unknown\x20error';logStringError('Error\x20executing:\x20'+_0x278bc1),logStringError(_0x36e922),process['exit'](0x224d*0x1+0xc9*-0x31+0x42d);}}__name(runCommand,'runCommand');function checkTargetFolder(_0x431f06){existsSync(_0x431f06)&&(logStringError('Error:\x20Folder\x20\x22'+_0x1aa6b6['basename'](_0x431f06)+'\x22\x20already\x20exists.'),process['exit'](-0x6*0x431+-0x6d9+-0x4*-0x800));}__name(checkTargetFolder,'checkTargetFolder');function getCreateNextAppVersion(){const _0x3bc958=_0x1aa6b6['resolve'](repoRoot,files['packageJson']),_0x5e7c1e=JSON['parse'](_0x41fbd6['readFileSync'](_0x3bc958,'utf-8'));return String(_0x5e7c1e['devDependencies']?.['next']??_0x5e7c1e['dependencies']?.['next']??'latest');}__name(getCreateNextAppVersion,'getCreateNextAppVersion');function createNextProject(_0x166814,_0x46f83a){logInfoRaw('Creating\x20Next.js\x20project...');const _0x325f03=getCreateNextAppVersion(),_0x263720=['npx\x20--yes\x20create-next-app@'+_0x325f03+'\x20\x22'+_0x166814+'\x22','--typescript','--tailwind','--eslint','--app','--src-dir','--turbopack','--no-import-alias','--no-git','--react-compiler']['join']('\x20');runCommand(_0x263720,_0x1aa6b6['dirname'](_0x46f83a)),logInfoRaw('Next.js\x20project\x20created!');const _0xa441dd=_0x1aa6b6['join'](_0x46f83a,'next.config.ts');_0x41fbd6['existsSync'](_0xa441dd)&&(_0x41fbd6['rmSync'](_0xa441dd),logInfoRaw('Removed\x20default\x20next.config.ts'));}__name(createNextProject,'createNextProject');async function createEnvFile(_0x2dd8f7){logInfoRaw('Creating\x20'+files['env']+'\x20file\x20with\x20default\x20values...');const _0x30f0b0=_0x1aa6b6['join'](_0x2dd8f7,files['env']);try{await promises['writeFile'](_0x30f0b0,envTemplate,'utf8'),logInfoRaw(files['env']+'\x20file\x20created\x20with\x20values!');}catch(_0x43ca1b){const _0x119b3a=_0x43ca1b instanceof Error?_0x43ca1b['message']:'Unknown\x20error';logStringError('Error\x20creating\x20'+files['env']+'\x20file:'),logStringError(_0x119b3a);throw _0x43ca1b;}}__name(createEnvFile,'createEnvFile');async function overridePackageJson(_0x5021e1){const _0x30a11d=_0x1aa6b6['join'](_0x5021e1,files['packageJson']),_0x939518=_0x1aa6b6['join'](repoRoot,folders['cli']+'/'+files['packageTemplate']);try{const _0x1e0aff=JSON['parse'](await promises['readFile'](_0x30a11d,'utf8')),_0xb6793d=_0x1e0aff['name'],_0x511ba1=JSON['parse'](await promises['readFile'](_0x939518,'utf8')),_0x14eb6c={..._0x511ba1,'name':_0xb6793d};await promises['writeFile'](_0x30a11d,JSON['stringify'](_0x14eb6c,null,0x25*0xd7+-0xb4a+0x3d*-0x53)+'\x0a','utf8');}catch(_0x38b540){const _0x20ab3d=_0x38b540 instanceof Error?_0x38b540['message']:'Unknown\x20error';logStringError('Error\x20overriding\x20'+files['packageJson']+':'),logStringError(_0x20ab3d);throw _0x38b540;}}__name(overridePackageJson,'overridePackageJson');function replaceImports(_0x359a82){const _0x2b48fb=/(import\s+)([^'"]+)(\s+from\s+["'])([^"']+)(["'])/g;return _0x359a82['replace'](_0x2b48fb,(_0x3bc804,_0x818e8f,_0x9a9bdd,_0x281c8a,_0x242d27,_0x309071)=>{if(!_0x242d27['startsWith'](aliasSymbols['atSign'])||_0x242d27['startsWith'](npmPackages['saasKit']))return _0x3bc804;let _0xeabf6e;_0x242d27['startsWith'](aliasSymbols['atSign']+folders['server'])||_0x242d27['includes'](''+nonRootProjectPaths['server'])?_0xeabf6e=npmPackages['saasKitServer']:_0xeabf6e=npmPackages['saasKit'];let _0x4d669e=_0x9a9bdd['trim']();const _0x36de59=/^type\b/['test'](_0x4d669e),_0x481343=/^\*\s+as\s+/['test'](_0x4d669e);return !_0x36de59&&!_0x481343&&!_0x4d669e['startsWith']('{')&&(_0x4d669e='{\x20'+_0x4d669e+'\x20}'),''+_0x818e8f+_0x4d669e+_0x281c8a+_0xeabf6e+_0x309071;});}__name(replaceImports,'replaceImports');async function copyProjectFiles(_0x338f70){logInfoRaw('Copying\x20'+projectName+'\x20files...');for(const _0x4f1ecb of allFilesToCopy){const _0x191773=folders['cli']+'/'+_0x4f1ecb,_0x374858=_0x1aa6b6['join'](repoRoot,_0x191773),_0x47f44f=replaceToolsFolder(_0x4f1ecb),_0x5c544e=_0x1aa6b6['join'](_0x338f70,_0x47f44f);if(existsSync(_0x374858)){const _0xc41733=await promises['stat'](_0x374858);_0xc41733['isDirectory']()?await copyDirectoryContents(_0x374858,_0x5c544e):await copyAndProcessFile(_0x374858,_0x5c544e);}else logInfoRaw('Source\x20file\x20not\x20found:\x20'+_0x191773);}logInfoRaw('Files\x20copied\x20and\x20imports\x20updated!');}__name(copyProjectFiles,'copyProjectFiles');function replaceToolsFolder(_0x78e40d){let _0x184456=_0x78e40d;for(const [_0xeedbb2,_0x13fd8a]of Object['entries'](toolsFoldersToReplace)){if(_0x184456['startsWith'](_0xeedbb2)&&isWithIndexer(_0x13fd8a)){const _0x4165ab=_0x13fd8a;for(const _0x2ca6a8 in _0x4165ab){const _0x924dad=_0x4165ab[_0x2ca6a8];isString(_0x924dad)&&(_0x184456=_0x184456['replace'](_0x2ca6a8,_0x924dad));}break;}}return _0x184456;}__name(replaceToolsFolder,'replaceToolsFolder');function shouldIgnorePath(_0x25cc0b,_0x1c11e1,_0x480b0e=![]){const _0x1eec06=_0x1aa6b6['relative'](repoRoot,_0x25cc0b)['replace'](/\\/g,'/'),_0x3fe5f9=foldersToIgnore['map'](_0x1cf4d6=>_0x1cf4d6['replace'](/\\/g,'/'));if(_0x3fe5f9['includes'](_0x1eec06))return !![];if(_0x480b0e){const _0x294d78=_0x1aa6b6['relative'](_0x1c11e1,_0x25cc0b)['replace'](/\\/g,'/'),_0x5535ab=_0x294d78['split']('/');return _0x3fe5f9['some'](_0x45ea6d=>_0x5535ab['some'](_0x118365=>_0x118365===_0x45ea6d));}return ![];}__name(shouldIgnorePath,'shouldIgnorePath');async function copyDirectoryContents(_0x4ebffa,_0x3b411a){!existsSync(_0x3b411a)&&mkdirSync(_0x3b411a,{'recursive':!![]});try{const _0x6a8efa=await promises['readdir'](_0x4ebffa,{'withFileTypes':!![]});for(const _0x14d42d of _0x6a8efa){const _0x39f53f=_0x1aa6b6['join'](_0x4ebffa,_0x14d42d['name']),_0x5f2246=_0x1aa6b6['join'](_0x3b411a,_0x14d42d['name']);!shouldIgnorePath(_0x39f53f,_0x4ebffa,_0x14d42d['isDirectory']())&&(_0x14d42d['isDirectory']()?await copyDirectoryContents(_0x39f53f,_0x5f2246):await copyAndProcessFile(_0x39f53f,_0x5f2246));}}catch(_0x514b57){const _0x4a4a6f=_0x514b57 instanceof Error?_0x514b57['message']:'Unknown\x20error';logStringError('Error\x20reading\x20directory\x20'+_0x4ebffa+':\x20'+_0x4a4a6f);throw _0x514b57;}}__name(copyDirectoryContents,'copyDirectoryContents');async function copyAndProcessFile(_0x3beba5,_0x227e1f){const _0x1a242a=_0x1aa6b6['dirname'](_0x227e1f);!existsSync(_0x1a242a)&&mkdirSync(_0x1a242a,{'recursive':!![]});const _0x474f04=await promises['stat'](_0x3beba5);if(_0x474f04['isDirectory']())await copyDirectoryContents(_0x3beba5,_0x227e1f);else {const _0x2fd189=_0x1aa6b6['extname'](_0x3beba5)['toLowerCase'](),_0x354504=['.ico','.png','.jpg','.jpeg','.webp','.gif','.svg','.pdf'];if(_0x354504['includes'](_0x2fd189)){await promises['copyFile'](_0x3beba5,_0x227e1f);return;}const _0x3cae32=await promises['readFile'](_0x3beba5,'utf8'),_0x2ff221=replaceImports(_0x3cae32);await promises['writeFile'](_0x227e1f,_0x2ff221,'utf8');}}__name(copyAndProcessFile,'copyAndProcessFile');function createAdditionalFolders(_0xea7641){for(const _0x2cc837 of additionalFoldersToCreate){const _0x3492ea=_0x1aa6b6['join'](_0xea7641,_0x2cc837);!existsSync(_0x3492ea)&&(mkdirSync(_0x3492ea,{'recursive':!![]}),logInfoRaw('Created\x20folder:\x20'+_0x2cc837));}logInfoRaw('Additional\x20folders\x20created!');}__name(createAdditionalFolders,'createAdditionalFolders');async function setupPreCommitHooks(_0x106140){const _0x5dfd6e=_0x1aa6b6['join'](_0x106140,folders['husky']),_0x3a8501=_0x1aa6b6['join'](_0x5dfd6e,files['preCommit']),_0x3dbaf5=_0x1aa6b6['join'](_0x5dfd6e,files['commitMsg']);mkdirSync(_0x5dfd6e,{'recursive':!![]}),await promises['writeFile'](_0x3a8501,cliScripts['preCommit'],'utf8'),await promises['writeFile'](_0x3dbaf5,cliScripts['commitMsg'],'utf8'),runCommand(cliScripts['chmodPreCommit'],_0x106140),runCommand(cliScripts['chmodCommitMsg'],_0x106140);}__name(setupPreCommitHooks,'setupPreCommitHooks');async function setupEslintConfig(_0x3347d2){const _0x1353cd=_0x1aa6b6['join'](_0x3347d2,files['eslintConfigMjs']);existsSync(_0x1353cd)&&await promises['rm'](_0x1353cd);const _0x2bc0f4=_0x1aa6b6['join'](_0x3347d2,files['eslintConfigJs']);await promises['writeFile'](_0x2bc0f4,cliEslintContent,'utf8');}__name(setupEslintConfig,'setupEslintConfig');async function enableRepoModeExtras(_0x3ab588){logInfoRaw('Enabling\x20recommendation\x20mode\x20(-r)...'),runCommand(cliScripts['gitInit'],_0x3ab588),runCommand(cliScripts['installDevHuskyTsx'],_0x3ab588),runCommand(cliScripts['setLint'],_0x3ab588),runCommand(cliScripts['installHusky'],_0x3ab588),await setupPreCommitHooks(_0x3ab588);}__name(enableRepoModeExtras,'enableRepoModeExtras');async function updateLayoutTitle(_0x3aa01f,_0x4ca4fa){const _0x87a866=_0x1aa6b6['join'](_0x3aa01f,projectPaths['app']+'/'+files['layout']);if(!existsSync(_0x87a866))throw createError(files['layout']+'\x20not\x20found\x20at\x20'+_0x87a866+',\x20cannot\x20update\x20title.');let _0x305dcd=await promises['readFile'](_0x87a866,'utf8');const _0x30e313=/"SaaS Kit"/g;if(!_0x30e313['test'](_0x305dcd))throw createError('SaaS\x20Kit\x20not\x20found\x20in\x20'+files['layout']+',\x20cannot\x20update\x20title.');_0x305dcd=_0x305dcd['replace'](_0x30e313,'\x22'+_0x4ca4fa+'\x22'),await promises['writeFile'](_0x87a866,_0x305dcd,'utf8');}__name(updateLayoutTitle,'updateLayoutTitle');async function create(_0x58bf12){try{_0x58bf12['length']<0x26d0+0x142a+-0x3af9*0x1&&(logStringError('Error:\x20Specify\x20folder\x20name.\x20Example:\x20npx\x20create-saas-kit-app\x20<folder-name>'),process['exit'](0x33*-0x27+0x4c0*0x4+0x1*-0xb3a));const _0x2a606f=_0x58bf12[-0x1974+-0x137c+0x2cf0],_0x5c4aad=_0x58bf12['includes']('-r'),_0x20a0a6=_0x1aa6b6['resolve'](process['cwd'](),_0x2a606f);logInfoRaw('\x0aCreating\x20'+projectName+'\x20project\x20\x22'+_0x2a606f+'\x22...\x0a');try{checkTargetFolder(_0x20a0a6),createNextProject(_0x2a606f,_0x20a0a6),await copyProjectFiles(_0x20a0a6),await overridePackageJson(_0x20a0a6),createAdditionalFolders(_0x20a0a6),await createEnvFile(_0x20a0a6),await updateLayoutTitle(_0x20a0a6,_0x2a606f),await setupEslintConfig(_0x20a0a6),_0x5c4aad&&await enableRepoModeExtras(_0x20a0a6),logInfoRaw('\x0a'+projectName+'\x20project\x20\x22'+_0x2a606f+'\x22\x20is\x20ready!'),logInfoRaw('Next\x20steps:'),logInfoRaw('\x20\x20cd\x20'+_0x2a606f),logInfoRaw('\x20\x20npm\x20run\x20prod'),logInfoRaw('\x20\x20npm\x20start');}catch(_0x4aa1b5){const _0x2ebde0=_0x4aa1b5 instanceof Error?_0x4aa1b5['message']:'Unknown\x20error';logStringError('Error:'),logStringError(_0x2ebde0),existsSync(_0x20a0a6)&&(logInfoRaw('Cleaning\x20up...'),rmSync(_0x20a0a6,{'recursive':!![],'force':!![]})),process['exit'](-0x13c5+0x1896*-0x1+0x14e*0x22);}}catch(_0x33ca2e){const _0x35af1c=_0x33ca2e instanceof Error?_0x33ca2e['message']:'Unknown\x20error';logStringError('Unhandled\x20error:'),logStringError(_0x35af1c),process['exit'](-0x135a+0x1+0x135a);}}__name(create,'create');
|
|
19
19
|
|
|
20
20
|
export { create };
|