@simplysm/sd-cli 7.3.4 → 10.0.21
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/.eslintrc.cjs +18 -0
- package/dist/SdLinter.d.ts +5 -0
- package/dist/SdLinter.js.map +1 -0
- package/dist/SdLinter.mjs +37 -0
- package/dist/SdTsIncrementalBuilder.d.ts +16 -0
- package/dist/SdTsIncrementalBuilder.js.map +1 -0
- package/dist/SdTsIncrementalBuilder.mjs +54 -0
- package/dist/build-cluster.js.map +1 -0
- package/dist/build-cluster.mjs +124 -0
- package/dist/builders/SdCliClientBuilder.d.ts +13 -0
- package/dist/builders/SdCliClientBuilder.js.map +1 -0
- package/dist/builders/SdCliClientBuilder.mjs +167 -0
- package/dist/builders/SdCliJsLibLinter.d.ts +14 -0
- package/dist/builders/SdCliJsLibLinter.js.map +1 -0
- package/dist/builders/SdCliJsLibLinter.mjs +60 -0
- package/dist/builders/SdCliServerBuilder.d.ts +14 -0
- package/dist/builders/SdCliServerBuilder.js.map +1 -0
- package/dist/builders/SdCliServerBuilder.mjs +171 -0
- package/dist/builders/SdCliTsLibBuilder.d.ts +13 -0
- package/dist/builders/SdCliTsLibBuilder.js.map +1 -0
- package/dist/builders/SdCliTsLibBuilder.mjs +75 -0
- package/dist/commons.d.ts +20 -110
- package/dist/commons.js.map +1 -0
- package/dist/commons.mjs +1 -1
- package/dist/entry/SdCliProject.d.ts +29 -0
- package/dist/entry/SdCliProject.js.map +1 -0
- package/dist/entry/SdCliProject.mjs +353 -0
- package/dist/sd-cli.js.map +1 -0
- package/dist/sd-cli.mjs +119 -0
- package/dist/sd-core-common/src/decorators/NotifyPropertyChange.d.ts +20 -0
- package/dist/sd-core-common/src/decorators/NotifyPropertyChange.js.map +1 -0
- package/dist/sd-core-common/src/decorators/NotifyPropertyChange.mjs +12 -0
- package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.d.ts +43 -0
- package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.js.map +1 -0
- package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.mjs +54 -0
- package/dist/sd-core-common/src/decorators/PropertyValidate.d.ts +16 -0
- package/dist/sd-core-common/src/decorators/PropertyValidate.js.map +1 -0
- package/dist/sd-core-common/src/decorators/PropertyValidate.mjs +26 -0
- package/dist/sd-core-common/src/decorators/decorator-return-types.d.ts +14 -0
- package/dist/sd-core-common/src/decorators/decorator-return-types.js.map +1 -0
- package/dist/sd-core-common/src/decorators/decorator-return-types.mjs +2 -0
- package/dist/sd-core-common/src/errors/ArgumentError.d.ts +10 -0
- package/dist/sd-core-common/src/errors/ArgumentError.js.map +1 -0
- package/dist/sd-core-common/src/errors/ArgumentError.mjs +13 -0
- package/dist/sd-core-common/src/errors/NeverEntryError.d.ts +10 -0
- package/dist/sd-core-common/src/errors/NeverEntryError.js.map +1 -0
- package/dist/sd-core-common/src/errors/NeverEntryError.mjs +13 -0
- package/dist/sd-core-common/src/errors/NotImplementError.d.ts +10 -0
- package/dist/sd-core-common/src/errors/NotImplementError.js.map +1 -0
- package/dist/sd-core-common/src/errors/NotImplementError.mjs +13 -0
- package/dist/sd-core-common/src/errors/SdError.d.ts +23 -0
- package/dist/sd-core-common/src/errors/SdError.js.map +1 -0
- package/dist/sd-core-common/src/errors/SdError.mjs +40 -0
- package/dist/sd-core-common/src/errors/TimeoutError.d.ts +11 -0
- package/dist/sd-core-common/src/errors/TimeoutError.js.map +1 -0
- package/dist/sd-core-common/src/errors/TimeoutError.mjs +16 -0
- package/dist/sd-core-common/src/extensions/ArrayExtension.d.ts +147 -0
- package/dist/sd-core-common/src/extensions/ArrayExtension.js.map +1 -0
- package/dist/sd-core-common/src/extensions/ArrayExtension.mjs +448 -0
- package/dist/sd-core-common/src/extensions/MapExtension.d.ts +4 -0
- package/dist/sd-core-common/src/extensions/MapExtension.js.map +1 -0
- package/dist/sd-core-common/src/extensions/MapExtension.mjs +15 -0
- package/dist/sd-core-common/src/extensions/SetExtension.d.ts +3 -0
- package/dist/sd-core-common/src/extensions/SetExtension.js.map +1 -0
- package/dist/sd-core-common/src/extensions/SetExtension.mjs +10 -0
- package/dist/sd-core-common/src/index.d.ts +32 -0
- package/dist/sd-core-common/src/index.js.map +1 -0
- package/dist/sd-core-common/src/index.mjs +33 -0
- package/dist/sd-core-common/src/types/DateOnly.d.ts +135 -0
- package/dist/sd-core-common/src/types/DateOnly.js.map +1 -0
- package/dist/sd-core-common/src/types/DateOnly.mjs +220 -0
- package/dist/sd-core-common/src/types/DateTime.d.ts +42 -0
- package/dist/sd-core-common/src/types/DateTime.js.map +1 -0
- package/dist/sd-core-common/src/types/DateTime.mjs +156 -0
- package/dist/sd-core-common/src/types/DeepPartial.d.ts +3 -0
- package/dist/sd-core-common/src/types/DeepPartial.js.map +1 -0
- package/dist/sd-core-common/src/types/DeepPartial.mjs +2 -0
- package/dist/sd-core-common/src/types/ObjectSet.d.ts +4 -0
- package/dist/sd-core-common/src/types/ObjectSet.js.map +1 -0
- package/dist/sd-core-common/src/types/ObjectSet.mjs +18 -0
- package/dist/sd-core-common/src/types/Time.d.ts +27 -0
- package/dist/sd-core-common/src/types/Time.js.map +1 -0
- package/dist/sd-core-common/src/types/Time.mjs +108 -0
- package/dist/sd-core-common/src/types/Type.d.ts +7 -0
- package/dist/sd-core-common/src/types/Type.js.map +1 -0
- package/dist/sd-core-common/src/types/Type.mjs +2 -0
- package/dist/sd-core-common/src/types/UnwrappedType.d.ts +1 -0
- package/dist/sd-core-common/src/types/UnwrappedType.js.map +1 -0
- package/dist/sd-core-common/src/types/UnwrappedType.mjs +2 -0
- package/dist/sd-core-common/src/types/Uuid.d.ts +8 -0
- package/dist/sd-core-common/src/types/Uuid.js.map +1 -0
- package/dist/sd-core-common/src/types/Uuid.mjs +26 -0
- package/dist/sd-core-common/src/types/WrappedType.d.ts +1 -0
- package/dist/sd-core-common/src/types/WrappedType.js.map +1 -0
- package/dist/sd-core-common/src/types/WrappedType.mjs +2 -0
- package/dist/sd-core-common/src/utils/DateTimeFormatUtil.d.ts +12 -0
- package/dist/sd-core-common/src/utils/DateTimeFormatUtil.js.map +1 -0
- package/dist/sd-core-common/src/utils/DateTimeFormatUtil.mjs +67 -0
- package/dist/sd-core-common/src/utils/FunctionQueue.d.ts +8 -0
- package/dist/sd-core-common/src/utils/FunctionQueue.js.map +1 -0
- package/dist/sd-core-common/src/utils/FunctionQueue.mjs +46 -0
- package/dist/sd-core-common/src/utils/FunctionUtil.d.ts +6 -0
- package/dist/sd-core-common/src/utils/FunctionUtil.js.map +1 -0
- package/dist/sd-core-common/src/utils/FunctionUtil.mjs +31 -0
- package/dist/sd-core-common/src/utils/JsonConvert.d.ts +8 -0
- package/dist/sd-core-common/src/utils/JsonConvert.js.map +1 -0
- package/dist/sd-core-common/src/utils/JsonConvert.mjs +78 -0
- package/dist/sd-core-common/src/utils/MathUtil.d.ts +3 -0
- package/dist/sd-core-common/src/utils/MathUtil.js.map +1 -0
- package/dist/sd-core-common/src/utils/MathUtil.mjs +6 -0
- package/dist/sd-core-common/src/utils/NumberUtil.d.ts +6 -0
- package/dist/sd-core-common/src/utils/NumberUtil.js.map +1 -0
- package/dist/sd-core-common/src/utils/NumberUtil.mjs +32 -0
- package/dist/sd-core-common/src/utils/ObjectUtil.d.ts +80 -0
- package/dist/sd-core-common/src/utils/ObjectUtil.js.map +1 -0
- package/dist/sd-core-common/src/utils/ObjectUtil.mjs +452 -0
- package/dist/sd-core-common/src/utils/SdSyncEventEmitter.d.ts +6 -0
- package/dist/sd-core-common/src/utils/SdSyncEventEmitter.js.map +1 -0
- package/dist/sd-core-common/src/utils/SdSyncEventEmitter.mjs +27 -0
- package/dist/sd-core-common/src/utils/StringUtil.d.ts +8 -0
- package/dist/sd-core-common/src/utils/StringUtil.js.map +1 -0
- package/dist/sd-core-common/src/utils/StringUtil.mjs +77 -0
- package/dist/sd-core-common/src/utils/Wait.d.ts +4 -0
- package/dist/sd-core-common/src/utils/Wait.js.map +1 -0
- package/dist/sd-core-common/src/utils/Wait.mjs +23 -0
- package/dist/sd-core-node/src/index.d.ts +6 -0
- package/dist/sd-core-node/src/index.js.map +1 -0
- package/dist/sd-core-node/src/index.mjs +7 -0
- package/dist/sd-core-node/src/utils/FsUtil.d.ts +44 -0
- package/dist/sd-core-node/src/utils/FsUtil.js.map +1 -0
- package/dist/sd-core-node/src/utils/FsUtil.mjs +493 -0
- package/dist/sd-core-node/src/utils/Logger.d.ts +91 -0
- package/dist/sd-core-node/src/utils/Logger.js.map +1 -0
- package/dist/sd-core-node/src/utils/Logger.mjs +185 -0
- package/dist/sd-core-node/src/utils/PathUtil.d.ts +6 -0
- package/dist/sd-core-node/src/utils/PathUtil.js.map +1 -0
- package/dist/sd-core-node/src/utils/PathUtil.mjs +24 -0
- package/dist/sd-core-node/src/utils/SdFsWatcher.d.ts +15 -0
- package/dist/sd-core-node/src/utils/SdFsWatcher.js.map +1 -0
- package/dist/sd-core-node/src/utils/SdFsWatcher.mjs +43 -0
- package/dist/sd-core-node/src/utils/SdProcess.d.ts +5 -0
- package/dist/sd-core-node/src/utils/SdProcess.js.map +1 -0
- package/dist/sd-core-node/src/utils/SdProcess.mjs +36 -0
- package/dist/sd-orm-common/src/CaseQueryHelper.d.ts +12 -0
- package/dist/sd-orm-common/src/CaseQueryHelper.js.map +1 -0
- package/dist/sd-orm-common/src/CaseQueryHelper.mjs +19 -0
- package/dist/sd-orm-common/src/CaseWhenQueryHelper.d.ts +12 -0
- package/dist/sd-orm-common/src/CaseWhenQueryHelper.js.map +1 -0
- package/dist/sd-orm-common/src/CaseWhenQueryHelper.mjs +20 -0
- package/dist/sd-orm-common/src/DbContext.d.ts +81 -0
- package/dist/sd-orm-common/src/DbContext.js.map +1 -0
- package/dist/sd-orm-common/src/DbContext.mjs +635 -0
- package/dist/sd-orm-common/src/IDbConnection.d.ts +15 -0
- package/dist/sd-orm-common/src/IDbConnection.js.map +1 -0
- package/dist/sd-orm-common/src/IDbConnection.mjs +2 -0
- package/dist/sd-orm-common/src/IDbContextExecutor.d.ts +17 -0
- package/dist/sd-orm-common/src/IDbContextExecutor.js.map +1 -0
- package/dist/sd-orm-common/src/IDbContextExecutor.mjs +2 -0
- package/dist/sd-orm-common/src/IDbMigration.d.ts +4 -0
- package/dist/sd-orm-common/src/IDbMigration.js.map +1 -0
- package/dist/sd-orm-common/src/IDbMigration.mjs +2 -0
- package/dist/sd-orm-common/src/QueryBuilder.d.ts +48 -0
- package/dist/sd-orm-common/src/QueryBuilder.js.map +1 -0
- package/dist/sd-orm-common/src/QueryBuilder.mjs +1022 -0
- package/dist/sd-orm-common/src/QueryHelper.d.ts +75 -0
- package/dist/sd-orm-common/src/QueryHelper.js.map +1 -0
- package/dist/sd-orm-common/src/QueryHelper.mjs +627 -0
- package/dist/sd-orm-common/src/QueryUnit.d.ts +10 -0
- package/dist/sd-orm-common/src/QueryUnit.js.map +1 -0
- package/dist/sd-orm-common/src/QueryUnit.mjs +16 -0
- package/dist/sd-orm-common/src/Queryable.d.ts +105 -0
- package/dist/sd-orm-common/src/Queryable.js.map +1 -0
- package/dist/sd-orm-common/src/Queryable.mjs +1375 -0
- package/dist/sd-orm-common/src/SdOrmDataType.d.ts +21 -0
- package/dist/sd-orm-common/src/SdOrmDataType.js.map +1 -0
- package/dist/sd-orm-common/src/SdOrmDataType.mjs +2 -0
- package/dist/sd-orm-common/src/commons.d.ts +400 -0
- package/dist/sd-orm-common/src/commons.js.map +1 -0
- package/dist/sd-orm-common/src/commons.mjs +8 -0
- package/dist/sd-orm-common/src/decorators.d.ts +29 -0
- package/dist/sd-orm-common/src/decorators.js.map +1 -0
- package/dist/sd-orm-common/src/decorators.mjs +89 -0
- package/dist/sd-orm-common/src/index.d.ts +17 -0
- package/dist/sd-orm-common/src/index.js.map +1 -0
- package/dist/sd-orm-common/src/index.mjs +18 -0
- package/dist/sd-orm-common/src/models/SystemMigration.d.ts +3 -0
- package/dist/sd-orm-common/src/models/SystemMigration.js.map +1 -0
- package/dist/sd-orm-common/src/models/SystemMigration.mjs +13 -0
- package/dist/sd-orm-common/src/utils/DbDefinitionUtil.d.ts +14 -0
- package/dist/sd-orm-common/src/utils/DbDefinitionUtil.js.map +1 -0
- package/dist/sd-orm-common/src/utils/DbDefinitionUtil.mjs +66 -0
- package/dist/sd-orm-common/src/utils/SdOrmUtil.d.ts +8 -0
- package/dist/sd-orm-common/src/utils/SdOrmUtil.js.map +1 -0
- package/dist/sd-orm-common/src/utils/SdOrmUtil.mjs +248 -0
- package/dist/sd-orm-node/src/DbConnectionFactory.d.ts +4 -0
- package/dist/sd-orm-node/src/DbConnectionFactory.js.map +1 -0
- package/dist/sd-orm-node/src/DbConnectionFactory.mjs +17 -0
- package/dist/sd-orm-node/src/NodeDbContextExecutor.d.ts +19 -0
- package/dist/sd-orm-node/src/NodeDbContextExecutor.js.map +1 -0
- package/dist/sd-orm-node/src/NodeDbContextExecutor.mjs +71 -0
- package/dist/sd-orm-node/src/SdOrm.d.ts +10 -0
- package/dist/sd-orm-node/src/SdOrm.js.map +1 -0
- package/dist/sd-orm-node/src/SdOrm.mjs +25 -0
- package/dist/sd-orm-node/src/index.d.ts +4 -0
- package/dist/sd-orm-node/src/index.js.map +1 -0
- package/dist/sd-orm-node/src/index.mjs +5 -0
- package/dist/sd-orm-node-mssql/src/MssqlDbConnection.d.ts +25 -0
- package/dist/sd-orm-node-mssql/src/MssqlDbConnection.js.map +1 -0
- package/dist/sd-orm-node-mssql/src/MssqlDbConnection.mjs +321 -0
- package/dist/sd-orm-node-mssql/src/index.d.ts +2 -0
- package/dist/sd-orm-node-mssql/src/index.js.map +1 -0
- package/dist/sd-orm-node-mssql/src/index.mjs +3 -0
- package/dist/sd-orm-node-mysql/src/MysqlDbConnection.d.ts +22 -0
- package/dist/sd-orm-node-mysql/src/MysqlDbConnection.js.map +1 -0
- package/dist/sd-orm-node-mysql/src/MysqlDbConnection.mjs +200 -0
- package/dist/sd-orm-node-mysql/src/index.d.ts +2 -0
- package/dist/sd-orm-node-mysql/src/index.js.map +1 -0
- package/dist/sd-orm-node-mysql/src/index.mjs +3 -0
- package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.d.ts +22 -0
- package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.js.map +1 -0
- package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.mjs +172 -0
- package/dist/sd-orm-node-sqlite/src/index.d.ts +2 -0
- package/dist/sd-orm-node-sqlite/src/index.js.map +1 -0
- package/dist/sd-orm-node-sqlite/src/index.mjs +3 -0
- package/dist/sd-service-common/src/commons-orm.d.ts +4 -0
- package/dist/sd-service-common/src/commons-orm.js.map +1 -0
- package/dist/sd-service-common/src/commons-orm.mjs +2 -0
- package/dist/sd-service-common/src/commons-smtp.d.ts +29 -0
- package/dist/sd-service-common/src/commons-smtp.js.map +1 -0
- package/dist/sd-service-common/src/commons-smtp.mjs +2 -0
- package/dist/sd-service-common/src/commons.d.ts +57 -0
- package/dist/sd-service-common/src/commons.js.map +1 -0
- package/dist/sd-service-common/src/commons.mjs +3 -0
- package/dist/sd-service-common/src/index.d.ts +3 -0
- package/dist/sd-service-common/src/index.js.map +1 -0
- package/dist/sd-service-common/src/index.mjs +4 -0
- package/dist/sd-service-server/src/ApiServiceError.d.ts +12 -0
- package/dist/sd-service-server/src/ApiServiceError.js.map +1 -0
- package/dist/sd-service-server/src/ApiServiceError.mjs +15 -0
- package/dist/sd-service-server/src/SdServiceServer.d.ts +39 -0
- package/dist/sd-service-server/src/SdServiceServer.js.map +1 -0
- package/dist/sd-service-server/src/SdServiceServer.mjs +513 -0
- package/dist/sd-service-server/src/commons.d.ts +23 -0
- package/dist/sd-service-server/src/commons.js.map +1 -0
- package/dist/sd-service-server/src/commons.mjs +3 -0
- package/dist/sd-service-server/src/index.d.ts +8 -0
- package/dist/sd-service-server/src/index.js.map +1 -0
- package/dist/sd-service-server/src/index.mjs +9 -0
- package/dist/sd-service-server/src/services/SdAutoUpdateService.d.ts +4 -0
- package/dist/sd-service-server/src/services/SdAutoUpdateService.js.map +1 -0
- package/dist/sd-service-server/src/services/SdAutoUpdateService.mjs +20 -0
- package/dist/sd-service-server/src/services/SdCryptoService.d.ts +7 -0
- package/dist/sd-service-server/src/services/SdCryptoService.js.map +1 -0
- package/dist/sd-service-server/src/services/SdCryptoService.mjs +39 -0
- package/dist/sd-service-server/src/services/SdOrmService.d.ts +22 -0
- package/dist/sd-service-server/src/services/SdOrmService.js.map +1 -0
- package/dist/sd-service-server/src/services/SdOrmService.mjs +115 -0
- package/dist/sd-service-server/src/services/SdSmtpClientService.d.ts +6 -0
- package/dist/sd-service-server/src/services/SdSmtpClientService.js.map +1 -0
- package/dist/sd-service-server/src/services/SdSmtpClientService.mjs +44 -0
- package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.d.ts +4 -0
- package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.js.map +1 -0
- package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.mjs +36 -0
- package/dist/server-worker.d.ts +1 -0
- package/dist/server-worker.js.map +1 -0
- package/dist/server-worker.mjs +36 -0
- package/dist/utils/SdCliBuildResultUtil.d.ts +1 -4
- package/dist/utils/SdCliBuildResultUtil.js.map +1 -0
- package/dist/utils/SdCliBuildResultUtil.mjs +3 -29
- package/dist/utils/SdCliConfigUtil.js.map +1 -0
- package/dist/utils/SdCliConfigUtil.mjs +1 -1
- package/package.json +14 -56
- package/src/SdLinter.ts +41 -0
- package/src/SdTsIncrementalBuilder.ts +75 -0
- package/src/build-cluster.ts +133 -0
- package/src/builders/SdCliClientBuilder.ts +189 -0
- package/src/builders/SdCliJsLibLinter.ts +72 -0
- package/src/builders/SdCliServerBuilder.ts +191 -0
- package/src/builders/SdCliTsLibBuilder.ts +96 -0
- package/src/commons.ts +21 -112
- package/src/entry/SdCliProject.ts +467 -0
- package/src/sd-cli.ts +136 -0
- package/src/server-worker.ts +45 -0
- package/src/utils/SdCliBuildResultUtil.ts +5 -38
- package/tsconfig.json +9 -0
- package/README.md +0 -105
- package/assets/client-files/assets/icons/icon-128x128.png +0 -0
- package/assets/client-files/assets/icons/icon-144x144.png +0 -0
- package/assets/client-files/assets/icons/icon-152x152.png +0 -0
- package/assets/client-files/assets/icons/icon-192x192.png +0 -0
- package/assets/client-files/assets/icons/icon-384x384.png +0 -0
- package/assets/client-files/assets/icons/icon-512x512.png +0 -0
- package/assets/client-files/assets/icons/icon-72x72.png +0 -0
- package/assets/client-files/assets/icons/icon-96x96.png +0 -0
- package/assets/client-files/favicon.ico +0 -0
- package/dist/SdCliBuildResultError.d.ts +0 -5
- package/dist/SdCliBuildResultError.mjs +0 -8
- package/dist/bin/sd-cli.d.ts +0 -2
- package/dist/bin/sd-cli.mjs +0 -410
- package/dist/build-tool/SdCliCacheCompilerHost.d.ts +0 -10
- package/dist/build-tool/SdCliCacheCompilerHost.mjs +0 -51
- package/dist/build-tool/SdCliCordova.d.ts +0 -16
- package/dist/build-tool/SdCliCordova.mjs +0 -212
- package/dist/build-tool/SdCliElectron.d.ts +0 -9
- package/dist/build-tool/SdCliElectron.mjs +0 -72
- package/dist/build-tool/SdCliGithubApi.d.ts +0 -13
- package/dist/build-tool/SdCliGithubApi.mjs +0 -92
- package/dist/build-tool/SdCliIndexFileGenerator.d.ts +0 -13
- package/dist/build-tool/SdCliIndexFileGenerator.mjs +0 -62
- package/dist/build-tool/SdCliNgCacheCompilerHost.d.ts +0 -12
- package/dist/build-tool/SdCliNgCacheCompilerHost.mjs +0 -43
- package/dist/build-tool/SdCliPackageLinter.d.ts +0 -8
- package/dist/build-tool/SdCliPackageLinter.mjs +0 -62
- package/dist/builder/SdCliClientBuilder.d.ts +0 -26
- package/dist/builder/SdCliClientBuilder.mjs +0 -769
- package/dist/builder/SdCliJsLibBuilder.d.ts +0 -14
- package/dist/builder/SdCliJsLibBuilder.mjs +0 -54
- package/dist/builder/SdCliServerBuilder.d.ts +0 -28
- package/dist/builder/SdCliServerBuilder.mjs +0 -482
- package/dist/builder/SdCliTsLibBuilder.d.ts +0 -35
- package/dist/builder/SdCliTsLibBuilder.mjs +0 -317
- package/dist/entry-points/SdCliFileCrypto.d.ts +0 -7
- package/dist/entry-points/SdCliFileCrypto.mjs +0 -72
- package/dist/entry-points/SdCliLocalUpdate.d.ts +0 -13
- package/dist/entry-points/SdCliLocalUpdate.mjs +0 -100
- package/dist/entry-points/SdCliPrepare.d.ts +0 -5
- package/dist/entry-points/SdCliPrepare.mjs +0 -86
- package/dist/entry-points/SdCliProject.d.ts +0 -34
- package/dist/entry-points/SdCliProject.mjs +0 -416
- package/dist/entry-points/SdCliProjectGenerator.d.ts +0 -44
- package/dist/entry-points/SdCliProjectGenerator.mjs +0 -326
- package/dist/entry-points/file/base/fc_package_eslintrc.d.ts +0 -3
- package/dist/entry-points/file/base/fc_package_eslintrc.mjs +0 -31
- package/dist/entry-points/file/base/fc_package_npmconfig.d.ts +0 -9
- package/dist/entry-points/file/base/fc_package_npmconfig.mjs +0 -32
- package/dist/entry-points/file/base/fc_package_tsconfig.d.ts +0 -5
- package/dist/entry-points/file/base/fc_package_tsconfig.mjs +0 -13
- package/dist/entry-points/file/client/fc_package_AppModule.d.ts +0 -1
- package/dist/entry-points/file/client/fc_package_AppModule.mjs +0 -37
- package/dist/entry-points/file/client/fc_package_AppPage.d.ts +0 -1
- package/dist/entry-points/file/client/fc_package_AppPage.mjs +0 -14
- package/dist/entry-points/file/client/fc_package_Page.d.ts +0 -4
- package/dist/entry-points/file/client/fc_package_Page.mjs +0 -19
- package/dist/entry-points/file/client/fc_package_client_main.d.ts +0 -1
- package/dist/entry-points/file/client/fc_package_client_main.mjs +0 -19
- package/dist/entry-points/file/client/fc_package_index.d.ts +0 -3
- package/dist/entry-points/file/client/fc_package_index.mjs +0 -88
- package/dist/entry-points/file/client/fc_package_manifest.d.ts +0 -5
- package/dist/entry-points/file/client/fc_package_manifest.mjs +0 -54
- package/dist/entry-points/file/client/fc_package_polyfills.d.ts +0 -1
- package/dist/entry-points/file/client/fc_package_polyfills.mjs +0 -11
- package/dist/entry-points/file/client/fc_package_styles.d.ts +0 -1
- package/dist/entry-points/file/client/fc_package_styles.mjs +0 -7
- package/dist/entry-points/file/db/fc_package_DbContext.d.ts +0 -3
- package/dist/entry-points/file/db/fc_package_DbContext.mjs +0 -14
- package/dist/entry-points/file/db/fc_package_DbModel.d.ts +0 -4
- package/dist/entry-points/file/db/fc_package_DbModel.mjs +0 -12
- package/dist/entry-points/file/project/fc_project_editor_config.d.ts +0 -1
- package/dist/entry-points/file/project/fc_project_editor_config.mjs +0 -22
- package/dist/entry-points/file/project/fc_project_eslintrc.d.ts +0 -1
- package/dist/entry-points/file/project/fc_project_eslintrc.mjs +0 -30
- package/dist/entry-points/file/project/fc_project_gitattributes.d.ts +0 -1
- package/dist/entry-points/file/project/fc_project_gitattributes.mjs +0 -6
- package/dist/entry-points/file/project/fc_project_gitignore.d.ts +0 -1
- package/dist/entry-points/file/project/fc_project_gitignore.mjs +0 -27
- package/dist/entry-points/file/project/fc_project_npmconfig.d.ts +0 -7
- package/dist/entry-points/file/project/fc_project_npmconfig.mjs +0 -37
- package/dist/entry-points/file/project/fc_project_readme.d.ts +0 -3
- package/dist/entry-points/file/project/fc_project_readme.mjs +0 -13
- package/dist/entry-points/file/project/fc_project_simplysm.d.ts +0 -1
- package/dist/entry-points/file/project/fc_project_simplysm.mjs +0 -2
- package/dist/entry-points/file/project/fc_project_tsconfig.d.ts +0 -1
- package/dist/entry-points/file/project/fc_project_tsconfig.mjs +0 -25
- package/dist/entry-points/file/server/fc_package_server_main.d.ts +0 -5
- package/dist/entry-points/file/server/fc_package_server_main.mjs +0 -60
- package/dist/index.d.ts +0 -54
- package/dist/index.mjs +0 -55
- package/dist/ng-tools/SdCliNgModuleGenerator.d.ts +0 -29
- package/dist/ng-tools/SdCliNgModuleGenerator.mjs +0 -502
- package/dist/ng-tools/babel/SdCliBbFileMetadata.d.ts +0 -25
- package/dist/ng-tools/babel/SdCliBbFileMetadata.mjs +0 -539
- package/dist/ng-tools/babel/SdCliBbRootMetadata.d.ts +0 -23
- package/dist/ng-tools/babel/SdCliBbRootMetadata.mjs +0 -247
- package/dist/ng-tools/babel/SdCliBbUtil.d.ts +0 -5
- package/dist/ng-tools/babel/SdCliBbUtil.mjs +0 -14
- package/dist/ng-tools/babel/TSdCliBbNgMetadata.d.ts +0 -42
- package/dist/ng-tools/babel/TSdCliBbNgMetadata.mjs +0 -216
- package/dist/ng-tools/babel/TSdCliBbTypeMetadata.d.ts +0 -55
- package/dist/ng-tools/babel/TSdCliBbTypeMetadata.mjs +0 -151
- package/dist/ng-tools/commons.d.ts +0 -9
- package/dist/ng-tools/commons.mjs +0 -2
- package/dist/ng-tools/typescript/SdCliTsFileMetadata.d.ts +0 -61
- package/dist/ng-tools/typescript/SdCliTsFileMetadata.mjs +0 -325
- package/dist/ng-tools/typescript/SdCliTsRootMetadata.d.ts +0 -8
- package/dist/ng-tools/typescript/SdCliTsRootMetadata.mjs +0 -28
- package/dist/ng-tools/typescript/SdCliTsUtil.d.ts +0 -5
- package/dist/ng-tools/typescript/SdCliTsUtil.mjs +0 -28
- package/dist/packages/SdCliPackage.d.ts +0 -22
- package/dist/packages/SdCliPackage.mjs +0 -206
- package/dist/utils/SdCliNpmConfigUtil.d.ts +0 -7
- package/dist/utils/SdCliNpmConfigUtil.mjs +0 -15
- package/dist/worker/build-worker.mjs +0 -67
- package/dist/worker/server-worker.mjs +0 -67
- package/docs/client-add-page.md +0 -8
- package/docs/client-router.md +0 -85
- package/docs/client-sw.md +0 -101
- package/docs/conf-orm.md +0 -81
- package/docs/conf-usage.md +0 -5
- package/docs/lib-local-update.md +0 -50
- package/docs/lib-ts-paths.md +0 -25
- package/lib/cordova-entry.js +0 -22
- package/src/SdCliBuildResultError.ts +0 -9
- package/src/bin/sd-cli.ts +0 -493
- package/src/build-tool/SdCliCacheCompilerHost.ts +0 -79
- package/src/build-tool/SdCliCordova.ts +0 -263
- package/src/build-tool/SdCliElectron.ts +0 -85
- package/src/build-tool/SdCliGithubApi.ts +0 -111
- package/src/build-tool/SdCliIndexFileGenerator.ts +0 -79
- package/src/build-tool/SdCliNgCacheCompilerHost.ts +0 -58
- package/src/build-tool/SdCliPackageLinter.ts +0 -74
- package/src/builder/SdCliClientBuilder.ts +0 -879
- package/src/builder/SdCliJsLibBuilder.ts +0 -70
- package/src/builder/SdCliServerBuilder.ts +0 -552
- package/src/builder/SdCliTsLibBuilder.ts +0 -450
- package/src/entry-points/SdCliFileCrypto.ts +0 -87
- package/src/entry-points/SdCliLocalUpdate.ts +0 -121
- package/src/entry-points/SdCliPrepare.ts +0 -86
- package/src/entry-points/SdCliProject.ts +0 -491
- package/src/entry-points/SdCliProjectGenerator.ts +0 -402
- package/src/entry-points/file/base/fc_package_eslintrc.ts +0 -30
- package/src/entry-points/file/base/fc_package_npmconfig.ts +0 -43
- package/src/entry-points/file/base/fc_package_tsconfig.ts +0 -12
- package/src/entry-points/file/client/fc_package_AppModule.ts +0 -36
- package/src/entry-points/file/client/fc_package_AppPage.ts +0 -13
- package/src/entry-points/file/client/fc_package_Page.ts +0 -19
- package/src/entry-points/file/client/fc_package_client_main.ts +0 -18
- package/src/entry-points/file/client/fc_package_index.ts +0 -87
- package/src/entry-points/file/client/fc_package_manifest.ts +0 -53
- package/src/entry-points/file/client/fc_package_polyfills.ts +0 -10
- package/src/entry-points/file/client/fc_package_styles.ts +0 -6
- package/src/entry-points/file/db/fc_package_DbContext.ts +0 -14
- package/src/entry-points/file/db/fc_package_DbModel.ts +0 -11
- package/src/entry-points/file/project/fc_project_editor_config.ts +0 -21
- package/src/entry-points/file/project/fc_project_eslintrc.ts +0 -29
- package/src/entry-points/file/project/fc_project_gitattributes.ts +0 -5
- package/src/entry-points/file/project/fc_project_gitignore.ts +0 -26
- package/src/entry-points/file/project/fc_project_npmconfig.ts +0 -36
- package/src/entry-points/file/project/fc_project_readme.ts +0 -12
- package/src/entry-points/file/project/fc_project_simplysm.ts +0 -1
- package/src/entry-points/file/project/fc_project_tsconfig.ts +0 -24
- package/src/entry-points/file/server/fc_package_server_main.ts +0 -62
- package/src/index.ts +0 -54
- package/src/ng-tools/SdCliNgModuleGenerator.ts +0 -672
- package/src/ng-tools/babel/SdCliBbFileMetadata.ts +0 -629
- package/src/ng-tools/babel/SdCliBbRootMetadata.ts +0 -292
- package/src/ng-tools/babel/SdCliBbUtil.ts +0 -15
- package/src/ng-tools/babel/TSdCliBbNgMetadata.ts +0 -251
- package/src/ng-tools/babel/TSdCliBbTypeMetadata.ts +0 -212
- package/src/ng-tools/commons.ts +0 -3
- package/src/ng-tools/typescript/SdCliTsFileMetadata.ts +0 -384
- package/src/ng-tools/typescript/SdCliTsRootMetadata.ts +0 -32
- package/src/ng-tools/typescript/SdCliTsUtil.ts +0 -29
- package/src/packages/SdCliPackage.ts +0 -259
- package/src/utils/SdCliNpmConfigUtil.ts +0 -16
- package/src/worker/build-worker.ts +0 -73
- package/src/worker/server-worker.ts +0 -72
- /package/dist/{worker/build-worker.d.ts → build-cluster.d.ts} +0 -0
- /package/dist/{worker/server-worker.d.ts → sd-cli.d.ts} +0 -0
|
@@ -1,539 +0,0 @@
|
|
|
1
|
-
import { isArrayExpression, isAssignmentExpression, isCallExpression, isClassDeclaration, isConditionalExpression, isExportDeclaration, isExportDefaultDeclaration, isExportNamedDeclaration, isExportSpecifier, isExpressionStatement, isFunctionDeclaration, isIdentifier, isImportDeclaration, isImportDefaultSpecifier, isImportNamespaceSpecifier, isImportSpecifier, isMemberExpression, isObjectExpression, isSpreadElement, isStringLiteral, isVariableDeclaration, traverseFast } from "@babel/types";
|
|
2
|
-
import babelParser from "@babel/parser";
|
|
3
|
-
import { FsUtil } from "@simplysm/sd-core-node";
|
|
4
|
-
import path from "path";
|
|
5
|
-
import { SdCliBbArrayMetadata, SdCliBbClassMetadata, SdCliBbConditionMetadata, SdCliBbFunctionMetadata, SdCliBbObjectMetadata, SdCliBbVariableMetadata } from "./TSdCliBbTypeMetadata";
|
|
6
|
-
import { SdCliBbUtil } from "./SdCliBbUtil";
|
|
7
|
-
import { NeverEntryError } from "@simplysm/sd-core-common";
|
|
8
|
-
export class SdCliBbFileMetadata {
|
|
9
|
-
constructor(filePath) {
|
|
10
|
-
this.filePath = filePath;
|
|
11
|
-
this._findMetaFromOutsideCache = new Map();
|
|
12
|
-
this._findMetaFromInsideCache = new Map();
|
|
13
|
-
this._getNgDecoArgCache = new Map();
|
|
14
|
-
let realFilePath;
|
|
15
|
-
for (const ext of ["", ".mjs", ".cjs", ".js" /*, "/index.mjs", "/index.cjs", "/index.js"*/]) {
|
|
16
|
-
if (FsUtil.exists(filePath + ext) && !FsUtil.stat(filePath + ext).isDirectory()) {
|
|
17
|
-
realFilePath = filePath + ext;
|
|
18
|
-
break;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
if (realFilePath === undefined) {
|
|
22
|
-
throw SdCliBbUtil.error("파일을 찾을 수 없습니다.", filePath);
|
|
23
|
-
}
|
|
24
|
-
const fileContent = FsUtil.readFile(realFilePath);
|
|
25
|
-
try {
|
|
26
|
-
this.ast = babelParser.parse(fileContent, { sourceType: "module" });
|
|
27
|
-
}
|
|
28
|
-
catch (err) {
|
|
29
|
-
throw SdCliBbUtil.error(err.message, this.filePath, err.loc);
|
|
30
|
-
}
|
|
31
|
-
this.rawMetas = this.ast.program.body;
|
|
32
|
-
}
|
|
33
|
-
get exports() {
|
|
34
|
-
if (this._exportsCache)
|
|
35
|
-
return this._exportsCache;
|
|
36
|
-
const result = [];
|
|
37
|
-
for (const rawMeta of this.rawMetas) {
|
|
38
|
-
if (!isExportDeclaration(rawMeta))
|
|
39
|
-
continue;
|
|
40
|
-
if (isExportNamedDeclaration(rawMeta)) {
|
|
41
|
-
if (rawMeta.declaration) {
|
|
42
|
-
if (isVariableDeclaration(rawMeta.declaration)) {
|
|
43
|
-
for (const decl of rawMeta.declaration.declarations) {
|
|
44
|
-
if (isIdentifier(decl.id)) {
|
|
45
|
-
result.push({
|
|
46
|
-
exportedName: decl.id.name,
|
|
47
|
-
target: new SdCliBbVariableMetadata(this, decl)
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
throw SdCliBbUtil.error("예상치 못한 방식의 코드가 발견되었습니다.", this.filePath, rawMeta);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
else if (isClassDeclaration(rawMeta.declaration)) {
|
|
56
|
-
result.push({
|
|
57
|
-
exportedName: rawMeta.declaration.id.name,
|
|
58
|
-
target: new SdCliBbClassMetadata(this, rawMeta.declaration)
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
else if (isFunctionDeclaration(rawMeta.declaration)) {
|
|
62
|
-
if (rawMeta.declaration.id) {
|
|
63
|
-
result.push({
|
|
64
|
-
exportedName: rawMeta.declaration.id.name,
|
|
65
|
-
target: new SdCliBbFunctionMetadata(this, rawMeta.declaration)
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
throw SdCliBbUtil.error("예상치 못한 방식의 코드가 발견되었습니다.", this.filePath, rawMeta);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
throw SdCliBbUtil.error("예상치 못한 방식의 코드가 발견되었습니다.", this.filePath, rawMeta);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
for (const specifier of rawMeta.specifiers) {
|
|
78
|
-
if (isExportSpecifier(specifier)) {
|
|
79
|
-
const exportedName = isIdentifier(specifier.exported) ? specifier.exported.name : undefined;
|
|
80
|
-
if (exportedName === undefined) {
|
|
81
|
-
throw SdCliBbUtil.error("예상치 못한 방식의 코드가 발견되었습니다.", this.filePath, rawMeta);
|
|
82
|
-
}
|
|
83
|
-
if (rawMeta.source) {
|
|
84
|
-
if (rawMeta.source.value.startsWith(".")) {
|
|
85
|
-
const moduleFilePath = path.resolve(path.dirname(this.filePath), rawMeta.source.value);
|
|
86
|
-
result.push({
|
|
87
|
-
exportedName,
|
|
88
|
-
target: {
|
|
89
|
-
filePath: moduleFilePath,
|
|
90
|
-
name: specifier.local.name,
|
|
91
|
-
__TSdCliMetaRef__: "__TSdCliMetaRef__"
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
const moduleName = rawMeta.source.value;
|
|
97
|
-
result.push({
|
|
98
|
-
exportedName,
|
|
99
|
-
target: { moduleName, name: specifier.local.name, __TSdCliMetaRef__: "__TSdCliMetaRef__" }
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
result.push({
|
|
105
|
-
exportedName,
|
|
106
|
-
target: this.findMetaFromInside(specifier.local.name)
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
throw SdCliBbUtil.error("예상치 못한 방식의 코드가 발견되었습니다.", this.filePath, rawMeta);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
else if (isExportDefaultDeclaration(rawMeta)) {
|
|
117
|
-
result.push({
|
|
118
|
-
exportedName: "default",
|
|
119
|
-
target: this.getMetaFromRaw(rawMeta.declaration)
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
if (rawMeta.source.value.startsWith(".")) {
|
|
124
|
-
const moduleFilePath = path.resolve(path.dirname(this.filePath), rawMeta.source.value);
|
|
125
|
-
result.push({
|
|
126
|
-
exportedName: "*",
|
|
127
|
-
target: {
|
|
128
|
-
filePath: moduleFilePath,
|
|
129
|
-
name: "*",
|
|
130
|
-
__TSdCliMetaRef__: "__TSdCliMetaRef__"
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
const moduleName = rawMeta.source.value;
|
|
136
|
-
result.push({
|
|
137
|
-
exportedName: "*",
|
|
138
|
-
target: { moduleName, name: "*", __TSdCliMetaRef__: "__TSdCliMetaRef__" }
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
this._exportsCache = result;
|
|
144
|
-
return result;
|
|
145
|
-
}
|
|
146
|
-
findMetaFromOutside(name) {
|
|
147
|
-
const cache = this._findMetaFromOutsideCache.get(name);
|
|
148
|
-
if (cache !== undefined)
|
|
149
|
-
return cache;
|
|
150
|
-
for (const rawMeta of this.rawMetas) {
|
|
151
|
-
if (isExportNamedDeclaration(rawMeta)) {
|
|
152
|
-
if (rawMeta.declaration) {
|
|
153
|
-
if (isVariableDeclaration(rawMeta.declaration)) {
|
|
154
|
-
for (const decl of rawMeta.declaration.declarations) {
|
|
155
|
-
if (isIdentifier(decl.id)) {
|
|
156
|
-
if (decl.id.name === name) {
|
|
157
|
-
const result = new SdCliBbVariableMetadata(this, decl);
|
|
158
|
-
this._findMetaFromOutsideCache.set(name, result);
|
|
159
|
-
return result;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
else {
|
|
163
|
-
throw SdCliBbUtil.error("예상치 못한 방식의 코드가 발견되었습니다.", this.filePath, rawMeta);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
else if (isClassDeclaration(rawMeta.declaration)) {
|
|
168
|
-
if (rawMeta.declaration.id.name === name) {
|
|
169
|
-
const result = new SdCliBbClassMetadata(this, rawMeta.declaration);
|
|
170
|
-
this._findMetaFromOutsideCache.set(name, result);
|
|
171
|
-
return result;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
else if (isFunctionDeclaration(rawMeta.declaration)) {
|
|
175
|
-
if (rawMeta.declaration.id) {
|
|
176
|
-
if (rawMeta.declaration.id.name === name) {
|
|
177
|
-
const result = new SdCliBbFunctionMetadata(this, rawMeta.declaration);
|
|
178
|
-
this._findMetaFromOutsideCache.set(name, result);
|
|
179
|
-
return result;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
throw SdCliBbUtil.error("예상치 못한 방식의 코드가 발견되었습니다.", this.filePath, rawMeta);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
else {
|
|
187
|
-
throw SdCliBbUtil.error("예상치 못한 방식의 코드가 발견되었습니다.", this.filePath, rawMeta);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
else {
|
|
191
|
-
for (const specifier of rawMeta.specifiers) {
|
|
192
|
-
if (isExportSpecifier(specifier)) {
|
|
193
|
-
const exportedName = isIdentifier(specifier.exported) ? specifier.exported.name : undefined;
|
|
194
|
-
if (exportedName === undefined) {
|
|
195
|
-
throw SdCliBbUtil.error("예상치 못한 방식의 코드가 발견되었습니다.", this.filePath, rawMeta);
|
|
196
|
-
}
|
|
197
|
-
else if (exportedName === name) {
|
|
198
|
-
if (rawMeta.source) {
|
|
199
|
-
if (rawMeta.source.value.startsWith(".")) {
|
|
200
|
-
const moduleFilePath = path.resolve(path.dirname(this.filePath), rawMeta.source.value);
|
|
201
|
-
const result = {
|
|
202
|
-
filePath: moduleFilePath,
|
|
203
|
-
name: specifier.local.name,
|
|
204
|
-
__TSdCliMetaRef__: "__TSdCliMetaRef__"
|
|
205
|
-
};
|
|
206
|
-
this._findMetaFromOutsideCache.set(name, result);
|
|
207
|
-
return result;
|
|
208
|
-
}
|
|
209
|
-
else {
|
|
210
|
-
const moduleName = rawMeta.source.value;
|
|
211
|
-
const result = {
|
|
212
|
-
moduleName,
|
|
213
|
-
name: specifier.local.name,
|
|
214
|
-
__TSdCliMetaRef__: "__TSdCliMetaRef__"
|
|
215
|
-
};
|
|
216
|
-
this._findMetaFromOutsideCache.set(name, result);
|
|
217
|
-
return result;
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
else {
|
|
221
|
-
const result = this.findMetaFromInside(specifier.local.name);
|
|
222
|
-
this._findMetaFromOutsideCache.set(name, result);
|
|
223
|
-
return result;
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
else if (isExportDefaultDeclaration(rawMeta) && name === "default") {
|
|
231
|
-
const result = this.getMetaFromRaw(rawMeta.declaration);
|
|
232
|
-
if (Array.isArray(result)) {
|
|
233
|
-
throw SdCliBbUtil.error("예상치 못한 방식의 코드가 발견되었습니다.", this.filePath, rawMeta);
|
|
234
|
-
}
|
|
235
|
-
this._findMetaFromOutsideCache.set(name, result);
|
|
236
|
-
return result;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
// throw SdCliBbUtil.error(`'${name}'에 대한 선언을 찾을 수 없습니다.`, this.filePath);
|
|
240
|
-
return undefined;
|
|
241
|
-
}
|
|
242
|
-
findMetaFromInside(localName, excludeExport) {
|
|
243
|
-
const cache = this._findMetaFromInsideCache.get(localName);
|
|
244
|
-
if (cache !== undefined)
|
|
245
|
-
return cache;
|
|
246
|
-
for (const rawMeta of this.rawMetas) {
|
|
247
|
-
if (isClassDeclaration(rawMeta) && rawMeta.id.name === localName) {
|
|
248
|
-
return new SdCliBbClassMetadata(this, rawMeta);
|
|
249
|
-
}
|
|
250
|
-
else if (!excludeExport && isExportNamedDeclaration(rawMeta)) {
|
|
251
|
-
for (const specifier of rawMeta.specifiers) {
|
|
252
|
-
if (isExportSpecifier(specifier)) {
|
|
253
|
-
const exportedName = isIdentifier(specifier.exported) ? specifier.exported.name : undefined;
|
|
254
|
-
if (exportedName === undefined) {
|
|
255
|
-
throw SdCliBbUtil.error("예상치 못한 방식의 코드가 발견되었습니다.", this.filePath, rawMeta);
|
|
256
|
-
}
|
|
257
|
-
else if (exportedName === localName) {
|
|
258
|
-
if (rawMeta.source) {
|
|
259
|
-
if (rawMeta.source.value.startsWith(".")) {
|
|
260
|
-
const moduleFilePath = path.resolve(path.dirname(this.filePath), rawMeta.source.value);
|
|
261
|
-
const result = {
|
|
262
|
-
filePath: moduleFilePath,
|
|
263
|
-
name: specifier.local.name,
|
|
264
|
-
__TSdCliMetaRef__: "__TSdCliMetaRef__"
|
|
265
|
-
};
|
|
266
|
-
this._findMetaFromInsideCache.set(localName, result);
|
|
267
|
-
return result;
|
|
268
|
-
}
|
|
269
|
-
else {
|
|
270
|
-
const moduleName = rawMeta.source.value;
|
|
271
|
-
const result = {
|
|
272
|
-
moduleName,
|
|
273
|
-
name: specifier.local.name,
|
|
274
|
-
__TSdCliMetaRef__: "__TSdCliMetaRef__"
|
|
275
|
-
};
|
|
276
|
-
this._findMetaFromInsideCache.set(localName, result);
|
|
277
|
-
return result;
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
else {
|
|
281
|
-
const localImportName = isIdentifier(specifier.local) ? specifier.local.name : undefined;
|
|
282
|
-
if (localImportName === undefined) {
|
|
283
|
-
throw SdCliBbUtil.error("예상치 못한 방식의 코드가 발견되었습니다.", this.filePath, rawMeta);
|
|
284
|
-
}
|
|
285
|
-
else if (exportedName !== localImportName) {
|
|
286
|
-
const result = this.findMetaFromInside(localImportName);
|
|
287
|
-
this._findMetaFromInsideCache.set(localImportName, result);
|
|
288
|
-
return result;
|
|
289
|
-
}
|
|
290
|
-
else {
|
|
291
|
-
const result = this.findMetaFromInside(localImportName, true);
|
|
292
|
-
this._findMetaFromInsideCache.set(localImportName, result);
|
|
293
|
-
return result;
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
// else if (!excludeExport && isExportDefaultDeclaration(rawMeta) && localName === "default") {
|
|
301
|
-
// const result = this.getMetaFromRaw(rawMeta.declaration);
|
|
302
|
-
// if (Array.isArray(result)) {
|
|
303
|
-
// throw new NeverEntryError();
|
|
304
|
-
// }
|
|
305
|
-
// this._findMetaFromInsideCache.set(localName, result);
|
|
306
|
-
// return result;
|
|
307
|
-
// }
|
|
308
|
-
else if (isImportDeclaration(rawMeta)) {
|
|
309
|
-
for (const specifier of rawMeta.specifiers) {
|
|
310
|
-
if (isImportSpecifier(specifier)) {
|
|
311
|
-
const impLocalName = isIdentifier(specifier.local) ? specifier.local.name : undefined;
|
|
312
|
-
if (impLocalName === undefined) {
|
|
313
|
-
throw SdCliBbUtil.error("예상치 못한 방식의 코드가 발견되었습니다.", this.filePath, rawMeta);
|
|
314
|
-
}
|
|
315
|
-
else if (impLocalName === localName) {
|
|
316
|
-
if (isIdentifier(specifier.imported)) {
|
|
317
|
-
if (rawMeta.source.value.startsWith(".")) {
|
|
318
|
-
const moduleFilePath = path.resolve(path.dirname(this.filePath), rawMeta.source.value);
|
|
319
|
-
const result = {
|
|
320
|
-
filePath: moduleFilePath,
|
|
321
|
-
name: specifier.imported.name,
|
|
322
|
-
__TSdCliMetaRef__: "__TSdCliMetaRef__"
|
|
323
|
-
};
|
|
324
|
-
this._findMetaFromInsideCache.set(localName, result);
|
|
325
|
-
return result;
|
|
326
|
-
}
|
|
327
|
-
else {
|
|
328
|
-
const moduleName = rawMeta.source.value;
|
|
329
|
-
const result = {
|
|
330
|
-
moduleName,
|
|
331
|
-
name: specifier.imported.name,
|
|
332
|
-
__TSdCliMetaRef__: "__TSdCliMetaRef__"
|
|
333
|
-
};
|
|
334
|
-
this._findMetaFromInsideCache.set(localName, result);
|
|
335
|
-
return result;
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
else {
|
|
339
|
-
throw SdCliBbUtil.error("예상치 못한 방식의 코드가 발견되었습니다.", this.filePath, rawMeta);
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
else if (isImportDefaultSpecifier(specifier)) {
|
|
344
|
-
if (specifier.local.name === localName) {
|
|
345
|
-
if (rawMeta.source.value.startsWith(".")) {
|
|
346
|
-
const moduleFilePath = path.resolve(path.dirname(this.filePath), rawMeta.source.value);
|
|
347
|
-
const result = {
|
|
348
|
-
filePath: moduleFilePath,
|
|
349
|
-
name: "default",
|
|
350
|
-
__TSdCliMetaRef__: "__TSdCliMetaRef__"
|
|
351
|
-
};
|
|
352
|
-
this._findMetaFromInsideCache.set(localName, result);
|
|
353
|
-
return result;
|
|
354
|
-
}
|
|
355
|
-
else {
|
|
356
|
-
const moduleName = rawMeta.source.value;
|
|
357
|
-
const result = {
|
|
358
|
-
moduleName,
|
|
359
|
-
name: "default",
|
|
360
|
-
__TSdCliMetaRef__: "__TSdCliMetaRef__"
|
|
361
|
-
};
|
|
362
|
-
this._findMetaFromInsideCache.set(localName, result);
|
|
363
|
-
return result;
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
else if (isImportNamespaceSpecifier(specifier)) {
|
|
368
|
-
if (specifier.local.name === localName) {
|
|
369
|
-
if (rawMeta.source.value.startsWith(".")) {
|
|
370
|
-
const moduleFilePath = path.resolve(path.dirname(this.filePath), rawMeta.source.value);
|
|
371
|
-
const result = {
|
|
372
|
-
filePath: moduleFilePath,
|
|
373
|
-
name: "*",
|
|
374
|
-
__TSdCliMetaRef__: "__TSdCliMetaRef__"
|
|
375
|
-
};
|
|
376
|
-
this._findMetaFromInsideCache.set(localName, result);
|
|
377
|
-
return result;
|
|
378
|
-
}
|
|
379
|
-
else {
|
|
380
|
-
const moduleName = rawMeta.source.value;
|
|
381
|
-
const result = {
|
|
382
|
-
moduleName,
|
|
383
|
-
name: "*",
|
|
384
|
-
__TSdCliMetaRef__: "__TSdCliMetaRef__"
|
|
385
|
-
};
|
|
386
|
-
this._findMetaFromInsideCache.set(localName, result);
|
|
387
|
-
return result;
|
|
388
|
-
// throw SdCliBbUtil.error("예상치 못한 방식의 코드가 발견되었습니다.", this.filePath, rawMeta);
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
}
|
|
394
|
-
else if (isVariableDeclaration(rawMeta)) {
|
|
395
|
-
for (const decl of rawMeta.declarations) {
|
|
396
|
-
if (isIdentifier(decl.id)) {
|
|
397
|
-
if (decl.id.name === localName) {
|
|
398
|
-
const result = new SdCliBbVariableMetadata(this, decl);
|
|
399
|
-
this._findMetaFromInsideCache.set(localName, result);
|
|
400
|
-
return result;
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
else {
|
|
404
|
-
throw SdCliBbUtil.error("예상치 못한 방식의 코드가 발견되었습니다.", this.filePath, rawMeta);
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
}
|
|
408
|
-
else if (isFunctionDeclaration(rawMeta)) {
|
|
409
|
-
if (rawMeta.id) {
|
|
410
|
-
if (rawMeta.id.name === localName) {
|
|
411
|
-
const result = new SdCliBbFunctionMetadata(this, rawMeta);
|
|
412
|
-
this._findMetaFromInsideCache.set(localName, result);
|
|
413
|
-
return result;
|
|
414
|
-
}
|
|
415
|
-
}
|
|
416
|
-
else {
|
|
417
|
-
throw SdCliBbUtil.error("예상치 못한 방식의 코드가 발견되었습니다.", this.filePath, rawMeta);
|
|
418
|
-
}
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
throw SdCliBbUtil.error(`'${localName}'에 대한 내부선언을 찾을 수 없습니다.`, this.filePath);
|
|
422
|
-
}
|
|
423
|
-
getMetaFromRaw(rawMeta) {
|
|
424
|
-
if (isIdentifier(rawMeta)) {
|
|
425
|
-
return this.findMetaFromInside(rawMeta.name);
|
|
426
|
-
}
|
|
427
|
-
else if (isClassDeclaration(rawMeta)) {
|
|
428
|
-
return new SdCliBbClassMetadata(this, rawMeta);
|
|
429
|
-
}
|
|
430
|
-
else if (isFunctionDeclaration(rawMeta)) {
|
|
431
|
-
return new SdCliBbFunctionMetadata(this, rawMeta);
|
|
432
|
-
}
|
|
433
|
-
else if (isArrayExpression(rawMeta)) {
|
|
434
|
-
return new SdCliBbArrayMetadata(this, rawMeta);
|
|
435
|
-
}
|
|
436
|
-
else if (isObjectExpression(rawMeta)) {
|
|
437
|
-
return new SdCliBbObjectMetadata(this, rawMeta);
|
|
438
|
-
}
|
|
439
|
-
else if (isStringLiteral(rawMeta)) {
|
|
440
|
-
return rawMeta.value;
|
|
441
|
-
}
|
|
442
|
-
else if (isSpreadElement(rawMeta)) {
|
|
443
|
-
return this.getMetaFromRaw(rawMeta.argument);
|
|
444
|
-
}
|
|
445
|
-
else if (isConditionalExpression(rawMeta)) {
|
|
446
|
-
return new SdCliBbConditionMetadata(this, rawMeta);
|
|
447
|
-
}
|
|
448
|
-
throw SdCliBbUtil.error("예상치 못한 방식의 코드가 발견되었습니다.", this.filePath, rawMeta);
|
|
449
|
-
}
|
|
450
|
-
getNgDecoArg(className) {
|
|
451
|
-
if (this._getNgDecoArgCache.has(className)) {
|
|
452
|
-
return this._getNgDecoArgCache.get(className);
|
|
453
|
-
}
|
|
454
|
-
for (const meta of this.rawMetas) {
|
|
455
|
-
// 'compilationMode: partial' 일때
|
|
456
|
-
if (isExpressionStatement(meta) &&
|
|
457
|
-
isCallExpression(meta.expression) &&
|
|
458
|
-
((isMemberExpression(meta.expression.callee) &&
|
|
459
|
-
isIdentifier(meta.expression.callee.property) &&
|
|
460
|
-
meta.expression.callee.property.name === "ɵɵngDeclareClassMetadata") ||
|
|
461
|
-
(isIdentifier(meta.expression.callee) &&
|
|
462
|
-
meta.expression.callee.name === "ngDeclareClassMetadata")) &&
|
|
463
|
-
isObjectExpression(meta.expression.arguments[0])) {
|
|
464
|
-
const objMeta = new SdCliBbObjectMetadata(this, meta.expression.arguments[0]);
|
|
465
|
-
const typePropVal = objMeta.getPropValue("type");
|
|
466
|
-
if (typePropVal instanceof SdCliBbClassMetadata &&
|
|
467
|
-
typePropVal.name === className) {
|
|
468
|
-
const decos = objMeta.getPropValue("decorators");
|
|
469
|
-
if (decos instanceof SdCliBbArrayMetadata &&
|
|
470
|
-
decos.value[0] instanceof SdCliBbObjectMetadata) {
|
|
471
|
-
const args = decos.value[0].getPropValue("args");
|
|
472
|
-
if (args instanceof SdCliBbArrayMetadata &&
|
|
473
|
-
args.value[0] instanceof SdCliBbObjectMetadata) {
|
|
474
|
-
this._getNgDecoArgCache.set(className, args.value[0]);
|
|
475
|
-
return args.value[0];
|
|
476
|
-
}
|
|
477
|
-
}
|
|
478
|
-
else {
|
|
479
|
-
throw new NeverEntryError();
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
|
-
}
|
|
483
|
-
}
|
|
484
|
-
// 'compilationMode: full' 일때
|
|
485
|
-
let result;
|
|
486
|
-
traverseFast(this.ast, (node) => {
|
|
487
|
-
if (isCallExpression(node) &&
|
|
488
|
-
((isMemberExpression(node.callee) &&
|
|
489
|
-
isIdentifier(node.callee.property) &&
|
|
490
|
-
node.callee.property.name === "ɵsetClassMetadata") ||
|
|
491
|
-
(isIdentifier(node.callee) &&
|
|
492
|
-
node.callee.name === "setClassMetadata")) &&
|
|
493
|
-
isIdentifier(node.arguments[0]) &&
|
|
494
|
-
node.arguments[0].name === className &&
|
|
495
|
-
isArrayExpression(node.arguments[1])) {
|
|
496
|
-
const decos = new SdCliBbArrayMetadata(this, node.arguments[1]);
|
|
497
|
-
if (decos.value[0] instanceof SdCliBbObjectMetadata) {
|
|
498
|
-
const args = decos.value[0].getPropValue("args");
|
|
499
|
-
if (args instanceof SdCliBbArrayMetadata &&
|
|
500
|
-
args.value[0] instanceof SdCliBbObjectMetadata) {
|
|
501
|
-
result = args.value[0];
|
|
502
|
-
}
|
|
503
|
-
}
|
|
504
|
-
else {
|
|
505
|
-
throw new NeverEntryError();
|
|
506
|
-
}
|
|
507
|
-
}
|
|
508
|
-
});
|
|
509
|
-
// if (result === undefined) {
|
|
510
|
-
// throw new NeverEntryError(this.filePath + "," + className);
|
|
511
|
-
// }
|
|
512
|
-
this._getNgDecoArgCache.set(className, result);
|
|
513
|
-
return result;
|
|
514
|
-
}
|
|
515
|
-
getNgDecoPropValue(className, decoName, propName) {
|
|
516
|
-
for (const meta of this.rawMetas) {
|
|
517
|
-
if (isExpressionStatement(meta) &&
|
|
518
|
-
isAssignmentExpression(meta.expression) &&
|
|
519
|
-
isMemberExpression(meta.expression.left) &&
|
|
520
|
-
isIdentifier(meta.expression.left.object) &&
|
|
521
|
-
meta.expression.left.object.name === className &&
|
|
522
|
-
isIdentifier(meta.expression.left.property)) {
|
|
523
|
-
if (meta.expression.left.property.name === decoName) {
|
|
524
|
-
if (isCallExpression(meta.expression.right) &&
|
|
525
|
-
meta.expression.right.arguments.length > 0 &&
|
|
526
|
-
isObjectExpression(meta.expression.right.arguments[0])) {
|
|
527
|
-
const dirObjMeta = new SdCliBbObjectMetadata(this, meta.expression.right.arguments[0]);
|
|
528
|
-
return dirObjMeta.getPropValue(propName);
|
|
529
|
-
}
|
|
530
|
-
else {
|
|
531
|
-
throw new NeverEntryError();
|
|
532
|
-
}
|
|
533
|
-
}
|
|
534
|
-
}
|
|
535
|
-
}
|
|
536
|
-
throw new NeverEntryError();
|
|
537
|
-
}
|
|
538
|
-
}
|
|
539
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2RDbGlCYkZpbGVNZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uZy10b29scy9iYWJlbC9TZENsaUJiRmlsZU1ldGFkYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxpQkFBaUIsRUFDakIsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQiwwQkFBMEIsRUFDMUIsd0JBQXdCLEVBQ3hCLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsd0JBQXdCLEVBQ3hCLDBCQUEwQixFQUMxQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsZUFBZSxFQUNmLHFCQUFxQixFQUlyQixZQUFZLEVBQ2IsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxXQUEyQixNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEQsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRXhCLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4Qix1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUN4QixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE1BQU0sT0FBTyxtQkFBbUI7SUFJOUIsWUFBbUMsUUFBZ0I7UUFBaEIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQTRJbEMsOEJBQXlCLEdBQUcsSUFBSSxHQUFHLEVBQTRCLENBQUM7UUFvR2hFLDZCQUF3QixHQUFHLElBQUksR0FBRyxFQUE0QixDQUFD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
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { SdCliBbFileMetadata } from "./SdCliBbFileMetadata";
|
|
2
|
-
import { TSdCliBbTypeMetadata } from "./TSdCliBbTypeMetadata";
|
|
3
|
-
import { TSdCliMetaRef } from "../commons";
|
|
4
|
-
export declare class SdCliBbRootMetadata {
|
|
5
|
-
private readonly _depMap;
|
|
6
|
-
private readonly _fileMetaCache;
|
|
7
|
-
constructor(packagePath: string);
|
|
8
|
-
removeCaches(filePaths: string[]): void;
|
|
9
|
-
getEntryFileMetaRecord(): Record<string, SdCliBbFileMetadata>;
|
|
10
|
-
findMeta(ref: TSdCliMetaRef): TSdCliBbMetadata | TSdCliBbMetadata[];
|
|
11
|
-
findExportRef(localRef: {
|
|
12
|
-
filePath: string;
|
|
13
|
-
name: string;
|
|
14
|
-
}): {
|
|
15
|
-
moduleName: string;
|
|
16
|
-
name: string;
|
|
17
|
-
} | undefined;
|
|
18
|
-
private _getAllDepPaths;
|
|
19
|
-
private _getDepMap;
|
|
20
|
-
private _getRealFilePath;
|
|
21
|
-
private _getGlobExportResult;
|
|
22
|
-
}
|
|
23
|
-
export declare type TSdCliBbMetadata = TSdCliBbTypeMetadata | TSdCliMetaRef | string;
|