@servicetitan/startup 27.2.1 → 27.4.0-canary.0

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.
Files changed (135) hide show
  1. package/dist/cli/commands/get-branch-configs.d.ts +4 -0
  2. package/dist/cli/commands/get-branch-configs.d.ts.map +1 -0
  3. package/dist/cli/commands/get-branch-configs.js +13 -0
  4. package/dist/cli/commands/get-branch-configs.js.map +1 -0
  5. package/dist/cli/commands/get-command.d.ts.map +1 -1
  6. package/dist/cli/commands/get-command.js +4 -2
  7. package/dist/cli/commands/get-command.js.map +1 -1
  8. package/dist/cli/commands/init.d.ts +0 -1
  9. package/dist/cli/commands/init.d.ts.map +1 -1
  10. package/dist/cli/commands/init.js +39 -9
  11. package/dist/cli/commands/init.js.map +1 -1
  12. package/dist/cli/commands/mfe-package-clean.d.ts +13 -0
  13. package/dist/cli/commands/mfe-package-clean.d.ts.map +1 -0
  14. package/dist/cli/commands/mfe-package-clean.js +113 -0
  15. package/dist/cli/commands/mfe-package-clean.js.map +1 -0
  16. package/dist/cli/commands/mfe-package-publish.d.ts +20 -0
  17. package/dist/cli/commands/mfe-package-publish.d.ts.map +1 -0
  18. package/dist/cli/commands/mfe-package-publish.js +153 -0
  19. package/dist/cli/commands/mfe-package-publish.js.map +1 -0
  20. package/dist/cli/commands/mfe-publish.d.ts +4 -29
  21. package/dist/cli/commands/mfe-publish.d.ts.map +1 -1
  22. package/dist/cli/commands/mfe-publish.js +1 -213
  23. package/dist/cli/commands/mfe-publish.js.map +1 -1
  24. package/dist/cli/utils/assets-copy.d.ts.map +1 -1
  25. package/dist/cli/utils/assets-copy.js +3 -3
  26. package/dist/cli/utils/assets-copy.js.map +1 -1
  27. package/dist/cli/utils/bundle.d.ts.map +1 -1
  28. package/dist/cli/utils/bundle.js +10 -11
  29. package/dist/cli/utils/bundle.js.map +1 -1
  30. package/dist/cli/utils/cli-os.d.ts +9 -2
  31. package/dist/cli/utils/cli-os.d.ts.map +1 -1
  32. package/dist/cli/utils/cli-os.js +16 -8
  33. package/dist/cli/utils/cli-os.js.map +1 -1
  34. package/dist/cli/utils/styles-copy.d.ts.map +1 -1
  35. package/dist/cli/utils/styles-copy.js +3 -3
  36. package/dist/cli/utils/styles-copy.js.map +1 -1
  37. package/dist/index.d.ts +1 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +4 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/utils/get-configuration.d.ts +2 -1
  42. package/dist/utils/get-configuration.d.ts.map +1 -1
  43. package/dist/utils/get-configuration.js +5 -0
  44. package/dist/utils/get-configuration.js.map +1 -1
  45. package/dist/utils/get-exposed-dependencies.d.ts +7 -0
  46. package/dist/utils/get-exposed-dependencies.d.ts.map +1 -0
  47. package/dist/utils/get-exposed-dependencies.js +10 -0
  48. package/dist/utils/get-exposed-dependencies.js.map +1 -0
  49. package/dist/utils/get-folders.js +2 -2
  50. package/dist/utils/get-folders.js.map +1 -1
  51. package/dist/utils/index.d.ts +1 -0
  52. package/dist/utils/index.d.ts.map +1 -1
  53. package/dist/utils/index.js +1 -0
  54. package/dist/utils/index.js.map +1 -1
  55. package/dist/webpack/configs/dev-server-config.d.ts.map +1 -1
  56. package/dist/webpack/configs/dev-server-config.js +4 -1
  57. package/dist/webpack/configs/dev-server-config.js.map +1 -1
  58. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.d.ts.map +1 -1
  59. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js +2 -9
  60. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js.map +1 -1
  61. package/dist/webpack/configs/plugins/virtual-modules-plugin.d.ts.map +1 -1
  62. package/dist/webpack/configs/plugins/virtual-modules-plugin.js +15 -5
  63. package/dist/webpack/configs/plugins/virtual-modules-plugin.js.map +1 -1
  64. package/dist/webpack/configs/types.d.ts +16 -0
  65. package/dist/webpack/configs/types.d.ts.map +1 -1
  66. package/dist/webpack/configs/utils/generate-metadata.d.ts.map +1 -1
  67. package/dist/webpack/configs/utils/generate-metadata.js +3 -3
  68. package/dist/webpack/configs/utils/generate-metadata.js.map +1 -1
  69. package/package.json +15 -20
  70. package/src/cli/commands/__tests__/init.test.ts +108 -28
  71. package/src/cli/commands/__tests__/mfe-package-clean.test.ts +1 -1
  72. package/src/cli/commands/__tests__/mfe-package-publish.test.ts +77 -7
  73. package/src/cli/commands/get-branch-configs.ts +8 -0
  74. package/src/cli/commands/get-command.ts +3 -1
  75. package/src/cli/commands/init.ts +40 -10
  76. package/src/cli/commands/mfe-package-clean.ts +132 -0
  77. package/src/cli/commands/mfe-package-publish.ts +189 -0
  78. package/src/cli/commands/mfe-publish.ts +5 -294
  79. package/src/cli/utils/__tests__/assets-copy.test.ts +3 -7
  80. package/src/cli/utils/__tests__/bundle.test.ts +45 -6
  81. package/src/cli/utils/__tests__/cli-os.test.ts +41 -6
  82. package/src/cli/utils/__tests__/styles-copy.test.ts +3 -7
  83. package/src/cli/utils/assets-copy.ts +3 -3
  84. package/src/cli/utils/bundle.ts +14 -20
  85. package/src/cli/utils/cli-os.ts +20 -8
  86. package/src/cli/utils/styles-copy.ts +3 -3
  87. package/src/index.ts +2 -0
  88. package/src/utils/__tests__/get-configuration.test.ts +6 -0
  89. package/src/utils/get-configuration.ts +6 -1
  90. package/src/utils/get-exposed-dependencies.ts +19 -0
  91. package/src/utils/get-folders.ts +1 -1
  92. package/src/utils/index.ts +1 -0
  93. package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +47 -13
  94. package/src/webpack/__tests__/create-webpack-config.test.ts +10 -0
  95. package/src/webpack/configs/dev-server-config.ts +7 -2
  96. package/src/webpack/configs/plugins/define-exposed-dependencies-plugin.ts +6 -16
  97. package/src/webpack/configs/plugins/virtual-modules-plugin.ts +17 -5
  98. package/src/webpack/configs/types.ts +19 -0
  99. package/src/webpack/configs/utils/generate-metadata.ts +5 -5
  100. package/template/.eslintrc.json +0 -3
  101. package/template/.gitignore +0 -21
  102. package/template/.npmrc +0 -3
  103. package/template/.prettierrc +0 -9
  104. package/template/.stylelintignore +0 -1
  105. package/template/.stylelintrc.json +0 -3
  106. package/template/.vscode/extensions.json +0 -18
  107. package/template/.vscode/settings.json +0 -4
  108. package/template/lerna.json +0 -4
  109. package/template/package.json +0 -32
  110. package/template/packages/application/package.json +0 -35
  111. package/template/packages/application/src/__tests__/app.test.tsx +0 -33
  112. package/template/packages/application/src/app.css +0 -3
  113. package/template/packages/application/src/app.tsx +0 -45
  114. package/template/packages/application/src/design-system.css +0 -3
  115. package/template/packages/application/src/index.tsx +0 -8
  116. package/template/packages/application/src/main-page.tsx +0 -5
  117. package/template/packages/application/src/second-page.tsx +0 -5
  118. package/template/packages/application/tsconfig.json +0 -13
  119. package/template/packages/feature-a/package.json +0 -19
  120. package/template/packages/feature-a/src/index.ts +0 -0
  121. package/template/packages/feature-a/tsconfig.json +0 -9
  122. package/template/packages/feature-b/package.json +0 -19
  123. package/template/packages/feature-b/src/index.ts +0 -0
  124. package/template/packages/feature-b/tsconfig.json +0 -9
  125. package/template/packages/feature-c/package.json +0 -19
  126. package/template/packages/feature-c/src/index.ts +0 -0
  127. package/template/packages/feature-c/tsconfig.json +0 -9
  128. package/template/setupTests.ts +0 -27
  129. package/template/tsconfig.test.json +0 -5
  130. package/template-react18/packages/application/package.json +0 -35
  131. package/template-react18/packages/application/src/index.tsx +0 -9
  132. package/template-react18/packages/feature-a/package.json +0 -19
  133. package/template-react18/packages/feature-b/package.json +0 -19
  134. package/template-react18/packages/feature-c/package.json +0 -19
  135. package/tsconfig.json +0 -13
@@ -1,33 +0,0 @@
1
- import { mockComponent, mockLocation } from '@servicetitan/testing-library';
2
- import { render, screen } from '@testing-library/react';
3
-
4
- import { App } from '../app';
5
-
6
- jest.mock('../main-page', () => mockComponent('MainPage'));
7
- jest.mock('../second-page', () => mockComponent('SecondPage'));
8
-
9
- describe(`${App.name}`, () => {
10
- const subject = () => render(<App />);
11
-
12
- test('renders sidebar', () => {
13
- subject();
14
-
15
- expect(screen.getByRole('link', { name: 'Main page' })).toBeInTheDocument();
16
- expect(screen.getByRole('link', { name: 'Second page' })).toBeInTheDocument();
17
- });
18
-
19
- const routes = Object.entries({
20
- MainPage: '/',
21
- SecondPage: '/#/second-page',
22
- }).map(([component, path]) => ({ component, path }));
23
-
24
- describe.each(routes)('when location is $path', ({ component, path }) => {
25
- beforeEach(() => mockLocation(path));
26
-
27
- test(`renders <${component} />`, () => {
28
- subject();
29
-
30
- expect(screen).toContainComponent(component);
31
- });
32
- });
33
- });
@@ -1,3 +0,0 @@
1
- body {
2
- margin: var(--spacing-0);
3
- }
@@ -1,45 +0,0 @@
1
- import { StrictMode, FC } from 'react';
2
- import { Switch, Route } from 'react-router-dom';
3
- import { HashBrowserRouter } from '@servicetitan/hash-browser-router';
4
- import { SideNav, Frame, Page, Sidebar } from '@servicetitan/design-system';
5
- import { SideNavLinkItem } from '@servicetitan/link-item';
6
-
7
- import { SecondPage } from './second-page';
8
- import { MainPage } from './main-page';
9
- import './design-system.css';
10
- import './app.css';
11
-
12
- export const App: FC = () => (
13
- <StrictMode>
14
- <HashBrowserRouter>
15
- <Frame>
16
- <Page
17
- sidebar={
18
- <Sidebar localStorageKey="sidebar-application">
19
- <Sidebar.Section padding="y">
20
- <SideNav title="Application">
21
- <SideNavLinkItem pathname="/" exact>
22
- Main page
23
- </SideNavLinkItem>
24
- <SideNavLinkItem pathname="/second-page">
25
- Second page
26
- </SideNavLinkItem>
27
- </SideNav>
28
- </Sidebar.Section>
29
- </Sidebar>
30
- }
31
- maxWidth="wide"
32
- >
33
- <Switch>
34
- <Route path="/" exact>
35
- <MainPage />
36
- </Route>
37
- <Route path="/second-page">
38
- <SecondPage />
39
- </Route>
40
- </Switch>
41
- </Page>
42
- </Frame>
43
- </HashBrowserRouter>
44
- </StrictMode>
45
- );
@@ -1,3 +0,0 @@
1
- @import '~@servicetitan/tokens/dist/tokens.css';
2
- @import '~@servicetitan/anvil-fonts/dist/css/anvil-fonts.css';
3
- @import '~@servicetitan/design-system/dist/system.min.css';
@@ -1,8 +0,0 @@
1
- import { render } from 'react-dom';
2
-
3
- import { App } from './app';
4
-
5
- const appContainer = document.createElement('div');
6
- document.body.appendChild(appContainer);
7
-
8
- render(<App />, appContainer);
@@ -1,5 +0,0 @@
1
- import { Fragment } from 'react';
2
-
3
- export function MainPage() {
4
- return <Fragment>Main page</Fragment>;
5
- }
@@ -1,5 +0,0 @@
1
- import { Fragment } from 'react';
2
-
3
- export function SecondPage() {
4
- return <Fragment>Second page</Fragment>;
5
- }
@@ -1,13 +0,0 @@
1
- {
2
- "extends": "@servicetitan/startup/tsconfig/base",
3
- "compilerOptions": {
4
- "outDir": "dist",
5
- "rootDir": "src"
6
- },
7
- "include": ["src/**/*"],
8
- "references": [
9
- { "path": "../feature-a" },
10
- { "path": "../feature-b" },
11
- { "path": "../feature-c" }
12
- ]
13
- }
@@ -1,19 +0,0 @@
1
- {
2
- "name": "feature-a",
3
- "version": "0.0.0",
4
- "description": "",
5
- "private": true,
6
- "main": "./dist/index.js",
7
- "typings": "./dist/index.d.ts",
8
- "dependencies": {
9
- "react": "^17.0.2",
10
- "react-dom": "^17.0.2"
11
- },
12
- "devDependencies": {
13
- "@types/react": "^17.0.37",
14
- "@types/react-dom": "^17.0.11"
15
- },
16
- "cli": {
17
- "webpack": false
18
- }
19
- }
File without changes
@@ -1,9 +0,0 @@
1
- {
2
- "extends": "@servicetitan/startup/tsconfig/base",
3
- "compilerOptions": {
4
- "outDir": "dist",
5
- "rootDir": "src",
6
- "composite": true
7
- },
8
- "include": ["src/**/*"]
9
- }
@@ -1,19 +0,0 @@
1
- {
2
- "name": "feature-b",
3
- "version": "0.0.0",
4
- "description": "",
5
- "private": true,
6
- "main": "./dist/index.js",
7
- "typings": "./dist/index.d.ts",
8
- "dependencies": {
9
- "react": "^17.0.2",
10
- "react-dom": "^17.0.2"
11
- },
12
- "devDependencies": {
13
- "@types/react": "^17.0.37",
14
- "@types/react-dom": "^17.0.11"
15
- },
16
- "cli": {
17
- "webpack": false
18
- }
19
- }
File without changes
@@ -1,9 +0,0 @@
1
- {
2
- "extends": "@servicetitan/startup/tsconfig/base",
3
- "compilerOptions": {
4
- "outDir": "dist",
5
- "rootDir": "src",
6
- "composite": true
7
- },
8
- "include": ["src/**/*"]
9
- }
@@ -1,19 +0,0 @@
1
- {
2
- "name": "feature-c",
3
- "version": "0.0.0",
4
- "description": "",
5
- "private": true,
6
- "main": "./dist/index.js",
7
- "typings": "./dist/index.d.ts",
8
- "dependencies": {
9
- "react": "^17.0.2",
10
- "react-dom": "^17.0.2"
11
- },
12
- "devDependencies": {
13
- "@types/react": "^17.0.37",
14
- "@types/react-dom": "^17.0.11"
15
- },
16
- "cli": {
17
- "webpack": false
18
- }
19
- }
File without changes
@@ -1,9 +0,0 @@
1
- {
2
- "extends": "@servicetitan/startup/tsconfig/base",
3
- "compilerOptions": {
4
- "outDir": "dist",
5
- "rootDir": "src",
6
- "composite": true
7
- },
8
- "include": ["src/**/*"]
9
- }
@@ -1,27 +0,0 @@
1
- import '@servicetitan/testing-library';
2
- import '@testing-library/jest-dom';
3
-
4
- Object.defineProperties(window, {
5
- location: { value: window.location, writable: true, configurable: true },
6
- matchMedia: {
7
- value: jest.fn().mockImplementation(query => ({
8
- matches: false,
9
- media: query,
10
- onChange: null,
11
- addEventListener: jest.fn(),
12
- removeEventListener: jest.fn(),
13
- dispatchEvent: jest.fn(),
14
- })),
15
- writable: true,
16
- configurable: true,
17
- },
18
- ResizeObserver: {
19
- value: jest.fn().mockImplementation(() => ({
20
- disconnect: jest.fn(),
21
- observe: jest.fn(),
22
- unobserve: jest.fn(),
23
- })),
24
- writable: true,
25
- configurable: true,
26
- },
27
- });
@@ -1,5 +0,0 @@
1
- {
2
- "extends": "@servicetitan/startup/tsconfig/base",
3
- "include": ["**/__tests__/**/*", "**/*.d.ts", "setupTests.ts"],
4
- "exclude": ["node_modules"]
5
- }
@@ -1,35 +0,0 @@
1
- {
2
- "name": "application",
3
- "version": "0.0.0",
4
- "description": "",
5
- "private": true,
6
- "main": "./dist/index.js",
7
- "typings": "./dist/index.d.ts",
8
- "scripts": {},
9
- "dependencies": {
10
- "@servicetitan/design-system": "^14.0.0",
11
- "@servicetitan/hash-browser-router": "^24.1.0",
12
- "@servicetitan/link-item": "^26.1.0",
13
- "@servicetitan/log-service": "^24.1.0",
14
- "@servicetitan/react-ioc": "^24.1.0",
15
- "@servicetitan/web-components": "^24.1.0",
16
- "axios": "^0.28.1",
17
- "feature-a": "^0.0.0",
18
- "feature-b": "^0.0.0",
19
- "feature-c": "^0.0.0",
20
- "history": "~4.10.1",
21
- "mobx": "~6.10.2",
22
- "react": "^18.3.1",
23
- "react-dom": "^18.3.1",
24
- "react-router-dom": "^5.3.0"
25
- },
26
- "devDependencies": {
27
- "@servicetitan/testing-library": "^1.2.0",
28
- "@testing-library/jest-dom": "^6.4.2",
29
- "@testing-library/react": "^14.2.1",
30
- "@testing-library/react-hooks": "^8.0.1",
31
- "@types/react": "^18.3.3",
32
- "@types/react-dom": "^18.3.0",
33
- "@types/react-router-dom": "^5.3.2"
34
- }
35
- }
@@ -1,9 +0,0 @@
1
- import { createRoot } from 'react-dom/client';
2
-
3
- import { App } from './app';
4
-
5
- const appContainer = document.createElement('div');
6
- document.body.appendChild(appContainer);
7
-
8
- const root = createRoot(appContainer);
9
- root.render(<App />);
@@ -1,19 +0,0 @@
1
- {
2
- "name": "feature-a",
3
- "version": "0.0.0",
4
- "description": "",
5
- "private": true,
6
- "main": "./dist/index.js",
7
- "typings": "./dist/index.d.ts",
8
- "dependencies": {
9
- "react": "^18.3.1",
10
- "react-dom": "^18.3.1"
11
- },
12
- "devDependencies": {
13
- "@types/react": "^18.3.3",
14
- "@types/react-dom": "^18.3.0"
15
- },
16
- "cli": {
17
- "webpack": false
18
- }
19
- }
@@ -1,19 +0,0 @@
1
- {
2
- "name": "feature-b",
3
- "version": "0.0.0",
4
- "description": "",
5
- "private": true,
6
- "main": "./dist/index.js",
7
- "typings": "./dist/index.d.ts",
8
- "dependencies": {
9
- "react": "^18.3.1",
10
- "react-dom": "^18.3.1"
11
- },
12
- "devDependencies": {
13
- "@types/react": "^18.3.3",
14
- "@types/react-dom": "^18.3.0"
15
- },
16
- "cli": {
17
- "webpack": false
18
- }
19
- }
@@ -1,19 +0,0 @@
1
- {
2
- "name": "feature-c",
3
- "version": "0.0.0",
4
- "description": "",
5
- "private": true,
6
- "main": "./dist/index.js",
7
- "typings": "./dist/index.d.ts",
8
- "dependencies": {
9
- "react": "^18.3.1",
10
- "react-dom": "^18.3.1"
11
- },
12
- "devDependencies": {
13
- "@types/react": "^18.3.3",
14
- "@types/react-dom": "^18.3.0"
15
- },
16
- "cli": {
17
- "webpack": false
18
- }
19
- }
package/tsconfig.json DELETED
@@ -1,13 +0,0 @@
1
- {
2
- "extends": "./tsconfig/base",
3
- "compilerOptions": {
4
- "module": "commonjs",
5
- "outDir": "dist",
6
- "rootDir": "src"
7
- },
8
- "include": ["src/**/*", "tsconfig/types.d.ts"],
9
- "references": [
10
- { "path": "../eslint-config/tsconfig.build.json" },
11
- { "path": "../stylelint-config/tsconfig.build.json" }
12
- ]
13
- }