@commercetools-frontend/mc-scripts 21.7.0 → 21.9.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 (152) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -42
  3. package/application-runtime/dist/commercetools-frontend-mc-scripts-application-runtime.cjs.d.ts +1 -0
  4. package/application-runtime/dist/commercetools-frontend-mc-scripts-application-runtime.cjs.dev.js +7 -0
  5. package/application-runtime/dist/commercetools-frontend-mc-scripts-application-runtime.cjs.js +7 -0
  6. package/{build/config/application-runtime.js → application-runtime/dist/commercetools-frontend-mc-scripts-application-runtime.cjs.prod.js} +2 -2
  7. package/application-runtime/dist/commercetools-frontend-mc-scripts-application-runtime.esm.js +5 -0
  8. package/application-runtime/package.json +4 -0
  9. package/bin/cli.js +1 -1
  10. package/cli/dist/commercetools-frontend-mc-scripts-cli.cjs.d.ts +1 -0
  11. package/cli/dist/commercetools-frontend-mc-scripts-cli.cjs.dev.js +361 -0
  12. package/cli/dist/commercetools-frontend-mc-scripts-cli.cjs.js +7 -0
  13. package/cli/dist/commercetools-frontend-mc-scripts-cli.cjs.prod.js +361 -0
  14. package/cli/dist/commercetools-frontend-mc-scripts-cli.esm.js +345 -0
  15. package/cli/package.json +4 -0
  16. package/config/create-webpack-config-for-development.js +7 -1
  17. package/config/create-webpack-config-for-production.js +7 -1
  18. package/config/vendors-to-transpile.js +5 -1
  19. package/dist/build-5357ad26.cjs.prod.js +224 -0
  20. package/dist/build-9b6d7eee.cjs.dev.js +224 -0
  21. package/dist/build-c483e87f.esm.js +209 -0
  22. package/dist/build-vite-3b82522e.cjs.dev.js +151 -0
  23. package/dist/build-vite-93abdc95.esm.js +139 -0
  24. package/dist/build-vite-b7cd993a.cjs.prod.js +151 -0
  25. package/dist/commercetools-frontend-mc-scripts.cjs.d.ts +1 -0
  26. package/dist/commercetools-frontend-mc-scripts.cjs.dev.js +30 -0
  27. package/dist/commercetools-frontend-mc-scripts.cjs.js +7 -0
  28. package/dist/commercetools-frontend-mc-scripts.cjs.prod.js +30 -0
  29. package/dist/commercetools-frontend-mc-scripts.esm.js +22 -0
  30. package/dist/compile-html-4361a0b3.esm.js +77 -0
  31. package/dist/compile-html-d6331c35.cjs.prod.js +87 -0
  32. package/dist/compile-html-d9e731aa.cjs.dev.js +87 -0
  33. package/dist/config-sync-6b31d972.esm.js +840 -0
  34. package/dist/config-sync-a478bc0f.cjs.dev.js +864 -0
  35. package/dist/config-sync-f07734e4.cjs.prod.js +859 -0
  36. package/{build/config/create-postcss-config.js → dist/create-postcss-config-04243dea.esm.js} +27 -25
  37. package/dist/create-postcss-config-760e2dc5.cjs.dev.js +90 -0
  38. package/dist/create-postcss-config-ddc3abee.cjs.prod.js +90 -0
  39. package/dist/create-webpack-config-for-development-76fdab59.cjs.prod.js +419 -0
  40. package/{build/config/create-webpack-config-for-development.js → dist/create-webpack-config-for-development-d93ae4b2.esm.js} +94 -57
  41. package/dist/create-webpack-config-for-development-dfd1c174.cjs.dev.js +419 -0
  42. package/{build/config/create-webpack-config-for-production.js → dist/create-webpack-config-for-production-9290479a.esm.js} +120 -54
  43. package/dist/create-webpack-config-for-production-bc8c1f37.cjs.dev.js +469 -0
  44. package/dist/create-webpack-config-for-production-d652ad1a.cjs.prod.js +469 -0
  45. package/dist/declarations/src/application-runtime.d.ts +1 -0
  46. package/dist/declarations/src/cli.d.ts +4 -0
  47. package/dist/declarations/src/commands/build-vite.d.ts +2 -0
  48. package/dist/declarations/src/commands/build.d.ts +2 -0
  49. package/dist/declarations/src/commands/compile-html.d.ts +3 -0
  50. package/dist/declarations/src/commands/config-sync.d.ts +3 -0
  51. package/dist/declarations/src/commands/login.d.ts +2 -0
  52. package/dist/declarations/src/commands/serve.d.ts +2 -0
  53. package/dist/declarations/src/commands/start-vite.d.ts +2 -0
  54. package/dist/declarations/src/commands/start.d.ts +2 -0
  55. package/dist/declarations/src/config/create-postcss-config.d.ts +4 -0
  56. package/dist/declarations/src/config/create-webpack-config-for-development.d.ts +10 -0
  57. package/dist/declarations/src/config/create-webpack-config-for-production.d.ts +10 -0
  58. package/dist/declarations/src/config/has-jsx-runtime.d.ts +2 -0
  59. package/dist/declarations/src/config/moment-locales.d.ts +2 -0
  60. package/dist/declarations/src/config/paths.d.ts +12 -0
  61. package/dist/declarations/src/config/vendors-to-transpile.d.ts +2 -0
  62. package/dist/declarations/src/config/webpack-dev-server.config.d.ts +6 -0
  63. package/dist/declarations/src/deprecated-entry-points.d.ts +7 -0
  64. package/dist/declarations/src/generated/core.d.ts +710 -0
  65. package/dist/declarations/src/generated/settings.d.ts +2485 -0
  66. package/dist/declarations/src/index.d.ts +3 -0
  67. package/dist/declarations/src/postcss.d.ts +1 -0
  68. package/dist/declarations/src/types.d.ts +82 -0
  69. package/dist/declarations/src/utils/auth.d.ts +6 -0
  70. package/dist/declarations/src/utils/credentials-storage.d.ts +11 -0
  71. package/dist/declarations/src/utils/get-config-diff.d.ts +3 -0
  72. package/dist/declarations/src/utils/graphql-requests.d.ts +80 -0
  73. package/dist/declarations/src/utils/user-agent.d.ts +2 -0
  74. package/dist/declarations/src/version.d.ts +2 -0
  75. package/dist/declarations/src/vite-plugins/vite-plugin-custom-application.d.ts +4 -0
  76. package/dist/declarations/src/vite-plugins/vite-plugin-dynamic-base-assets-globals.d.ts +3 -0
  77. package/dist/declarations/src/vite-plugins/vite-plugin-svgr.d.ts +3 -0
  78. package/dist/declarations/src/webpack-plugins/final-stats-writer-plugin.d.ts +12 -0
  79. package/dist/declarations/src/webpack-plugins/local-html-webpack-plugin.d.ts +5 -0
  80. package/dist/declarations/src/webpack.d.ts +2 -0
  81. package/dist/has-jsx-runtime-0b03b72e.cjs.prod.js +17 -0
  82. package/dist/has-jsx-runtime-3d4bb633.cjs.dev.js +17 -0
  83. package/{build/config/has-jsx-runtime.js → dist/has-jsx-runtime-8314226e.esm.js} +1 -3
  84. package/dist/login-7b7ae27e.esm.js +155 -0
  85. package/dist/login-b13f26e7.cjs.dev.js +165 -0
  86. package/dist/login-c11fb977.cjs.prod.js +165 -0
  87. package/dist/package-4b4fcf02.cjs.prod.js +139 -0
  88. package/dist/package-4c3e3fb7.cjs.dev.js +139 -0
  89. package/dist/package-8e6305bd.esm.js +137 -0
  90. package/dist/paths-16823f56.cjs.dev.js +55 -0
  91. package/dist/paths-76b66e74.cjs.prod.js +55 -0
  92. package/dist/paths-ed23d5a1.esm.js +46 -0
  93. package/dist/serve-12de323b.cjs.dev.js +70 -0
  94. package/dist/serve-784f4fcd.cjs.prod.js +70 -0
  95. package/dist/serve-d6b437b1.esm.js +62 -0
  96. package/dist/start-1b7dad90.cjs.prod.js +209 -0
  97. package/dist/start-45ca01f2.cjs.dev.js +209 -0
  98. package/dist/start-600d06a3.esm.js +194 -0
  99. package/dist/start-vite-22de08dc.cjs.dev.js +151 -0
  100. package/dist/start-vite-dc046cba.esm.js +138 -0
  101. package/dist/start-vite-fe13330b.cjs.prod.js +151 -0
  102. package/dist/user-agent-5f8ec93d.cjs.prod.js +106 -0
  103. package/dist/user-agent-ca628320.esm.js +94 -0
  104. package/dist/user-agent-ee57c98a.cjs.dev.js +106 -0
  105. package/dist/vendors-to-transpile-367e0ba8.cjs.prod.js +5 -0
  106. package/dist/vendors-to-transpile-68e03526.esm.js +3 -0
  107. package/dist/vendors-to-transpile-b51af5d3.cjs.dev.js +5 -0
  108. package/dist/vite-plugin-svgr-4205f2b5.cjs.dev.js +110 -0
  109. package/dist/vite-plugin-svgr-eb8524fa.esm.js +85 -0
  110. package/dist/vite-plugin-svgr-f3bbedbe.cjs.prod.js +110 -0
  111. package/package.json +56 -50
  112. package/postcss/dist/commercetools-frontend-mc-scripts-postcss.cjs.d.ts +1 -0
  113. package/postcss/dist/commercetools-frontend-mc-scripts-postcss.cjs.dev.js +14 -0
  114. package/postcss/dist/commercetools-frontend-mc-scripts-postcss.cjs.js +7 -0
  115. package/postcss/dist/commercetools-frontend-mc-scripts-postcss.cjs.prod.js +14 -0
  116. package/postcss/dist/commercetools-frontend-mc-scripts-postcss.esm.js +6 -0
  117. package/postcss/package.json +4 -0
  118. package/webpack/dist/commercetools-frontend-mc-scripts-webpack.cjs.d.ts +1 -0
  119. package/webpack/dist/commercetools-frontend-mc-scripts-webpack.cjs.dev.js +51 -0
  120. package/webpack/dist/commercetools-frontend-mc-scripts-webpack.cjs.js +7 -0
  121. package/webpack/dist/commercetools-frontend-mc-scripts-webpack.cjs.prod.js +51 -0
  122. package/webpack/dist/commercetools-frontend-mc-scripts-webpack.esm.js +42 -0
  123. package/webpack/package.json +4 -0
  124. package/build/bin/cli.js +0 -264
  125. package/build/commands/build-vite.js +0 -91
  126. package/build/commands/build.js +0 -140
  127. package/build/commands/compile-html.js +0 -53
  128. package/build/commands/config-sync.js +0 -176
  129. package/build/commands/login.js +0 -60
  130. package/build/commands/serve.js +0 -37
  131. package/build/commands/start-vite.js +0 -138
  132. package/build/commands/start.js +0 -108
  133. package/build/config/paths.js +0 -38
  134. package/build/config/vendors-to-transpile.js +0 -3
  135. package/build/config/webpack-dev-server.config.js +0 -69
  136. package/build/index.js +0 -16
  137. package/build/utils/auth.js +0 -34
  138. package/build/utils/auth.spec.js +0 -61
  139. package/build/utils/create-custom-application.settings.graphql +0 -8
  140. package/build/utils/credentials-storage.js +0 -72
  141. package/build/utils/credentials-storage.spec.js +0 -69
  142. package/build/utils/fetch-custom-application.settings.graphql +0 -36
  143. package/build/utils/fetch-user-organizations.core.graphql +0 -9
  144. package/build/utils/get-config-diff.js +0 -308
  145. package/build/utils/get-config-diff.spec.js +0 -285
  146. package/build/utils/graphql-requests.js +0 -105
  147. package/build/utils/graphql-requests.spec.js +0 -159
  148. package/build/utils/require-graphql.js +0 -15
  149. package/build/utils/update-custom-application.settings.graphql +0 -13
  150. package/build/utils/user-agent.js +0 -15
  151. package/build/webpack-plugins/final-stats-writer-plugin.js +0 -50
  152. package/build/webpack-plugins/local-html-webpack-plugin.js +0 -38
@@ -1,159 +0,0 @@
1
- "use strict";
2
-
3
- const {
4
- graphql
5
- } = require('msw');
6
-
7
- const {
8
- setupServer
9
- } = require('msw/node');
10
-
11
- const {
12
- createCustomApplication,
13
- updateCustomApplication,
14
- fetchCustomApplication,
15
- fetchUserOrganizations
16
- } = require('./graphql-requests');
17
-
18
- const mockServer = setupServer();
19
- afterEach(() => {
20
- mockServer.resetHandlers();
21
- });
22
- beforeAll(() => mockServer.listen({
23
- onUnhandledRequest: 'bypass'
24
- }));
25
- afterAll(() => mockServer.close());
26
- const mcApiUrl = 'https://mc-api.europe-west1.gcp.commercetools.com';
27
- describe('fetch custom application data', () => {
28
- beforeEach(() => {
29
- mockServer.use(graphql.query('FetchCustomApplicationFromCli', (req, res, ctx) => {
30
- return res(ctx.data({
31
- organizationExtensionForCustomApplication: {
32
- id: 'test-id',
33
- organizationId: 'org-id',
34
- application: {
35
- url: 'https://test.com',
36
- name: 'Test name',
37
- description: 'Test description',
38
- entryPointUriPath: 'test-custom-app',
39
- icon: '<svg><path fill="#000000"></path></svg>',
40
- submenuLinks: [],
41
- mainMenuLink: [],
42
- permissions: [{
43
- oAuthScopes: ['view_products', 'view_customers'],
44
- name: 'viewTestCustomApp'
45
- }, {
46
- oAuthScopes: [],
47
- name: 'manageTestCustomApp'
48
- }]
49
- }
50
- }
51
- }));
52
- }));
53
- });
54
- it('should match returned data', async () => {
55
- const organizationExtensionForCustomApplication = await fetchCustomApplication({
56
- entryPointUriPath: 'test-custom-app',
57
- mcApiUrl,
58
- token: 'test-token'
59
- });
60
- expect(organizationExtensionForCustomApplication.application.entryPointUriPath).toEqual('test-custom-app');
61
- expect(organizationExtensionForCustomApplication.id).toEqual('test-id');
62
- expect(organizationExtensionForCustomApplication.organizationId).toEqual('org-id');
63
- });
64
- });
65
- describe('register custom application', () => {
66
- beforeEach(() => {
67
- mockServer.use(graphql.mutation('CreateCustomApplicationFromCli', (req, res, ctx) => {
68
- return res(ctx.data({
69
- createCustomApplication: {
70
- id: 'new-test-id',
71
- application: {
72
- url: 'https://test.com',
73
- name: 'New Test name',
74
- description: 'Test description',
75
- entryPointUriPath: 'new-test-custom-app',
76
- icon: '<svg><path fill="#000000"></path></svg>',
77
- submenuLinks: [],
78
- mainMenuLink: [],
79
- permissions: [{
80
- oAuthScopes: ['view_products', 'view_customers'],
81
- name: 'viewNewTestCustomApp'
82
- }, {
83
- oAuthScopes: [],
84
- name: 'manageNewTestCustomApp'
85
- }]
86
- }
87
- }
88
- }));
89
- }));
90
- });
91
- it('should match returned data', async () => {
92
- const createdCustomAppsData = await createCustomApplication({
93
- entryPointUriPath: 'new-test-custom-app',
94
- mcApiUrl,
95
- token: 'new-test-token'
96
- });
97
- expect(createdCustomAppsData.application.entryPointUriPath).toEqual('new-test-custom-app');
98
- expect(createdCustomAppsData.id).toEqual('new-test-id');
99
- });
100
- });
101
- describe('update custom application', () => {
102
- beforeEach(() => {
103
- mockServer.use(graphql.mutation('UpdateCustomApplicationFromCli', (req, res, ctx) => {
104
- return res(ctx.data({
105
- updateCustomApplication: {
106
- id: 'test-id',
107
- application: {
108
- url: 'https://test.com',
109
- name: 'Updated Test name',
110
- description: 'Updated Test description',
111
- entryPointUriPath: 'updated-test-custom-app',
112
- icon: '<svg><path fill="#000000"></path></svg>',
113
- submenuLinks: [],
114
- mainMenuLink: [],
115
- permissions: [{
116
- oAuthScopes: ['view_products', 'view_customers'],
117
- name: 'viewNewTestCustomApp'
118
- }, {
119
- oAuthScopes: [],
120
- name: 'manageNewTestCustomApp'
121
- }]
122
- }
123
- }
124
- }));
125
- }));
126
- });
127
- it('should match returned data', async () => {
128
- const updatedCustomAppsData = await updateCustomApplication({
129
- entryPointUriPath: 'updated-test-custom-app',
130
- mcApiUrl,
131
- token: 'test-token'
132
- });
133
- expect(updatedCustomAppsData.application.name).toEqual('Updated Test name');
134
- expect(updatedCustomAppsData.application.description).toEqual('Updated Test description');
135
- });
136
- });
137
- describe('fetch user organizations', () => {
138
- beforeEach(() => {
139
- mockServer.use(graphql.query('FetchMyOrganizationsFromCli', (req, res, ctx) => {
140
- return res(ctx.data({
141
- myOrganizations: {
142
- total: 1,
143
- results: [{
144
- id: 'test-organization-id',
145
- name: 'test-organization-name'
146
- }]
147
- }
148
- }));
149
- }));
150
- });
151
- it('should match returned data', async () => {
152
- const data = await fetchUserOrganizations({
153
- mcApiUrl,
154
- token: 'test-token'
155
- });
156
- expect(data.results[0].id).toEqual('test-organization-id');
157
- expect(data.results[0].name).toEqual('test-organization-name');
158
- });
159
- });
@@ -1,15 +0,0 @@
1
- "use strict";
2
-
3
- const path = require('path');
4
-
5
- const {
6
- readFileSync
7
- } = require('fs'); // At the moment there is no proper way of loading `.graphql` files
8
- // in nodejs. This workaround basically uses `readFileSync` to read the file
9
- // content as a string.
10
- // https://github.com/apollographql/graphql-tools/issues/273
11
-
12
-
13
- const requireGraphql = folderPath => filePath => readFileSync(path.join(folderPath, filePath), 'utf-8');
14
-
15
- module.exports = requireGraphql;
@@ -1,13 +0,0 @@
1
- mutation UpdateCustomApplicationFromCli(
2
- $organizationId: String!
3
- $data: CustomApplicationDraftDataInput!
4
- $applicationId: ID!
5
- ) {
6
- updateCustomApplication(
7
- organizationId: $organizationId
8
- data: $data
9
- applicationId: $applicationId
10
- ) {
11
- id
12
- }
13
- }
@@ -1,15 +0,0 @@
1
- "use strict";
2
-
3
- const createHttpUserAgent = require('@commercetools/http-user-agent');
4
-
5
- const pkgJson = require('../../package.json');
6
-
7
- const userAgent = createHttpUserAgent({
8
- name: 'cli-login',
9
- libraryName: 'mc-scripts',
10
- libraryVersion: pkgJson.version,
11
- contactUrl: 'https://git.io/fjuyC',
12
- // points to the appkit repo issues
13
- contactEmail: 'support@commercetools.com'
14
- });
15
- module.exports = userAgent;
@@ -1,50 +0,0 @@
1
- "use strict";
2
-
3
- const fs = require('fs');
4
-
5
- const path = require('path');
6
-
7
- class FinalStatsWriterPlugin {
8
- // Expected options:
9
- // - `outputPath`
10
- // - `includeFields`
11
- constructor(config) {
12
- if (!config) throw new Error('Missing config options');
13
- this.config = config;
14
- }
15
-
16
- apply(compiler) {
17
- // This is the only hook that return the `stats` plugin
18
- // with the `time` info. It also contains all the stats that
19
- // we would get from the original `emit` hook.
20
- // https://webpack.js.org/api/compiler-hooks/#done
21
- // https://webpack.js.org/api/plugins/#plugin-types
22
- if (compiler.hooks) {
23
- compiler.hooks.done.tap('custom-stats-writer-plugin', this.writeStats.bind(this));
24
- } else {
25
- compiler.plugin('done', this.writeStats.bind(this));
26
- }
27
- }
28
-
29
- writeStats(stats) {
30
- let finalStats = stats.toJson(); // Filter only included fields
31
-
32
- if (this.config.includeFields) {
33
- finalStats = this.config.includeFields.reduce((aggregatedStats, key) => // eslint-disable-next-line
34
- Object.assign({}, aggregatedStats, {
35
- [key]: finalStats[key]
36
- }), {});
37
- }
38
-
39
- try {
40
- fs.accessSync(this.config.outputPath, fs.F_OK);
41
- fs.writeFileSync(path.join(this.config.outputPath, 'stats.json'), JSON.stringify(finalStats, null, 2));
42
- } catch (error) {
43
- // eslint-disable-next-line no-console
44
- console.warn(`[FinalStatsWriterPlugin] The dist folder could not be found at ${this.config.outputPath}. Check the console for errors during the webpack compilation.`);
45
- }
46
- }
47
-
48
- }
49
-
50
- module.exports = FinalStatsWriterPlugin;
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- /* eslint-disable class-methods-use-this,no-param-reassign */
4
- const HtmlWebpackPlugin = require('html-webpack-plugin');
5
-
6
- const {
7
- processConfig
8
- } = require('@commercetools-frontend/application-config');
9
-
10
- const {
11
- replaceHtmlPlaceholders
12
- } = require('@commercetools-frontend/mc-html-template');
13
-
14
- const applicationConfig = processConfig();
15
- const enhancedLocalEnv = Object.assign({}, applicationConfig.env, // Now that the app config is defined as a `env.json`, when we start the FE app
16
- // to point to the local backend API by passing the `MC_API_URL` env does not
17
- // work anymore). To make it work again, we can override the `env.json` config
18
- // with the env variable before injecting the values into the index.html.
19
- // NOTE: this is only necessary for development.
20
- process.env.MC_API_URL ? {
21
- mcApiUrl: process.env.MC_API_URL
22
- } : {});
23
-
24
- class LocalHtmlWebpackPlugin {
25
- apply(compiler) {
26
- compiler.hooks.compilation.tap('LocalHtmlWebpackPlugin', compilation => {
27
- HtmlWebpackPlugin.getHooks(compilation).beforeEmit.tapAsync('LocalHtmlWebpackPlugin', (data, cb) => {
28
- data.html = replaceHtmlPlaceholders(data.html, {
29
- env: enhancedLocalEnv
30
- });
31
- cb(null, data);
32
- });
33
- });
34
- }
35
-
36
- }
37
-
38
- module.exports = LocalHtmlWebpackPlugin;