cc-core-cli 1.0.130 → 1.0.131
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/bin/index.js +6 -6
- package/package.json +1 -1
- package/template/admin/Dockerfile +7 -4
- package/template/admin/next-env.d.ts +5 -0
- package/template/admin/package.json +23 -10
- package/template/admin/postcss.config.js +6 -0
- package/template/admin/public/images/component/barchart.svg +20 -0
- package/template/admin/public/images/component/bubble_chart.svg +17 -0
- package/template/admin/public/images/component/button.svg +17 -0
- package/template/admin/public/images/component/calendar.svg +63 -0
- package/template/admin/public/images/component/checkbox.svg +25 -0
- package/template/admin/public/images/component/color_picker.svg +25 -0
- package/template/admin/public/images/component/cron_tab.svg +33 -0
- package/template/admin/public/images/component/currency.svg +34 -0
- package/template/admin/public/images/component/custom_fields.svg +34 -0
- package/template/admin/public/images/component/data_table.svg +101 -0
- package/template/admin/public/images/component/date_picker.svg +47 -0
- package/template/admin/public/images/component/donut.svg +23 -0
- package/template/admin/public/images/component/edit_table.svg +96 -0
- package/template/admin/public/images/component/entity_field.svg +36 -0
- package/template/admin/public/images/component/entity_layout.svg +40 -0
- package/template/admin/public/images/component/entity_list.svg +88 -0
- package/template/admin/public/images/component/file.svg +36 -0
- package/template/admin/public/images/component/hidden_field.svg +34 -0
- package/template/admin/public/images/component/image.svg +38 -0
- package/template/admin/public/images/component/input.svg +34 -0
- package/template/admin/public/images/component/input_icon.svg +13 -0
- package/template/admin/public/images/component/input_number.svg +34 -0
- package/template/admin/public/images/component/input_translate.svg +47 -0
- package/template/admin/public/images/component/json.svg +31 -0
- package/template/admin/public/images/component/label.svg +11 -0
- package/template/admin/public/images/component/line_chart.svg +19 -0
- package/template/admin/public/images/component/matrix_table.svg +34 -0
- package/template/admin/public/images/component/mixed_chart.svg +25 -0
- package/template/admin/public/images/component/polar_chart.svg +33 -0
- package/template/admin/public/images/component/radio.svg +24 -0
- package/template/admin/public/images/component/redar_chart.svg +17 -0
- package/template/admin/public/images/component/scatter_chart.svg +25 -0
- package/template/admin/public/images/component/select.svg +34 -0
- package/template/admin/public/images/component/summary_box.svg +31 -0
- package/template/admin/public/images/component/switch.svg +12 -0
- package/template/admin/public/images/component/translate.svg +35 -0
- package/template/admin/public/images/component/tree.svg +78 -0
- package/template/admin/public/images/default-profile.png +0 -0
- package/template/admin/public/images/empty-data.png +0 -0
- package/template/admin/public/images/file.png +0 -0
- package/template/admin/public/images/forgot-step-1.png +0 -0
- package/template/admin/public/images/forgot-step-2.png +0 -0
- package/template/admin/public/images/forgot-step-3.png +0 -0
- package/template/admin/public/images/form.png +0 -0
- package/template/admin/public/images/info-panel.png +0 -0
- package/template/admin/public/images/panel.png +0 -0
- package/template/admin/public/images/stack.png +0 -0
- package/template/admin/public/images/type-all.png +0 -0
- package/template/admin/public/images/type-boolean.png +0 -0
- package/template/admin/public/images/type-date.png +0 -0
- package/template/admin/public/images/type-file.png +0 -0
- package/template/admin/public/images/type-image.png +0 -0
- package/template/admin/public/images/type-json.png +0 -0
- package/template/admin/public/images/type-number.png +0 -0
- package/template/admin/public/images/type-options.png +0 -0
- package/template/admin/public/images/type-password.png +0 -0
- package/template/admin/public/images/type-related.png +0 -0
- package/template/admin/public/images/type-string.png +0 -0
- package/template/admin/public/images/type-trash.png +0 -0
- package/template/admin/public/images/type-unknown.png +0 -0
- package/template/admin/public/images/upload.png +0 -0
- package/template/admin/public/private-image-worker.js +10 -7
- package/template/admin/src/pages/[...url_key].tsx +9 -0
- package/template/admin/src/pages/_app.tsx +22 -0
- package/template/admin/src/pages/activate.tsx +9 -0
- package/template/admin/src/pages/api/auth/activate_account/confirm.ts +13 -0
- package/template/admin/src/pages/api/auth/activate_account/index.ts +13 -0
- package/template/admin/src/pages/api/auth/activate_account/resend.ts +13 -0
- package/template/admin/src/pages/api/auth/activate_account/set_password.ts +17 -0
- package/template/admin/src/pages/api/auth/authen/confirm.ts +24 -0
- package/template/admin/src/pages/api/auth/authen/resend.ts +13 -0
- package/template/admin/src/pages/api/auth/callback/index.ts +24 -0
- package/template/admin/src/pages/api/auth/forgot_password/confirm.ts +13 -0
- package/template/admin/src/pages/api/auth/forgot_password/index.ts +13 -0
- package/template/admin/src/pages/api/auth/forgot_password/resend.ts +13 -0
- package/template/admin/src/pages/api/auth/forgot_password/reset.ts +17 -0
- package/template/admin/src/pages/api/auth/login.ts +24 -0
- package/template/admin/src/pages/api/auth/logout.ts +30 -0
- package/template/admin/src/pages/api/custom/[...path].ts +16 -0
- package/template/admin/src/pages/api/download.ts +79 -0
- package/template/admin/src/pages/api/entity/[entity]/[id].ts +46 -0
- package/template/admin/src/pages/api/entity/[entity]/delete.ts +18 -0
- package/template/admin/src/pages/api/entity/[entity]/find.ts +17 -0
- package/template/admin/src/pages/api/entity/[entity]/index.ts +30 -0
- package/template/admin/src/pages/api/entity/[entity]/update.ts +18 -0
- package/template/admin/src/pages/api/entity/approve/[entity]/[id].ts +19 -0
- package/template/admin/src/pages/api/entity/schema/[entity]/index.ts +27 -0
- package/template/admin/src/pages/api/entity/schema/[entity]/relate.ts +16 -0
- package/template/admin/src/pages/api/entity/schema/index.ts +27 -0
- package/template/admin/src/pages/api/import_export/example/index.ts +13 -0
- package/template/admin/src/pages/api/import_export/execute/index.ts +13 -0
- package/template/admin/src/pages/api/import_export/export/index.ts +13 -0
- package/template/admin/src/pages/api/import_export/import/index.ts +13 -0
- package/template/admin/src/pages/api/import_export/progresses/index.ts +13 -0
- package/template/admin/src/pages/api/import_export/verify_progress/index.ts +13 -0
- package/template/admin/src/pages/api/language/set.ts +15 -0
- package/template/admin/src/pages/api/media/private.ts +49 -0
- package/template/admin/src/pages/api/queue/[queue]/count.ts +17 -0
- package/template/admin/src/pages/api/queue/[queue]/flush.ts +17 -0
- package/template/admin/src/pages/api/queue/[queue]/flushall.ts +16 -0
- package/template/admin/src/pages/api/queue/[queue]/index.ts +20 -0
- package/template/admin/src/pages/api/queue/index.ts +13 -0
- package/template/admin/src/pages/api/redis/index.ts +0 -0
- package/template/admin/src/pages/api/setting/[code].ts +21 -0
- package/template/admin/src/pages/api/system/config.ts +13 -0
- package/template/admin/src/pages/api/system/data_source/[code].ts +17 -0
- package/template/admin/src/pages/api/system/endpoint/[method].ts +17 -0
- package/template/admin/src/pages/api/system/queue.ts +13 -0
- package/template/admin/src/pages/api/system/role.ts +13 -0
- package/template/admin/src/pages/api/user/change_password.ts +13 -0
- package/template/admin/src/pages/api/user/filter/index.ts +13 -0
- package/template/admin/src/pages/api/user/me.ts +24 -0
- package/template/admin/src/pages/api/user/register.ts +13 -0
- package/template/admin/src/pages/callback/[channel].tsx +9 -0
- package/template/admin/src/pages/entity/[entity]/[layout]/[id].tsx +17 -0
- package/template/admin/src/pages/entity/[entity]/[layout]/index.tsx +19 -0
- package/template/admin/src/pages/forgot_password.tsx +9 -0
- package/template/admin/src/pages/index.tsx +7 -0
- package/template/admin/src/pages/login.tsx +9 -0
- package/template/admin/src/pages/profile.tsx +9 -0
- package/template/admin/src/pages/register.tsx +9 -0
- package/template/admin/src/pages/setting/entities/[key].tsx +10 -0
- package/template/admin/src/pages/setting/entities/index.tsx +10 -0
- package/template/admin/src/pages/setting/module/[module]/[layout].tsx +16 -0
- package/template/admin/src/pages/setting/modules.tsx +10 -0
- package/template/admin/src/styles/global.css +101 -0
- package/template/admin/src/styles/workflow.css +40 -0
- package/template/admin/src/utils/color.ts +88 -0
- package/template/admin/tailwind.config.js +57 -0
- package/template/admin/tsconfig.json +36 -0
- package/template/admin_v3/Dockerfile +15 -0
- package/template/admin_v3/README.md +1 -0
- package/template/admin_v3/_env +10 -0
- package/template/admin_v3/_gitignore +5 -0
- package/template/admin_v3/_npmrc +1 -0
- package/template/admin_v3/docker-compose.yml +11 -0
- package/template/admin_v3/next-env.d.ts +5 -0
- package/template/admin_v3/package.json +37 -0
- package/template/admin_v3/postcss.config.js +6 -0
- package/template/admin_v3/public/images/component/barchart.svg +20 -0
- package/template/admin_v3/public/images/component/bubble_chart.svg +17 -0
- package/template/admin_v3/public/images/component/button.svg +17 -0
- package/template/admin_v3/public/images/component/calendar.svg +63 -0
- package/template/admin_v3/public/images/component/checkbox.svg +25 -0
- package/template/admin_v3/public/images/component/color_picker.svg +25 -0
- package/template/admin_v3/public/images/component/cron_tab.svg +33 -0
- package/template/admin_v3/public/images/component/currency.svg +34 -0
- package/template/admin_v3/public/images/component/custom_fields.svg +34 -0
- package/template/admin_v3/public/images/component/data_table.svg +101 -0
- package/template/admin_v3/public/images/component/date_picker.svg +47 -0
- package/template/admin_v3/public/images/component/donut.svg +23 -0
- package/template/admin_v3/public/images/component/edit_table.svg +96 -0
- package/template/admin_v3/public/images/component/entity_field.svg +36 -0
- package/template/admin_v3/public/images/component/entity_layout.svg +40 -0
- package/template/admin_v3/public/images/component/entity_list.svg +88 -0
- package/template/admin_v3/public/images/component/file.svg +36 -0
- package/template/admin_v3/public/images/component/hidden_field.svg +34 -0
- package/template/admin_v3/public/images/component/image.svg +38 -0
- package/template/admin_v3/public/images/component/input.svg +34 -0
- package/template/admin_v3/public/images/component/input_icon.svg +13 -0
- package/template/admin_v3/public/images/component/input_number.svg +34 -0
- package/template/admin_v3/public/images/component/input_translate.svg +47 -0
- package/template/admin_v3/public/images/component/json.svg +31 -0
- package/template/admin_v3/public/images/component/label.svg +11 -0
- package/template/admin_v3/public/images/component/line_chart.svg +19 -0
- package/template/admin_v3/public/images/component/matrix_table.svg +34 -0
- package/template/admin_v3/public/images/component/mixed_chart.svg +25 -0
- package/template/admin_v3/public/images/component/polar_chart.svg +33 -0
- package/template/admin_v3/public/images/component/radio.svg +24 -0
- package/template/admin_v3/public/images/component/redar_chart.svg +17 -0
- package/template/admin_v3/public/images/component/scatter_chart.svg +25 -0
- package/template/admin_v3/public/images/component/select.svg +34 -0
- package/template/admin_v3/public/images/component/summary_box.svg +31 -0
- package/template/admin_v3/public/images/component/switch.svg +12 -0
- package/template/admin_v3/public/images/component/translate.svg +35 -0
- package/template/admin_v3/public/images/component/tree.svg +78 -0
- package/template/admin_v3/public/images/default-profile.png +0 -0
- package/template/admin_v3/public/images/empty-data.png +0 -0
- package/template/admin_v3/public/images/file.png +0 -0
- package/template/admin_v3/public/images/forgot-step-1.png +0 -0
- package/template/admin_v3/public/images/forgot-step-2.png +0 -0
- package/template/admin_v3/public/images/forgot-step-3.png +0 -0
- package/template/admin_v3/public/images/form.png +0 -0
- package/template/admin_v3/public/images/info-panel.png +0 -0
- package/template/admin_v3/public/images/panel.png +0 -0
- package/template/admin_v3/public/images/split.svg +1 -0
- package/template/admin_v3/public/images/stack.png +0 -0
- package/template/admin_v3/public/images/type-all.png +0 -0
- package/template/admin_v3/public/images/type-boolean.png +0 -0
- package/template/admin_v3/public/images/type-date.png +0 -0
- package/template/admin_v3/public/images/type-file.png +0 -0
- package/template/admin_v3/public/images/type-image.png +0 -0
- package/template/admin_v3/public/images/type-json.png +0 -0
- package/template/admin_v3/public/images/type-number.png +0 -0
- package/template/admin_v3/public/images/type-options.png +0 -0
- package/template/admin_v3/public/images/type-password.png +0 -0
- package/template/admin_v3/public/images/type-related.png +0 -0
- package/template/admin_v3/public/images/type-string.png +0 -0
- package/template/admin_v3/public/images/type-trash.png +0 -0
- package/template/admin_v3/public/images/type-unknown.png +0 -0
- package/template/admin_v3/public/images/upload.png +0 -0
- package/template/admin_v3/public/private-image-worker.js +24 -0
- package/template/admin_v3/src/pages/[...url_key].tsx +9 -0
- package/template/admin_v3/src/pages/_app.tsx +22 -0
- package/template/admin_v3/src/pages/activate.tsx +9 -0
- package/template/admin_v3/src/pages/api/auth/activate_account/confirm.ts +13 -0
- package/template/admin_v3/src/pages/api/auth/activate_account/index.ts +13 -0
- package/template/admin_v3/src/pages/api/auth/activate_account/resend.ts +13 -0
- package/template/admin_v3/src/pages/api/auth/activate_account/set_password.ts +17 -0
- package/template/admin_v3/src/pages/api/auth/authen/confirm.ts +24 -0
- package/template/admin_v3/src/pages/api/auth/authen/resend.ts +13 -0
- package/template/admin_v3/src/pages/api/auth/callback/index.ts +24 -0
- package/template/admin_v3/src/pages/api/auth/forgot_password/confirm.ts +13 -0
- package/template/admin_v3/src/pages/api/auth/forgot_password/index.ts +13 -0
- package/template/admin_v3/src/pages/api/auth/forgot_password/resend.ts +13 -0
- package/template/admin_v3/src/pages/api/auth/forgot_password/reset.ts +17 -0
- package/template/admin_v3/src/pages/api/auth/login.ts +24 -0
- package/template/admin_v3/src/pages/api/auth/logout.ts +30 -0
- package/template/admin_v3/src/pages/api/custom/[...path].ts +16 -0
- package/template/admin_v3/src/pages/api/download.ts +79 -0
- package/template/admin_v3/src/pages/api/entity/[entity]/[id].ts +46 -0
- package/template/admin_v3/src/pages/api/entity/[entity]/delete.ts +18 -0
- package/template/admin_v3/src/pages/api/entity/[entity]/find.ts +17 -0
- package/template/admin_v3/src/pages/api/entity/[entity]/index.ts +30 -0
- package/template/admin_v3/src/pages/api/entity/[entity]/update.ts +18 -0
- package/template/admin_v3/src/pages/api/entity/approve/[entity]/[id].ts +19 -0
- package/template/admin_v3/src/pages/api/entity/schema/[entity]/index.ts +27 -0
- package/template/admin_v3/src/pages/api/entity/schema/[entity]/relate.ts +16 -0
- package/template/admin_v3/src/pages/api/entity/schema/index.ts +27 -0
- package/template/admin_v3/src/pages/api/import_export/example/index.ts +13 -0
- package/template/admin_v3/src/pages/api/import_export/execute/index.ts +13 -0
- package/template/admin_v3/src/pages/api/import_export/export/index.ts +13 -0
- package/template/admin_v3/src/pages/api/import_export/import/index.ts +13 -0
- package/template/admin_v3/src/pages/api/import_export/progresses/index.ts +13 -0
- package/template/admin_v3/src/pages/api/import_export/verify_progress/index.ts +13 -0
- package/template/admin_v3/src/pages/api/language/set.ts +15 -0
- package/template/admin_v3/src/pages/api/media/private.ts +49 -0
- package/template/admin_v3/src/pages/api/queue/[queue]/count.ts +17 -0
- package/template/admin_v3/src/pages/api/queue/[queue]/flush.ts +17 -0
- package/template/admin_v3/src/pages/api/queue/[queue]/flushall.ts +16 -0
- package/template/admin_v3/src/pages/api/queue/[queue]/index.ts +20 -0
- package/template/admin_v3/src/pages/api/queue/index.ts +13 -0
- package/template/admin_v3/src/pages/api/redis/[connect]/index.ts +0 -0
- package/template/admin_v3/src/pages/api/redis/index.ts +0 -0
- package/template/admin_v3/src/pages/api/setting/[code].ts +21 -0
- package/template/admin_v3/src/pages/api/system/config.ts +13 -0
- package/template/admin_v3/src/pages/api/system/data_source/[code].ts +17 -0
- package/template/admin_v3/src/pages/api/system/endpoint/[method].ts +17 -0
- package/template/admin_v3/src/pages/api/system/queue.ts +13 -0
- package/template/admin_v3/src/pages/api/system/role.ts +13 -0
- package/template/admin_v3/src/pages/api/user/change_password.ts +13 -0
- package/template/admin_v3/src/pages/api/user/filter/index.ts +13 -0
- package/template/admin_v3/src/pages/api/user/me.ts +24 -0
- package/template/admin_v3/src/pages/api/user/register.ts +13 -0
- package/template/admin_v3/src/pages/callback/[channel].tsx +9 -0
- package/template/admin_v3/src/pages/entity/[entity]/[layout]/[id].tsx +17 -0
- package/template/admin_v3/src/pages/entity/[entity]/[layout]/index.tsx +19 -0
- package/template/admin_v3/src/pages/forgot_password.tsx +9 -0
- package/template/admin_v3/src/pages/index.tsx +7 -0
- package/template/admin_v3/src/pages/login.tsx +9 -0
- package/template/admin_v3/src/pages/profile.tsx +9 -0
- package/template/admin_v3/src/pages/register.tsx +9 -0
- package/template/admin_v3/src/pages/setting/entities/[key].tsx +10 -0
- package/template/admin_v3/src/pages/setting/entities/index.tsx +10 -0
- package/template/admin_v3/src/pages/setting/module/[module]/[layout].tsx +16 -0
- package/template/admin_v3/src/pages/setting/modules.tsx +10 -0
- package/template/admin_v3/src/styles/global.css +101 -0
- package/template/admin_v3/src/styles/workflow.css +40 -0
- package/template/admin_v3/src/utils/color.ts +88 -0
- package/template/admin_v3/tailwind.config.js +57 -0
- package/template/admin_v3/tsconfig.json +36 -0
- package/template/core/_gitignore +4 -0
- package/template/core/buildspec.yml +29 -0
- package/template/core/jest.config.js +43 -0
- package/template/core/package.json +14 -2
- package/template/core/sonar-project.properties +27 -0
- package/template/core/test/__mocks__/cc-core-lib.d.ts +161 -0
- package/template/core/test/__mocks__/cc-core-lib.js +311 -0
- package/template/core/test/__mocks__/pdf-img-convert.js +5 -0
- package/template/core/test/jest.setup.ts +25 -0
- package/template/core/tsconfig.json +13 -13
- package/template/core/tsconfig.test.json +17 -0
- package/template/admin/config/service-account.json +0 -1
- package/template/admin/index.js +0 -67
- package/template/admin/next.config.js +0 -66
- package/template/admin/pages/404.js +0 -13
- package/template/admin/pages/[...url_key].js +0 -21
- package/template/admin/pages/_app.js +0 -16
- package/template/admin/pages/_document.js +0 -43
- package/template/admin/pages/callback/[channel].js +0 -13
- package/template/admin/pages/callback.js +0 -13
- package/template/admin/pages/change_password_expired.js +0 -13
- package/template/admin/pages/check_session.js +0 -13
- package/template/admin/pages/cognito.js +0 -13
- package/template/admin/pages/confirmpassword.js +0 -12
- package/template/admin/pages/forgotpassword.js +0 -12
- package/template/admin/pages/index.js +0 -13
- package/template/admin/pages/login.js +0 -13
- package/template/admin/pages/maintenance.js +0 -12
- package/template/admin/pages/password_expired.js +0 -13
- package/template/admin/pages/permission_denied.js +0 -13
- package/template/admin/pages/profile.js +0 -14
- package/template/admin/pages/register.js +0 -13
- package/template/admin/pages/setting/[...setting_url_key].js +0 -13
- package/template/admin/pages/setting/entities/[subList]/detail.js +0 -14
- package/template/admin/pages/setting/entities/[subList]/detail_compare.js +0 -8
- package/template/admin/pages/setting/entities/[subList]/index.js +0 -7
- package/template/admin/pages/setting/entities/detail/index.js +0 -14
- package/template/admin/pages/setting/entities/index.js +0 -14
- package/template/admin/pages/social.js +0 -13
- package/template/admin/pages/token_expired.js +0 -12
- package/template/admin/public/icon-192x192.png +0 -0
- package/template/admin/public/icon-256x256.png +0 -0
- package/template/admin/public/icon-384x384.png +0 -0
- package/template/admin/public/icon-512x512.png +0 -0
- package/template/admin/public/manifest.json +0 -32
- package/template/admin/public/static/images/adv_settings.svg +0 -130
- package/template/admin/public/static/images/aws-cognito.png +0 -0
- package/template/admin/public/static/images/azure-ad.svg +0 -1
- package/template/admin/public/static/images/bin_icon.svg +0 -1
- package/template/admin/public/static/images/color-picker.png +0 -0
- package/template/admin/public/static/images/csv_icon.svg +0 -1
- package/template/admin/public/static/images/default-file.png +0 -0
- package/template/admin/public/static/images/default-img.png +0 -0
- package/template/admin/public/static/images/default-map.png +0 -0
- package/template/admin/public/static/images/default-profile.png +0 -0
- package/template/admin/public/static/images/doc_icon.svg +0 -1
- package/template/admin/public/static/images/exe_icon.svg +0 -1
- package/template/admin/public/static/images/gif_icon.svg +0 -1
- package/template/admin/public/static/images/google.png +0 -0
- package/template/admin/public/static/images/icon-youtub.webp +0 -0
- package/template/admin/public/static/images/id-connect.png +0 -0
- package/template/admin/public/static/images/iso_icon.svg +0 -1
- package/template/admin/public/static/images/json_icon.png +0 -0
- package/template/admin/public/static/images/lang/af-ZA.svg +0 -41
- package/template/admin/public/static/images/lang/ar-AE.svg +0 -38
- package/template/admin/public/static/images/lang/ar-BH.svg +0 -36
- package/template/admin/public/static/images/lang/ar-DZ.svg +0 -40
- package/template/admin/public/static/images/lang/ar-EG.svg +0 -38
- package/template/admin/public/static/images/lang/ar-IQ.svg +0 -46
- package/template/admin/public/static/images/lang/ar-JO.svg +0 -39
- package/template/admin/public/static/images/lang/ar-KW.svg +0 -38
- package/template/admin/public/static/images/lang/ar-LB.svg +0 -40
- package/template/admin/public/static/images/lang/ar-LY.svg +0 -41
- package/template/admin/public/static/images/lang/ar-MA.svg +0 -36
- package/template/admin/public/static/images/lang/ar-OM.svg +0 -70
- package/template/admin/public/static/images/lang/ar-QA.svg +0 -36
- package/template/admin/public/static/images/lang/ar-SA.svg +0 -62
- package/template/admin/public/static/images/lang/ar-TN.svg +0 -40
- package/template/admin/public/static/images/lang/ar-YE.svg +0 -37
- package/template/admin/public/static/images/lang/az-AZ.svg +0 -41
- package/template/admin/public/static/images/lang/be-BY.svg +0 -38
- package/template/admin/public/static/images/lang/bg-BG.svg +0 -37
- package/template/admin/public/static/images/lang/bs-BA.svg +0 -48
- package/template/admin/public/static/images/lang/ca-ES.svg +0 -89
- package/template/admin/public/static/images/lang/cs-CZ.svg +0 -37
- package/template/admin/public/static/images/lang/cy-GB.svg +0 -43
- package/template/admin/public/static/images/lang/da-DK.svg +0 -36
- package/template/admin/public/static/images/lang/de-AT.svg +0 -39
- package/template/admin/public/static/images/lang/de-CH.svg +0 -36
- package/template/admin/public/static/images/lang/de-DE.svg +0 -37
- package/template/admin/public/static/images/lang/de-LI.svg +0 -45
- package/template/admin/public/static/images/lang/de-LU.svg +0 -37
- package/template/admin/public/static/images/lang/dv-MV.svg +0 -37
- package/template/admin/public/static/images/lang/el-GR.svg +0 -46
- package/template/admin/public/static/images/lang/en-AU.svg +0 -51
- package/template/admin/public/static/images/lang/en-BZ.svg +0 -196
- package/template/admin/public/static/images/lang/en-CA.svg +0 -43
- package/template/admin/public/static/images/lang/en-GB.svg +0 -43
- package/template/admin/public/static/images/lang/en-IE.svg +0 -37
- package/template/admin/public/static/images/lang/en-JM.svg +0 -40
- package/template/admin/public/static/images/lang/en-NZ.svg +0 -51
- package/template/admin/public/static/images/lang/en-PH.svg +0 -51
- package/template/admin/public/static/images/lang/en-SG.svg +0 -44
- package/template/admin/public/static/images/lang/en-TT.svg +0 -40
- package/template/admin/public/static/images/lang/en-US.svg +0 -88
- package/template/admin/public/static/images/lang/en-ZA.svg +0 -41
- package/template/admin/public/static/images/lang/en-ZW.svg +0 -50
- package/template/admin/public/static/images/lang/es-AR.svg +0 -41
- package/template/admin/public/static/images/lang/es-BO.svg +0 -101
- package/template/admin/public/static/images/lang/es-CL.svg +0 -38
- package/template/admin/public/static/images/lang/es-CO.svg +0 -37
- package/template/admin/public/static/images/lang/es-CR.svg +0 -111
- package/template/admin/public/static/images/lang/es-DO.svg +0 -103
- package/template/admin/public/static/images/lang/es-EC.svg +0 -87
- package/template/admin/public/static/images/lang/es-ES.svg +0 -89
- package/template/admin/public/static/images/lang/es-GT.svg +0 -109
- package/template/admin/public/static/images/lang/es-HN.svg +0 -46
- package/template/admin/public/static/images/lang/es-MX.svg +0 -60
- package/template/admin/public/static/images/lang/es-NI.svg +0 -82
- package/template/admin/public/static/images/lang/es-PA.svg +0 -41
- package/template/admin/public/static/images/lang/es-PE.svg +0 -37
- package/template/admin/public/static/images/lang/es-PR.svg +0 -43
- package/template/admin/public/static/images/lang/es-PY.svg +0 -41
- package/template/admin/public/static/images/lang/es-SV.svg +0 -115
- package/template/admin/public/static/images/lang/es-UY.svg +0 -75
- package/template/admin/public/static/images/lang/es-VE.svg +0 -49
- package/template/admin/public/static/images/lang/et-EE.svg +0 -37
- package/template/admin/public/static/images/lang/eu-ES.svg +0 -89
- package/template/admin/public/static/images/lang/fa-IR.svg +0 -81
- package/template/admin/public/static/images/lang/fi-FI.svg +0 -36
- package/template/admin/public/static/images/lang/fr-BE.svg +0 -37
- package/template/admin/public/static/images/lang/fr-CA.svg +0 -43
- package/template/admin/public/static/images/lang/fr-CH.svg +0 -36
- package/template/admin/public/static/images/lang/fr-FR.svg +0 -37
- package/template/admin/public/static/images/lang/fr-LU.svg +0 -37
- package/template/admin/public/static/images/lang/fr-MC.svg +0 -36
- package/template/admin/public/static/images/lang/gl-ES.svg +0 -89
- package/template/admin/public/static/images/lang/gu-IN.svg +0 -59
- package/template/admin/public/static/images/lang/he-IL.svg +0 -37
- package/template/admin/public/static/images/lang/hi-IN.svg +0 -59
- package/template/admin/public/static/images/lang/hr-BA.svg +0 -48
- package/template/admin/public/static/images/lang/hr-HR.svg +0 -101
- package/template/admin/public/static/images/lang/hu-HU.svg +0 -37
- package/template/admin/public/static/images/lang/hy-AM.svg +0 -37
- package/template/admin/public/static/images/lang/id-ID.svg +0 -36
- package/template/admin/public/static/images/lang/is-IS.svg +0 -37
- package/template/admin/public/static/images/lang/it-CH.svg +0 -36
- package/template/admin/public/static/images/lang/it-IT.svg +0 -37
- package/template/admin/public/static/images/lang/ja-JP.svg +0 -36
- package/template/admin/public/static/images/lang/ka-GE.svg +0 -42
- package/template/admin/public/static/images/lang/kk-KZ.svg +0 -72
- package/template/admin/public/static/images/lang/kn-IN.svg +0 -59
- package/template/admin/public/static/images/lang/ko-KR.svg +0 -57
- package/template/admin/public/static/images/lang/kok-IN.svg +0 -59
- package/template/admin/public/static/images/lang/ky-KG.svg +0 -54
- package/template/admin/public/static/images/lang/lt-LT.svg +0 -37
- package/template/admin/public/static/images/lang/lv-LV.svg +0 -36
- package/template/admin/public/static/images/lang/mi-NZ.svg +0 -51
- package/template/admin/public/static/images/lang/mk-MK.svg +0 -46
- package/template/admin/public/static/images/lang/mn-MN.svg +0 -50
- package/template/admin/public/static/images/lang/mr-IN.svg +0 -59
- package/template/admin/public/static/images/lang/ms-BN.svg +0 -47
- package/template/admin/public/static/images/lang/ms-MY.svg +0 -53
- package/template/admin/public/static/images/lang/mt-MT.svg +0 -50
- package/template/admin/public/static/images/lang/nb-NO.svg +0 -37
- package/template/admin/public/static/images/lang/nl-BE.svg +0 -37
- package/template/admin/public/static/images/lang/nl-NL.svg +0 -37
- package/template/admin/public/static/images/lang/nn-NO.svg +0 -37
- package/template/admin/public/static/images/lang/ns-ZA.svg +0 -41
- package/template/admin/public/static/images/lang/pa-IN.svg +0 -59
- package/template/admin/public/static/images/lang/pl-PL.svg +0 -36
- package/template/admin/public/static/images/lang/ps-AR.svg +0 -68
- package/template/admin/public/static/images/lang/pt-BR.svg +0 -51
- package/template/admin/public/static/images/lang/pt-PT.svg +0 -55
- package/template/admin/public/static/images/lang/qu-BO.svg +0 -101
- package/template/admin/public/static/images/lang/qu-EC.svg +0 -87
- package/template/admin/public/static/images/lang/qu-PE.svg +0 -37
- package/template/admin/public/static/images/lang/ro-RO.svg +0 -37
- package/template/admin/public/static/images/lang/ru-RU.svg +0 -37
- package/template/admin/public/static/images/lang/sa-IN.svg +0 -59
- package/template/admin/public/static/images/lang/se-FI.svg +0 -36
- package/template/admin/public/static/images/lang/se-NO.svg +0 -37
- package/template/admin/public/static/images/lang/se-SE.svg +0 -36
- package/template/admin/public/static/images/lang/sk-SK.svg +0 -41
- package/template/admin/public/static/images/lang/sl-SI.svg +0 -51
- package/template/admin/public/static/images/lang/sq-AL.svg +0 -36
- package/template/admin/public/static/images/lang/sr-BA.svg +0 -48
- package/template/admin/public/static/images/lang/sr-SP.svg +0 -79
- package/template/admin/public/static/images/lang/sv-FI.svg +0 -36
- package/template/admin/public/static/images/lang/sv-SE.svg +0 -36
- package/template/admin/public/static/images/lang/sw-KE.svg +0 -55
- package/template/admin/public/static/images/lang/syr-SY.svg +0 -41
- package/template/admin/public/static/images/lang/ta-IN.svg +0 -59
- package/template/admin/public/static/images/lang/te-IN.svg +0 -59
- package/template/admin/public/static/images/lang/th-TH.svg +0 -40
- package/template/admin/public/static/images/lang/tl-PH.svg +0 -51
- package/template/admin/public/static/images/lang/tn-ZA.svg +0 -41
- package/template/admin/public/static/images/lang/tr-TR.svg +0 -39
- package/template/admin/public/static/images/lang/tt-RU.svg +0 -37
- package/template/admin/public/static/images/lang/uk-UA.svg +0 -36
- package/template/admin/public/static/images/lang/ur-PK.svg +0 -40
- package/template/admin/public/static/images/lang/vi-VN.svg +0 -36
- package/template/admin/public/static/images/lang/xh-ZA.svg +0 -41
- package/template/admin/public/static/images/lang/zh-CN.svg +0 -42
- package/template/admin/public/static/images/lang/zh-HK.svg +0 -42
- package/template/admin/public/static/images/lang/zh-SG.svg +0 -44
- package/template/admin/public/static/images/lang/zh-TW.svg +0 -43
- package/template/admin/public/static/images/lang/zu-ZA.svg +0 -41
- package/template/admin/public/static/images/logo-company-default.svg +0 -1
- package/template/admin/public/static/images/logo.png +0 -0
- package/template/admin/public/static/images/m_logo.png +0 -0
- package/template/admin/public/static/images/maintenance-icon.png +0 -0
- package/template/admin/public/static/images/member_logo.png +0 -0
- package/template/admin/public/static/images/pdf_icon.svg +0 -1
- package/template/admin/public/static/images/png_icon.svg +0 -1
- package/template/admin/public/static/images/security.png +0 -0
- package/template/admin/public/static/images/template-bar.svg +0 -820
- package/template/admin/public/static/images/template-bubble.png +0 -0
- package/template/admin/public/static/images/template-line.png +0 -0
- package/template/admin/public/static/images/template-mixed.jpeg +0 -0
- package/template/admin/public/static/images/template-pie.png +0 -0
- package/template/admin/public/static/images/template-polar-area.png +0 -0
- package/template/admin/public/static/images/template-radar.jpg +0 -0
- package/template/admin/public/static/images/template-radar.png +0 -0
- package/template/admin/public/static/images/template-scatter.png +0 -0
- package/template/admin/public/static/images/translation.svg +0 -82
- package/template/admin/public/static/images/txt_icon.svg +0 -1
- package/template/admin/public/static/images/widget-bubble.png +0 -0
- package/template/admin/public/static/images/widget-column.png +0 -0
- package/template/admin/public/static/images/widget-combo.png +0 -0
- package/template/admin/public/static/images/widget-doughnut.png +0 -0
- package/template/admin/public/static/images/widget-line.png +0 -0
- package/template/admin/public/static/images/widget-pie.png +0 -0
- package/template/admin/public/static/images/widget-scatter.png +0 -0
- package/template/admin/public/static/images/widget-summary_box.png +0 -0
- package/template/admin/public/static/images/widget-treemap.png +0 -0
- package/template/admin/public/static/images/xls_icon.svg +0 -1
- package/template/admin/public/static/images/xml_icon.svg +0 -1
- package/template/admin/public/static/images/zip_icon.svg +0 -1
- package/template/admin/public/static/styles/activity_log.less +0 -157
- package/template/admin/public/static/styles/calendar.less +0 -145
- package/template/admin/public/static/styles/collections.less +0 -123
- package/template/admin/public/static/styles/compute_field.less +0 -250
- package/template/admin/public/static/styles/custom-antd.less +0 -80
- package/template/admin/public/static/styles/custom_icon.less +0 -556
- package/template/admin/public/static/styles/date_search.less +0 -63
- package/template/admin/public/static/styles/datepicker.less +0 -323
- package/template/admin/public/static/styles/detail.less +0 -2690
- package/template/admin/public/static/styles/editTable.less +0 -23
- package/template/admin/public/static/styles/entities.less +0 -897
- package/template/admin/public/static/styles/filter.less +0 -24
- package/template/admin/public/static/styles/filter_new.less +0 -154
- package/template/admin/public/static/styles/hook.less +0 -142
- package/template/admin/public/static/styles/import_export.less +0 -62
- package/template/admin/public/static/styles/input.less +0 -386
- package/template/admin/public/static/styles/layout.less +0 -1455
- package/template/admin/public/static/styles/login.less +0 -263
- package/template/admin/public/static/styles/mainheader.less +0 -32
- package/template/admin/public/static/styles/matrix.less +0 -105
- package/template/admin/public/static/styles/permission_denied.less +0 -13
- package/template/admin/public/static/styles/pipeline.less +0 -84
- package/template/admin/public/static/styles/print_template.less +0 -730
- package/template/admin/public/static/styles/rabbitmq.less +0 -3
- package/template/admin/public/static/styles/restful.less +0 -22
- package/template/admin/public/static/styles/setting.less +0 -534
- package/template/admin/public/static/styles/style.less +0 -1957
- package/template/admin/public/static/styles/system.less +0 -11
- package/template/admin/public/static/styles/tree_theme_minimal.less +0 -321
- package/template/admin/public/static/styles/versioning_control.less +0 -24
- package/template/admin/public/static/styles/wysiwyg.less +0 -8
- package/template/admin/theme/main.less +0 -1
- package/template/admin/theme/vars.less +0 -41
- /package/template/admin/public/{static/images → images}/split.svg +0 -0
- /package/template/admin/{public/static/styles/custom.less → src/pages/api/redis/[connect]/index.ts} +0 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
version: 0.2
|
|
2
|
+
|
|
3
|
+
phases:
|
|
4
|
+
pre_build:
|
|
5
|
+
commands:
|
|
6
|
+
- echo Logging in to Amazon ECR...
|
|
7
|
+
- $(aws ecr get-login --no-include-email --region ap-southeast-1)
|
|
8
|
+
- REPOSITORY_URI=$ECR_URI
|
|
9
|
+
- COMMIT_HASH=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-7)
|
|
10
|
+
- IMAGE_TAG=${COMMIT_HASH:=latest}
|
|
11
|
+
build:
|
|
12
|
+
commands:
|
|
13
|
+
- echo logging in dockerhub...
|
|
14
|
+
- docker login -u $dockeruser -p $dockerpassword
|
|
15
|
+
- echo Build started on `date`
|
|
16
|
+
- echo Building the Docker image...
|
|
17
|
+
- sed -i "s|{{SHOPSTACK_TOKEN}}|$SHOPSATCK_TOKEN|g" .npmrc
|
|
18
|
+
- cat .npmrc
|
|
19
|
+
- docker build --no-cache -t $REPOSITORY_URI:latest --build-arg commit_hash=$COMMIT_HASH .
|
|
20
|
+
- docker tag $REPOSITORY_URI:latest $REPOSITORY_URI:$IMAGE_TAG
|
|
21
|
+
post_build:
|
|
22
|
+
commands:
|
|
23
|
+
- echo Build completed on `date`
|
|
24
|
+
- echo Pushing the Docker image...
|
|
25
|
+
- docker push $REPOSITORY_URI:$IMAGE_TAG
|
|
26
|
+
- echo Writing image definitions file...
|
|
27
|
+
- printf '[{"name":"%s","imageUri":"%s"}]' $IMAGE_CONTAINER_NAME $REPOSITORY_URI:$IMAGE_TAG > imagedefinitions.json
|
|
28
|
+
artifacts:
|
|
29
|
+
files: imagedefinitions.json
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
preset: 'ts-jest',
|
|
3
|
+
testEnvironment: 'node',
|
|
4
|
+
roots: ['<rootDir>/src/modules'],
|
|
5
|
+
testRegex: '.*\\.spec\\.ts$',
|
|
6
|
+
transform: {
|
|
7
|
+
'^.+\\.(t|j)s$': 'ts-jest'
|
|
8
|
+
},
|
|
9
|
+
transformIgnorePatterns: [
|
|
10
|
+
'node_modules/(?!(@shopstack/cc-core-lib)/.*)',
|
|
11
|
+
],
|
|
12
|
+
moduleNameMapper: {
|
|
13
|
+
'^@/(.*)$': '<rootDir>/src/$1',
|
|
14
|
+
'^(\\.{1,2}/.*)\\.js$': '$1',
|
|
15
|
+
'pdf-img-convert': '<rootDir>/test/__mocks__/pdf-img-convert.js',
|
|
16
|
+
'@shopstack/cc-core-lib/core': '<rootDir>/test/__mocks__/cc-core-lib.js'
|
|
17
|
+
},
|
|
18
|
+
setupFilesAfterEnv: ['<rootDir>/test/jest.setup.ts'],
|
|
19
|
+
collectCoverageFrom: [
|
|
20
|
+
'src/**/*.ts',
|
|
21
|
+
'!src/**/*.spec.ts',
|
|
22
|
+
'!src/**/*.module.ts',
|
|
23
|
+
'!src/main.ts',
|
|
24
|
+
'!src/**/index.ts',
|
|
25
|
+
'!src/modules/aws-s3/**/*',
|
|
26
|
+
'!src/**/*.enum.ts',
|
|
27
|
+
'!src/**/*.layout.ts',
|
|
28
|
+
'!src/**/*.workflow.ts',
|
|
29
|
+
'!src/**/*.custom_action.ts',
|
|
30
|
+
'!src/modules/modules.ts'
|
|
31
|
+
],
|
|
32
|
+
coverageDirectory: './coverage',
|
|
33
|
+
coverageReporters: ['lcov', 'text', 'text-summary'],
|
|
34
|
+
moduleFileExtensions: ['js', 'json', 'ts'],
|
|
35
|
+
globals: {
|
|
36
|
+
'ts-jest': {
|
|
37
|
+
tsconfig: 'tsconfig.test.json'
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
verbose: true,
|
|
41
|
+
testTimeout: 30000,
|
|
42
|
+
moduleDirectories: ['node_modules', 'src/__tests__/mocks', 'test/__mocks__']
|
|
43
|
+
};
|
|
@@ -14,16 +14,25 @@
|
|
|
14
14
|
"start:dev": "source ./newrelic.sh && nest start --watch",
|
|
15
15
|
"start:debug": "nest start --debug --watch",
|
|
16
16
|
"start:prod": "source ./newrelic.sh && node dist/src/main",
|
|
17
|
-
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix"
|
|
17
|
+
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
|
|
18
|
+
"test": "jest",
|
|
19
|
+
"test:watch": "jest --watch",
|
|
20
|
+
"test:cov": "jest --coverage",
|
|
21
|
+
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
|
|
22
|
+
"sonar": "node -r dotenv/config ./node_modules/.bin/jest --coverage && node -r dotenv/config ./node_modules/.bin/sonar-scanner",
|
|
23
|
+
"sonar:coverage": "jest --coverage --coverageReporters=lcov --coverageDirectory=coverage"
|
|
18
24
|
},
|
|
19
25
|
"dependencies": {
|
|
20
|
-
"@shopstack/cc-core-lib": "^2.5.
|
|
26
|
+
"@shopstack/cc-core-lib": "^2.5.274",
|
|
27
|
+
"reflect-metadata": "^0.1.14"
|
|
21
28
|
},
|
|
22
29
|
"devDependencies": {
|
|
30
|
+
"@nestjs/testing": "^10.3.5",
|
|
23
31
|
"@types/bcrypt": "^5.0.2",
|
|
24
32
|
"@types/bull": "^3.14.4",
|
|
25
33
|
"@types/chroma-js": "^2.4.0",
|
|
26
34
|
"@types/express": "^4.17.8",
|
|
35
|
+
"@types/jest": "^29.5.14",
|
|
27
36
|
"@types/node": "^13.13.27",
|
|
28
37
|
"@types/numeral": "^2.0.2",
|
|
29
38
|
"@types/supertest": "^2.0.10",
|
|
@@ -32,8 +41,11 @@
|
|
|
32
41
|
"eslint": "^8.44.0",
|
|
33
42
|
"eslint-config-prettier": "^6.13.0",
|
|
34
43
|
"eslint-plugin-import": "^2.22.1",
|
|
44
|
+
"jest": "^29.7.0",
|
|
35
45
|
"prettier": "^1.19.1",
|
|
46
|
+
"sonarqube-scanner": "^4.3.0",
|
|
36
47
|
"supertest": "^4.0.2",
|
|
48
|
+
"ts-jest": "^29.3.4",
|
|
37
49
|
"ts-loader": "^6.2.1",
|
|
38
50
|
"ts-node": "^10.9.1",
|
|
39
51
|
"tsconfig-paths": "^3.9.0",
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Project identification
|
|
2
|
+
sonar.projectKey=demo-points-core
|
|
3
|
+
sonar.projectName=Demo Points Core
|
|
4
|
+
sonar.projectVersion=1.0.0
|
|
5
|
+
|
|
6
|
+
# Source code location
|
|
7
|
+
sonar.sources=src
|
|
8
|
+
sonar.tests=src
|
|
9
|
+
sonar.test.inclusions=**/*.spec.ts
|
|
10
|
+
sonar.exclusions=**/*.layout.ts,**/*.workflow.ts,**/*.custom_action.ts,**/*.module.ts,**/main.ts,**/index.ts,**/aws-s3/**,**/*.enum.ts
|
|
11
|
+
|
|
12
|
+
# Language
|
|
13
|
+
sonar.language=ts
|
|
14
|
+
sonar.typescript.lcov.reportPaths=coverage/lcov.info
|
|
15
|
+
|
|
16
|
+
# Encoding of the source files
|
|
17
|
+
sonar.sourceEncoding=UTF-8
|
|
18
|
+
|
|
19
|
+
# Coverage report path
|
|
20
|
+
sonar.javascript.lcov.reportPaths=coverage/lcov.info
|
|
21
|
+
|
|
22
|
+
# SonarCloud configuration
|
|
23
|
+
sonar.host.url=https://sonarcloud.io
|
|
24
|
+
sonar.organization=your-organization-key # You need to replace this with your organization key
|
|
25
|
+
|
|
26
|
+
# Authentication token should be provided via environment variable SONAR_TOKEN
|
|
27
|
+
# DO NOT add the token directly in this file for security reasons
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
declare module '@shopstack/cc-core-lib/core' {
|
|
2
|
+
import type { Mock } from 'jest-mock';
|
|
3
|
+
|
|
4
|
+
// Mocked classes
|
|
5
|
+
export class BaseSchema {
|
|
6
|
+
constructor(definition?: any, options?: any);
|
|
7
|
+
_id: any;
|
|
8
|
+
id: string;
|
|
9
|
+
created_at: Date;
|
|
10
|
+
updated_at: Date;
|
|
11
|
+
created_by: string;
|
|
12
|
+
updated_by: string;
|
|
13
|
+
is_deleted: boolean;
|
|
14
|
+
is_active: boolean;
|
|
15
|
+
save: () => Promise<this>;
|
|
16
|
+
add: Mock;
|
|
17
|
+
pre: Mock;
|
|
18
|
+
post: Mock;
|
|
19
|
+
plugin: Mock;
|
|
20
|
+
index: Mock;
|
|
21
|
+
set: Mock;
|
|
22
|
+
virtual: Mock;
|
|
23
|
+
path: Mock;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export class BasePipelineProvider {
|
|
27
|
+
constructor();
|
|
28
|
+
init(settings: any): Promise<string>;
|
|
29
|
+
process(data: any): Promise<any>;
|
|
30
|
+
queue(data: any): Promise<any>;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export class BaseService<T = any> {
|
|
34
|
+
code: string;
|
|
35
|
+
protected model: any;
|
|
36
|
+
static prefix: string;
|
|
37
|
+
constructor(cls: any, model: any);
|
|
38
|
+
find(query: any): Promise<T[]>;
|
|
39
|
+
findOne(query: any, field?: string[], ignore?: any): Promise<T>;
|
|
40
|
+
findById(id: string): Promise<T>;
|
|
41
|
+
findByIdAndUpdate(id: string, update: any, options?: any): Promise<T>;
|
|
42
|
+
findOneAndUpdate(query: any, update: any, options?: any): Promise<T>;
|
|
43
|
+
create(data: any): Promise<T>;
|
|
44
|
+
update(id: string, data: any): Promise<T>;
|
|
45
|
+
delete(id: string): Promise<any>;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export class BaseModuleSettingService {
|
|
49
|
+
code: string;
|
|
50
|
+
protected setting: any;
|
|
51
|
+
cls: any;
|
|
52
|
+
constructor(code: string, setting: any, cls: any);
|
|
53
|
+
init(): Promise<string>;
|
|
54
|
+
getSetting(key?: string): Promise<any>;
|
|
55
|
+
setSetting(data: any, key?: string): Promise<any>;
|
|
56
|
+
defaultPermission(): Promise<any>;
|
|
57
|
+
setPermission(permission: any): Promise<any[]>;
|
|
58
|
+
getModuleConfig(): Promise<any>;
|
|
59
|
+
updateModuleConfig(config: any): Promise<any>;
|
|
60
|
+
getScheduleConfig(): Promise<any>;
|
|
61
|
+
updateScheduleConfig(config: any): Promise<any>;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export interface IModuleSetting {
|
|
65
|
+
defaultPermission(): Promise<any>;
|
|
66
|
+
setPermission(permission: any): Promise<any[]>;
|
|
67
|
+
getSetting(key?: string): Promise<any>;
|
|
68
|
+
setSetting(data: any, key?: string): Promise<any>;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export interface PipelineExecuteDto {
|
|
72
|
+
[key: string]: any;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export const CONST: {
|
|
76
|
+
CUSTOM_PROVIDERS: any[];
|
|
77
|
+
IGNORE_ENTITY: any[];
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export const BaseSchemaFactory: {
|
|
81
|
+
createForClass: Mock<any, [any]>;
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
export const callAddQueueInternal: Mock<Promise<boolean>, [string, any]>;
|
|
85
|
+
export const callCountInternalService: Mock<Promise<number>, [string, any]>;
|
|
86
|
+
export const callFindInternalService: Mock<Promise<any>, [string, string?, any?, string?, string?, any?]>;
|
|
87
|
+
export const callListInternalService: Mock<Promise<any>, [string, any?, any?]>;
|
|
88
|
+
export const callCreateInternalService: Mock<Promise<any>, [string, any, any?, boolean?]>;
|
|
89
|
+
export const callDeleteInternalService: Mock<Promise<any>, [string, string]>;
|
|
90
|
+
export const callBulkDeleteInternalService: Mock<Promise<any>, [string, string[]]>;
|
|
91
|
+
export const callBulkUpdateInternalService: Mock<Promise<any>, [string, any[]]>;
|
|
92
|
+
export const callUpdateInternalService: Mock<Promise<any>, [string, string, any]>;
|
|
93
|
+
export const callInternalService: Mock<Promise<any>, [string, string, any?, any?]>;
|
|
94
|
+
export const callGetInternalService: Mock<Promise<any>, [string, string]>;
|
|
95
|
+
|
|
96
|
+
export const transformString: Mock<string, [string, any]>;
|
|
97
|
+
export const executeFunc: Mock<string, [string, any, any]>;
|
|
98
|
+
export const generateRunningNumber: Mock<string, [string, string, number]>;
|
|
99
|
+
export const loadEntity: Mock<Promise<any>, [string]>;
|
|
100
|
+
export const getNextExecuteTime: Mock<Date, []>;
|
|
101
|
+
export const transform: Mock<any, [any]>;
|
|
102
|
+
export const generateOtp: Mock<Promise<string>, []>;
|
|
103
|
+
export const validateOtp: Mock<Promise<boolean>, [string, string]>;
|
|
104
|
+
export const initQueue: Mock<Promise<boolean>, [string, any]>;
|
|
105
|
+
export const randomString: Mock<string, [number?]>;
|
|
106
|
+
export const convertConditionToMongoQuery: Mock<any, [any]>;
|
|
107
|
+
export const addSystemSchedule: Mock<void, [any]>;
|
|
108
|
+
|
|
109
|
+
export interface SearchResultDto {
|
|
110
|
+
rows: any[];
|
|
111
|
+
total: number;
|
|
112
|
+
page: number;
|
|
113
|
+
limit: number;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export class EntitiesService {
|
|
117
|
+
refreshSystemSchema: Mock<Promise<boolean>, [any, any, any, any, any?]>;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export class SettingService {
|
|
121
|
+
getSetting: Mock<Promise<any>, [string?]>;
|
|
122
|
+
setSetting: Mock<Promise<any>, [any, string?]>;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export const UserPermission: {
|
|
126
|
+
creator: string;
|
|
127
|
+
viewer: string;
|
|
128
|
+
access_denied: string;
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
export const PointProgramRuleType: {
|
|
132
|
+
BIRTHDAY: string;
|
|
133
|
+
SPEND: string;
|
|
134
|
+
FIXED: string;
|
|
135
|
+
QR_SCAN: string;
|
|
136
|
+
GAME_REWARD: string;
|
|
137
|
+
SIGNUP: string;
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
export interface LayoutEntity {
|
|
141
|
+
name: string;
|
|
142
|
+
code: string;
|
|
143
|
+
type: string[];
|
|
144
|
+
detail: any;
|
|
145
|
+
list?: any;
|
|
146
|
+
allow_workflow_actions?: boolean;
|
|
147
|
+
[key: string]: any; // Allow additional properties
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
export interface WorkflowEntity {
|
|
151
|
+
[key: string]: any; // Allow any properties for workflow
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
export class BaseController {
|
|
155
|
+
constructor(service: any);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// Decorators
|
|
159
|
+
export const Basic: () => (target: any, propertyKey?: string, descriptor?: PropertyDescriptor) => any;
|
|
160
|
+
export const Public: () => (target: any, propertyKey?: string, descriptor?: PropertyDescriptor) => any;
|
|
161
|
+
}
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
const mongoose = require('mongoose');
|
|
2
|
+
const { Schema } = mongoose;
|
|
3
|
+
// const jest = require('jest-mock');
|
|
4
|
+
|
|
5
|
+
// ---- Mock BaseSchema ----
|
|
6
|
+
class BaseSchema {
|
|
7
|
+
constructor(definition = {}, options = {}) {
|
|
8
|
+
this.definition = definition;
|
|
9
|
+
this.options = options;
|
|
10
|
+
this._id = new mongoose.Types.ObjectId();
|
|
11
|
+
this.id = this._id.toString();
|
|
12
|
+
this.created_at = new Date();
|
|
13
|
+
this.updated_at = new Date();
|
|
14
|
+
this.created_by = 'test-user';
|
|
15
|
+
this.updated_by = 'test-user';
|
|
16
|
+
this.is_deleted = false;
|
|
17
|
+
this.is_active = true;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
save() {
|
|
21
|
+
return Promise.resolve(this);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Add mock schema methods
|
|
25
|
+
add = jest.fn();
|
|
26
|
+
pre = jest.fn().mockReturnThis();
|
|
27
|
+
post = jest.fn().mockReturnThis();
|
|
28
|
+
plugin = jest.fn().mockReturnThis();
|
|
29
|
+
index = jest.fn().mockReturnThis();
|
|
30
|
+
set = jest.fn().mockReturnThis();
|
|
31
|
+
virtual = jest.fn().mockReturnThis();
|
|
32
|
+
path = jest.fn().mockReturnThis();
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// ---- Mock Services & Classes ----
|
|
36
|
+
class BasePipelineProvider {
|
|
37
|
+
constructor() {
|
|
38
|
+
this._settings = null;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
async init(settings) {
|
|
42
|
+
this._settings = settings;
|
|
43
|
+
return '[PIPELINE] Initialized';
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
async process(data) {
|
|
47
|
+
return data;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
async queue(data) {
|
|
51
|
+
return data;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
class BaseService {
|
|
56
|
+
constructor(cls, model) {
|
|
57
|
+
this.cls = cls;
|
|
58
|
+
this.model = {
|
|
59
|
+
create: jest.fn().mockImplementation((data) => {
|
|
60
|
+
console.log('🔥 MOCK: BBaseService.model.create called:', data);
|
|
61
|
+
return data;
|
|
62
|
+
})
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
static prefix = '';
|
|
67
|
+
|
|
68
|
+
async find(query) {
|
|
69
|
+
const result = this.model.find(query);
|
|
70
|
+
return result.exec ? result.exec() : result;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
async findOne(query, field, ignore) {
|
|
74
|
+
const result = this.model.findOne(query);
|
|
75
|
+
return result.exec ? result.exec() : result;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
async findById(id) {
|
|
79
|
+
const result = this.model.findById(id);
|
|
80
|
+
return result.exec ? result.exec() : result;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
async findByIdAndUpdate(id, update, options) {
|
|
84
|
+
const result = this.model.findByIdAndUpdate(id, update, options);
|
|
85
|
+
return result.exec ? result.exec() : result;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
async findOneAndUpdate(query, update, options) {
|
|
89
|
+
const result = this.model.findOneAndUpdate(query, update, options);
|
|
90
|
+
return result.exec ? result.exec() : result;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
async create(data) {
|
|
94
|
+
return data;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
async update(id, data) {
|
|
98
|
+
return { _id: id, ...data };
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
async delete(id) {
|
|
102
|
+
return { _id: id, deleted: true };
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
class BaseModuleSettingService {
|
|
107
|
+
constructor(code, setting, cls) {
|
|
108
|
+
this.code = code;
|
|
109
|
+
this.setting = setting;
|
|
110
|
+
this.cls = cls;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
async init() {
|
|
114
|
+
return 'Initialized';
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
async getSetting(key) {
|
|
118
|
+
// Use the injected setting service if available, otherwise return default data
|
|
119
|
+
if (this.setting && this.setting.getSetting) {
|
|
120
|
+
return await this.setting.getSetting(key);
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
transaction: {
|
|
124
|
+
format: 'TR${ _date("YYMMDD","7h","") }',
|
|
125
|
+
running: 4,
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
async setSetting(data, key) {
|
|
131
|
+
// Use the injected setting service if available, otherwise return the data
|
|
132
|
+
if (this.setting && this.setting.setSetting) {
|
|
133
|
+
return await this.setting.setSetting(data, key);
|
|
134
|
+
}
|
|
135
|
+
return data;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
async defaultPermission() {
|
|
139
|
+
return {};
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
async setPermission(permission) {
|
|
143
|
+
return [];
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
async getModuleConfig() {
|
|
147
|
+
return {
|
|
148
|
+
point_expiration_days: 30,
|
|
149
|
+
birthday_points: 100,
|
|
150
|
+
signup_points: 50,
|
|
151
|
+
programs: [
|
|
152
|
+
{ rule_type: 'PURCHASE', points: 10, min_spend: 100, max_points: 1000 },
|
|
153
|
+
{ rule_type: 'QR_SCAN', points: 5 },
|
|
154
|
+
{ rule_type: 'GAME_REWARD', points: 20 },
|
|
155
|
+
],
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
async updateModuleConfig(config) {
|
|
160
|
+
return config;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
async getScheduleConfig() {
|
|
164
|
+
return {};
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
async updateScheduleConfig(config) {
|
|
168
|
+
return config;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
class BaseController {
|
|
173
|
+
constructor(service) {
|
|
174
|
+
this.service = service;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
// ---- Helper Mocks ----
|
|
179
|
+
const BaseSchemaFactory = {
|
|
180
|
+
createForClass: jest.fn((cls) => ({
|
|
181
|
+
prototype: new cls(),
|
|
182
|
+
})),
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
const callAddQueueInternal = jest.fn().mockResolvedValue(true);
|
|
186
|
+
const callCountInternalService = jest.fn().mockResolvedValue(1);
|
|
187
|
+
const callFindInternalService = jest.fn().mockResolvedValue({});
|
|
188
|
+
const callListInternalService = jest.fn().mockResolvedValue({ rows: [] });
|
|
189
|
+
const callCreateInternalService = jest.fn().mockResolvedValue({});
|
|
190
|
+
const callDeleteInternalService = jest.fn().mockResolvedValue({});
|
|
191
|
+
const callBulkDeleteInternalService = jest.fn().mockResolvedValue({});
|
|
192
|
+
const callBulkUpdateInternalService = jest.fn().mockResolvedValue({});
|
|
193
|
+
const callUpdateInternalService = jest.fn().mockResolvedValue({});
|
|
194
|
+
const callInternalService = jest.fn().mockResolvedValue({});
|
|
195
|
+
const callGetInternalService = jest.fn();
|
|
196
|
+
|
|
197
|
+
const transformString = jest.fn((str, data) => str);
|
|
198
|
+
const executeFunc = jest.fn((str, entity, data) => str);
|
|
199
|
+
const generateRunningNumber = jest.fn((prefix, template, running) => `${template}${running}`);
|
|
200
|
+
const loadEntity = jest.fn().mockResolvedValue({ id: 'test-entity' });
|
|
201
|
+
const getNextExecuteTime = jest.fn(() => new Date());
|
|
202
|
+
const transform = jest.fn((data) => data);
|
|
203
|
+
const generateOtp = jest.fn().mockResolvedValue({ ref: 'test-ref', otp: '123456' });
|
|
204
|
+
const validateOtp = jest.fn().mockResolvedValue(true);
|
|
205
|
+
const initQueue = jest.fn().mockResolvedValue(true);
|
|
206
|
+
const randomString = jest.fn((length) => 'a'.repeat(length || 8));
|
|
207
|
+
const convertConditionToMongoQuery = jest.fn((condition) => condition);
|
|
208
|
+
const addSystemSchedule = jest.fn();
|
|
209
|
+
|
|
210
|
+
// Basic decorator mock - works for both class and method decorators
|
|
211
|
+
const Basic = () => {
|
|
212
|
+
return (target, propertyKey, descriptor) => {
|
|
213
|
+
// If descriptor is provided, it's a method decorator
|
|
214
|
+
if (descriptor) {
|
|
215
|
+
return descriptor;
|
|
216
|
+
}
|
|
217
|
+
// Otherwise, it's a class decorator
|
|
218
|
+
return target;
|
|
219
|
+
};
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
// Public decorator mock
|
|
223
|
+
const Public = () => {
|
|
224
|
+
return (target, propertyKey, descriptor) => {
|
|
225
|
+
// If descriptor is provided, it's a method decorator
|
|
226
|
+
if (descriptor) {
|
|
227
|
+
return descriptor;
|
|
228
|
+
}
|
|
229
|
+
// Otherwise, it's a class decorator
|
|
230
|
+
return target;
|
|
231
|
+
};
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
class EntitiesService {
|
|
235
|
+
refreshSystemSchema = jest.fn().mockResolvedValue(true);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
const SettingService = jest.fn(() => ({
|
|
239
|
+
getSetting: jest.fn().mockResolvedValue({}),
|
|
240
|
+
setSetting: jest.fn().mockResolvedValue({}),
|
|
241
|
+
}));
|
|
242
|
+
|
|
243
|
+
const UserPermission = {
|
|
244
|
+
creator: 'creator',
|
|
245
|
+
viewer: 'viewer',
|
|
246
|
+
access_denied: 'access_denied',
|
|
247
|
+
};
|
|
248
|
+
|
|
249
|
+
// Mock LayoutEntity (interface, so just an empty object)
|
|
250
|
+
const LayoutEntity = {};
|
|
251
|
+
|
|
252
|
+
// Mock WorkflowEntity (interface, so just an empty object)
|
|
253
|
+
const WorkflowEntity = {};
|
|
254
|
+
|
|
255
|
+
// Mock IModuleSetting (interface, so just an empty object)
|
|
256
|
+
const IModuleSetting = {};
|
|
257
|
+
|
|
258
|
+
// Mock PipelineExecuteDto (interface, so just an empty object)
|
|
259
|
+
const PipelineExecuteDto = {};
|
|
260
|
+
|
|
261
|
+
// Mock CONST object
|
|
262
|
+
const CONST = {
|
|
263
|
+
CUSTOM_PROVIDERS: [],
|
|
264
|
+
IGNORE_ENTITY: []
|
|
265
|
+
};
|
|
266
|
+
|
|
267
|
+
// ---- Export Everything ----
|
|
268
|
+
module.exports = {
|
|
269
|
+
BaseSchema,
|
|
270
|
+
BaseService,
|
|
271
|
+
BaseController,
|
|
272
|
+
BasePipelineProvider,
|
|
273
|
+
BaseModuleSettingService,
|
|
274
|
+
BaseSchemaFactory,
|
|
275
|
+
callAddQueueInternal,
|
|
276
|
+
callCountInternalService,
|
|
277
|
+
callFindInternalService,
|
|
278
|
+
callListInternalService,
|
|
279
|
+
callCreateInternalService,
|
|
280
|
+
callDeleteInternalService,
|
|
281
|
+
callBulkDeleteInternalService,
|
|
282
|
+
callBulkUpdateInternalService,
|
|
283
|
+
callUpdateInternalService,
|
|
284
|
+
callInternalService,
|
|
285
|
+
callGetInternalService,
|
|
286
|
+
loadEntity,
|
|
287
|
+
getNextExecuteTime,
|
|
288
|
+
transformString,
|
|
289
|
+
executeFunc,
|
|
290
|
+
generateRunningNumber,
|
|
291
|
+
EntitiesService,
|
|
292
|
+
SettingService,
|
|
293
|
+
UserPermission,
|
|
294
|
+
LayoutEntity,
|
|
295
|
+
WorkflowEntity,
|
|
296
|
+
IModuleSetting,
|
|
297
|
+
PipelineExecuteDto,
|
|
298
|
+
CONST,
|
|
299
|
+
transform,
|
|
300
|
+
generateOtp,
|
|
301
|
+
validateOtp,
|
|
302
|
+
initQueue,
|
|
303
|
+
randomString,
|
|
304
|
+
Basic,
|
|
305
|
+
Public,
|
|
306
|
+
convertConditionToMongoQuery,
|
|
307
|
+
addSystemSchedule
|
|
308
|
+
};
|
|
309
|
+
|
|
310
|
+
// Optional: ESM Compatibility
|
|
311
|
+
module.exports.default = module.exports;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import mongoose from 'mongoose';
|
|
2
|
+
|
|
3
|
+
// Configure Mongoose
|
|
4
|
+
mongoose.set('strictQuery', false);
|
|
5
|
+
|
|
6
|
+
// Mock console methods to reduce noise in tests
|
|
7
|
+
global.console = {
|
|
8
|
+
...console,
|
|
9
|
+
error: jest.fn(),
|
|
10
|
+
warn: jest.fn(),
|
|
11
|
+
info: jest.fn(),
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
// Mock cc-core-lib
|
|
15
|
+
jest.mock('@shopstack/cc-core-lib/core');
|
|
16
|
+
|
|
17
|
+
// Clear mocks before each test
|
|
18
|
+
beforeEach(() => {
|
|
19
|
+
jest.clearAllMocks();
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
// Disconnect Mongoose after all tests
|
|
23
|
+
afterAll(async () => {
|
|
24
|
+
await mongoose.disconnect();
|
|
25
|
+
});
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
3
|
+
"module": "commonjs",
|
|
4
|
+
"declaration": true,
|
|
5
|
+
"removeComments": true,
|
|
6
|
+
"emitDecoratorMetadata": true,
|
|
7
|
+
"experimentalDecorators": true,
|
|
8
|
+
"target": "es2017",
|
|
9
|
+
"sourceMap": true,
|
|
10
|
+
"outDir": "./dist",
|
|
11
|
+
"baseUrl": "./",
|
|
12
|
+
"incremental": true,
|
|
13
|
+
"allowSyntheticDefaultImports": true,
|
|
14
|
+
"resolveJsonModule": true,
|
|
15
|
+
"skipLibCheck": true
|
|
16
16
|
},
|
|
17
17
|
"exclude": [
|
|
18
18
|
"node_modules",
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "./tsconfig.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"experimentalDecorators": true,
|
|
5
|
+
"emitDecoratorMetadata": true,
|
|
6
|
+
"paths": {
|
|
7
|
+
"@shopstack/cc-core-lib/core": [
|
|
8
|
+
"test/__mocks__/cc-core-lib"
|
|
9
|
+
]
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"include": [
|
|
13
|
+
"**/*.spec.ts",
|
|
14
|
+
"**/__tests__/**/*",
|
|
15
|
+
"test/__mocks__/*.d.ts"
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{}
|