@rushstack/heft-web-rig 0.19.5 → 0.19.7

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 (33) hide show
  1. package/LICENSE +24 -24
  2. package/README.md +35 -35
  3. package/package.json +5 -5
  4. package/profiles/app/config/heft.json +68 -68
  5. package/profiles/app/config/jest.config.json +3 -3
  6. package/profiles/app/config/rush-project.json +12 -12
  7. package/profiles/app/config/sass.json +65 -65
  8. package/profiles/app/config/typescript.json +98 -98
  9. package/profiles/app/includes/eslint/mixins/friendly-locals.js +6 -6
  10. package/profiles/app/includes/eslint/mixins/packlets.js +6 -6
  11. package/profiles/app/includes/eslint/mixins/react.js +6 -6
  12. package/profiles/app/includes/eslint/mixins/tsdoc.js +6 -6
  13. package/profiles/app/includes/eslint/patch/custom-config-package-names.js +4 -4
  14. package/profiles/app/includes/eslint/patch/modern-module-resolution.js +4 -4
  15. package/profiles/app/includes/eslint/profile/web-app.js +6 -6
  16. package/profiles/app/tsconfig-base.json +34 -34
  17. package/profiles/app/webpack-base.config.js +39 -39
  18. package/profiles/library/config/api-extractor-task.json +27 -27
  19. package/profiles/library/config/heft.json +68 -68
  20. package/profiles/library/config/jest.config.json +3 -3
  21. package/profiles/library/config/rush-project.json +12 -12
  22. package/profiles/library/config/sass.json +65 -65
  23. package/profiles/library/config/typescript.json +98 -98
  24. package/profiles/library/includes/eslint/mixins/friendly-locals.js +6 -6
  25. package/profiles/library/includes/eslint/mixins/packlets.js +6 -6
  26. package/profiles/library/includes/eslint/mixins/react.js +6 -6
  27. package/profiles/library/includes/eslint/mixins/tsdoc.js +6 -6
  28. package/profiles/library/includes/eslint/patch/custom-config-package-names.js +4 -4
  29. package/profiles/library/includes/eslint/patch/modern-module-resolution.js +4 -4
  30. package/profiles/library/includes/eslint/profile/web-app.js +6 -6
  31. package/profiles/library/tsconfig-base.json +34 -34
  32. package/profiles/library/webpack-base.config.js +50 -50
  33. package/shared/webpack-base.config.js +273 -273
@@ -1,6 +1,6 @@
1
- // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
2
- // See LICENSE in the project root for license information.
3
-
4
- module.exports = {
5
- extends: ['@rushstack/eslint-config/mixins/packlets']
6
- };
1
+ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
2
+ // See LICENSE in the project root for license information.
3
+
4
+ module.exports = {
5
+ extends: ['@rushstack/eslint-config/mixins/packlets']
6
+ };
@@ -1,6 +1,6 @@
1
- // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
2
- // See LICENSE in the project root for license information.
3
-
4
- module.exports = {
5
- extends: ['@rushstack/eslint-config/mixins/react']
6
- };
1
+ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
2
+ // See LICENSE in the project root for license information.
3
+
4
+ module.exports = {
5
+ extends: ['@rushstack/eslint-config/mixins/react']
6
+ };
@@ -1,6 +1,6 @@
1
- // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
2
- // See LICENSE in the project root for license information.
3
-
4
- module.exports = {
5
- extends: ['@rushstack/eslint-config/mixins/tsdoc']
6
- };
1
+ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
2
+ // See LICENSE in the project root for license information.
3
+
4
+ module.exports = {
5
+ extends: ['@rushstack/eslint-config/mixins/tsdoc']
6
+ };
@@ -1,4 +1,4 @@
1
- // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
2
- // See LICENSE in the project root for license information.
3
-
4
- require('@rushstack/eslint-config/patch/custom-config-package-names');
1
+ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
2
+ // See LICENSE in the project root for license information.
3
+
4
+ require('@rushstack/eslint-config/patch/custom-config-package-names');
@@ -1,4 +1,4 @@
1
- // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
2
- // See LICENSE in the project root for license information.
3
-
4
- require('@rushstack/eslint-config/patch/modern-module-resolution');
1
+ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
2
+ // See LICENSE in the project root for license information.
3
+
4
+ require('@rushstack/eslint-config/patch/modern-module-resolution');
@@ -1,6 +1,6 @@
1
- // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
2
- // See LICENSE in the project root for license information.
3
-
4
- module.exports = {
5
- extends: ['@rushstack/eslint-config/profile/web-app']
6
- };
1
+ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
2
+ // See LICENSE in the project root for license information.
3
+
4
+ module.exports = {
5
+ extends: ['@rushstack/eslint-config/profile/web-app']
6
+ };
@@ -1,34 +1,34 @@
1
- {
2
- "$schema": "http://json.schemastore.org/tsconfig",
3
-
4
- "compilerOptions": {
5
- "outDir": "../../../../../lib",
6
- "rootDir": "../../../../../src",
7
- "rootDirs": ["../../../../../src", "../../../../../temp/sass-ts"],
8
-
9
- "forceConsistentCasingInFileNames": true,
10
- "jsx": "react",
11
- "declaration": true,
12
- "sourceMap": true,
13
- "declarationMap": true,
14
- "inlineSources": true,
15
- "experimentalDecorators": true,
16
- "strict": true,
17
- "useUnknownInCatchVariables": false,
18
- "esModuleInterop": true,
19
- "noEmitOnError": false,
20
- "allowUnreachableCode": false,
21
- "importHelpers": true,
22
-
23
- "types": ["heft-jest"],
24
- "typeRoots": ["../../../../../node_modules/@types", "../../node_modules/@types"],
25
-
26
- "module": "esnext",
27
- "moduleResolution": "node",
28
- "target": "es5",
29
- "lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable", "dom"],
30
-
31
- "incremental": true
32
- },
33
- "include": ["../../../../../src/**/*.ts", "../../../../../src/**/*.tsx"]
34
- }
1
+ {
2
+ "$schema": "http://json.schemastore.org/tsconfig",
3
+
4
+ "compilerOptions": {
5
+ "outDir": "../../../../../lib",
6
+ "rootDir": "../../../../../src",
7
+ "rootDirs": ["../../../../../src", "../../../../../temp/sass-ts"],
8
+
9
+ "forceConsistentCasingInFileNames": true,
10
+ "jsx": "react",
11
+ "declaration": true,
12
+ "sourceMap": true,
13
+ "declarationMap": true,
14
+ "inlineSources": true,
15
+ "experimentalDecorators": true,
16
+ "strict": true,
17
+ "useUnknownInCatchVariables": false,
18
+ "esModuleInterop": true,
19
+ "noEmitOnError": false,
20
+ "allowUnreachableCode": false,
21
+ "importHelpers": true,
22
+
23
+ "types": ["heft-jest"],
24
+ "typeRoots": ["../../../../../node_modules/@types", "../../node_modules/@types"],
25
+
26
+ "module": "esnext",
27
+ "moduleResolution": "node",
28
+ "target": "es5",
29
+ "lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable", "dom"],
30
+
31
+ "incremental": true
32
+ },
33
+ "include": ["../../../../../src/**/*.ts", "../../../../../src/**/*.tsx"]
34
+ }
@@ -1,39 +1,39 @@
1
- 'use strict';
2
-
3
- const path = require('path');
4
- const HtmlWebpackPlugin = require('html-webpack-plugin');
5
- const createWebpackConfigCommon = require('../../shared/webpack-base.config');
6
-
7
- module.exports = function createWebpackConfig({ env, argv, projectRoot, configOverride }) {
8
- // Documentation: https://webpack.js.org/configuration/
9
- const applicationOverrides = {
10
- target: ['web', 'es5'],
11
- entry: {
12
- app: path.resolve(projectRoot, 'lib', 'start.js')
13
- },
14
- optimization: {
15
- splitChunks: {
16
- chunks: 'all'
17
- }
18
- },
19
- plugins: [
20
- // NOTE: If your project's webpack.config.js provides its own "HtmlWebpackPlugin" configuration,
21
- // it will replace the default definition here. This replacement is implemented
22
- // using mergeWithCustomize() in shared/webpack-base.config.js
23
-
24
- // See here for documentation: https://github.com/jantimon/html-webpack-plugin
25
- new HtmlWebpackPlugin({
26
- filename: 'index.html',
27
- template: path.resolve(projectRoot, 'assets', 'index.html')
28
- })
29
- ]
30
- };
31
-
32
- return createWebpackConfigCommon({
33
- env: env,
34
- argv: argv,
35
- projectRoot: projectRoot,
36
- extractCssInProduction: true,
37
- configOverride: createWebpackConfigCommon.merge(applicationOverrides, configOverride)
38
- });
39
- };
1
+ 'use strict';
2
+
3
+ const path = require('path');
4
+ const HtmlWebpackPlugin = require('html-webpack-plugin');
5
+ const createWebpackConfigCommon = require('../../shared/webpack-base.config');
6
+
7
+ module.exports = function createWebpackConfig({ env, argv, projectRoot, configOverride }) {
8
+ // Documentation: https://webpack.js.org/configuration/
9
+ const applicationOverrides = {
10
+ target: ['web', 'es5'],
11
+ entry: {
12
+ app: path.resolve(projectRoot, 'lib', 'start.js')
13
+ },
14
+ optimization: {
15
+ splitChunks: {
16
+ chunks: 'all'
17
+ }
18
+ },
19
+ plugins: [
20
+ // NOTE: If your project's webpack.config.js provides its own "HtmlWebpackPlugin" configuration,
21
+ // it will replace the default definition here. This replacement is implemented
22
+ // using mergeWithCustomize() in shared/webpack-base.config.js
23
+
24
+ // See here for documentation: https://github.com/jantimon/html-webpack-plugin
25
+ new HtmlWebpackPlugin({
26
+ filename: 'index.html',
27
+ template: path.resolve(projectRoot, 'assets', 'index.html')
28
+ })
29
+ ]
30
+ };
31
+
32
+ return createWebpackConfigCommon({
33
+ env: env,
34
+ argv: argv,
35
+ projectRoot: projectRoot,
36
+ extractCssInProduction: true,
37
+ configOverride: createWebpackConfigCommon.merge(applicationOverrides, configOverride)
38
+ });
39
+ };
@@ -1,27 +1,27 @@
1
- /**
2
- * Configures the API Extractor task for the Heft build system.
3
- *
4
- * This optional additional file customizes how the Heft task is invoked. The main analysis is
5
- * controlled by API Extractor's own "api-extractor.json" config file.
6
- */
7
- {
8
- "$schema": "https://developer.microsoft.com/json-schemas/heft/v0/api-extractor-task.schema.json"
9
-
10
- /**
11
- * Optionally specifies another JSON config file that this file extends from. This provides a way for standard
12
- * settings to be shared across multiple projects.
13
- */
14
- // "extends": "base-project/config/api-extractor-task.json",
15
-
16
- /**
17
- * If set to true, use the project's TypeScript compiler version for API Extractor's
18
- * analysis. API Extractor's included TypeScript compiler can generally correctly
19
- * analyze typings generated by older compilers, and referencing the project's compiler
20
- * can cause issues. If issues are encountered with API Extractor's included compiler,
21
- * set this option to true.
22
- *
23
- * This corresponds to API Extractor's "--typescript-compiler-folder" CLI option and
24
- * "IExtractorInvokeOptions.typescriptCompilerFolder" API option. This option defaults to false.
25
- */
26
- // "useProjectTypescriptVersion": true
27
- }
1
+ /**
2
+ * Configures the API Extractor task for the Heft build system.
3
+ *
4
+ * This optional additional file customizes how the Heft task is invoked. The main analysis is
5
+ * controlled by API Extractor's own "api-extractor.json" config file.
6
+ */
7
+ {
8
+ "$schema": "https://developer.microsoft.com/json-schemas/heft/v0/api-extractor-task.schema.json"
9
+
10
+ /**
11
+ * Optionally specifies another JSON config file that this file extends from. This provides a way for standard
12
+ * settings to be shared across multiple projects.
13
+ */
14
+ // "extends": "base-project/config/api-extractor-task.json",
15
+
16
+ /**
17
+ * If set to true, use the project's TypeScript compiler version for API Extractor's
18
+ * analysis. API Extractor's included TypeScript compiler can generally correctly
19
+ * analyze typings generated by older compilers, and referencing the project's compiler
20
+ * can cause issues. If issues are encountered with API Extractor's included compiler,
21
+ * set this option to true.
22
+ *
23
+ * This corresponds to API Extractor's "--typescript-compiler-folder" CLI option and
24
+ * "IExtractorInvokeOptions.typescriptCompilerFolder" API option. This option defaults to false.
25
+ */
26
+ // "useProjectTypescriptVersion": true
27
+ }
@@ -1,68 +1,68 @@
1
- /**
2
- * Defines configuration used by core Heft.
3
- */
4
- {
5
- "$schema": "https://developer.microsoft.com/json-schemas/heft/v0/heft.schema.json",
6
-
7
- /**
8
- * Optionally specifies another JSON config file that this file extends from. This provides a way for standard
9
- * settings to be shared across multiple projects.
10
- */
11
- // "extends": "base-project/config/heft.json",
12
-
13
- "aliasesByName": {
14
- "start": {
15
- "actionName": "build-watch",
16
- "defaultParameters": ["--serve"]
17
- }
18
- },
19
-
20
- "phasesByName": {
21
- "build": {
22
- "cleanFiles": [{ "includeGlobs": ["dist", "lib", "lib-amd", "lib-commonjs", "lib-es6"] }],
23
-
24
- "tasksByName": {
25
- "sass-typings": {
26
- "taskPlugin": {
27
- "pluginPackage": "@rushstack/heft-sass-plugin"
28
- }
29
- },
30
- "typescript": {
31
- "taskDependencies": ["sass-typings"],
32
- "taskPlugin": {
33
- "pluginPackage": "@rushstack/heft-typescript-plugin"
34
- }
35
- },
36
- "lint": {
37
- "taskDependencies": ["typescript"],
38
- "taskPlugin": {
39
- "pluginPackage": "@rushstack/heft-lint-plugin"
40
- }
41
- },
42
- "api-extractor": {
43
- "taskDependencies": ["typescript"],
44
- "taskPlugin": {
45
- "pluginPackage": "@rushstack/heft-api-extractor-plugin"
46
- }
47
- },
48
- "webpack": {
49
- "taskDependencies": ["typescript"],
50
- "taskPlugin": {
51
- "pluginPackage": "@rushstack/heft-webpack5-plugin"
52
- }
53
- }
54
- }
55
- },
56
-
57
- "test": {
58
- "phaseDependencies": ["build"],
59
- "tasksByName": {
60
- "jest": {
61
- "taskPlugin": {
62
- "pluginPackage": "@rushstack/heft-jest-plugin"
63
- }
64
- }
65
- }
66
- }
67
- }
68
- }
1
+ /**
2
+ * Defines configuration used by core Heft.
3
+ */
4
+ {
5
+ "$schema": "https://developer.microsoft.com/json-schemas/heft/v0/heft.schema.json",
6
+
7
+ /**
8
+ * Optionally specifies another JSON config file that this file extends from. This provides a way for standard
9
+ * settings to be shared across multiple projects.
10
+ */
11
+ // "extends": "base-project/config/heft.json",
12
+
13
+ "aliasesByName": {
14
+ "start": {
15
+ "actionName": "build-watch",
16
+ "defaultParameters": ["--serve"]
17
+ }
18
+ },
19
+
20
+ "phasesByName": {
21
+ "build": {
22
+ "cleanFiles": [{ "includeGlobs": ["dist", "lib", "lib-amd", "lib-commonjs", "lib-es6"] }],
23
+
24
+ "tasksByName": {
25
+ "sass-typings": {
26
+ "taskPlugin": {
27
+ "pluginPackage": "@rushstack/heft-sass-plugin"
28
+ }
29
+ },
30
+ "typescript": {
31
+ "taskDependencies": ["sass-typings"],
32
+ "taskPlugin": {
33
+ "pluginPackage": "@rushstack/heft-typescript-plugin"
34
+ }
35
+ },
36
+ "lint": {
37
+ "taskDependencies": ["typescript"],
38
+ "taskPlugin": {
39
+ "pluginPackage": "@rushstack/heft-lint-plugin"
40
+ }
41
+ },
42
+ "api-extractor": {
43
+ "taskDependencies": ["typescript"],
44
+ "taskPlugin": {
45
+ "pluginPackage": "@rushstack/heft-api-extractor-plugin"
46
+ }
47
+ },
48
+ "webpack": {
49
+ "taskDependencies": ["typescript"],
50
+ "taskPlugin": {
51
+ "pluginPackage": "@rushstack/heft-webpack5-plugin"
52
+ }
53
+ }
54
+ }
55
+ },
56
+
57
+ "test": {
58
+ "phaseDependencies": ["build"],
59
+ "tasksByName": {
60
+ "jest": {
61
+ "taskPlugin": {
62
+ "pluginPackage": "@rushstack/heft-jest-plugin"
63
+ }
64
+ }
65
+ }
66
+ }
67
+ }
68
+ }
@@ -1,3 +1,3 @@
1
- {
2
- "extends": "@rushstack/heft-jest-plugin/includes/jest-web.config.json"
3
- }
1
+ {
2
+ "extends": "@rushstack/heft-jest-plugin/includes/jest-web.config.json"
3
+ }
@@ -1,12 +1,12 @@
1
- {
2
- "operationSettings": [
3
- {
4
- "operationName": "_phase:build",
5
- "outputFolderNames": ["dist", "lib", "lib-amd", "lib-commonjs", "lib-es6", "temp"]
6
- },
7
- {
8
- "operationName": "build",
9
- "outputFolderNames": ["dist", "lib", "lib-amd", "lib-commonjs", "lib-es6", "temp"]
10
- }
11
- ]
12
- }
1
+ {
2
+ "operationSettings": [
3
+ {
4
+ "operationName": "_phase:build",
5
+ "outputFolderNames": ["dist", "lib", "lib-amd", "lib-commonjs", "lib-es6", "temp"]
6
+ },
7
+ {
8
+ "operationName": "build",
9
+ "outputFolderNames": ["dist", "lib", "lib-amd", "lib-commonjs", "lib-es6", "temp"]
10
+ }
11
+ ]
12
+ }
@@ -1,65 +1,65 @@
1
- /**
2
- * Configuration for @rushstack/heft-sass-plugin
3
- *
4
- * This optional additional file customizes Sass parsing, module resolution, and emitting of
5
- * Typescript .d.ts files.
6
- */
7
- {
8
- "$schema": "https://developer.microsoft.com/json-schemas/heft/v0/heft-sass-plugin.schema.json",
9
-
10
- /**
11
- * Optionally specifies another JSON config file that this file extends from. This provides a way for standard
12
- * settings to be shared across multiple projects.
13
- */
14
- // "extends": "base-project/config/serve-command.json",
15
-
16
- /**
17
- * The root directory for project source code.
18
- *
19
- * Default value: "src/"
20
- */
21
- // "srcFolder": "src/",
22
-
23
- /**
24
- * Output directory for generated Sass typings.
25
- *
26
- * Default value: "temp/sass-ts/"
27
- */
28
- // "generatedTsFolder": "temp/sass-ts/",
29
-
30
- /**
31
- * Determines whether export values are wrapped in a default property, or not.
32
- *
33
- * Default value: true
34
- */
35
- // "exportAsDefault": false,
36
-
37
- /**
38
- * If specified, folders where compiled CSS files will be emitted to. They will be named by appending
39
- * ".css" to the source file name for ease of reference translation.
40
- *
41
- * Default value: undefined
42
- */
43
- // "cssOutputFolders": ["lib", "lib-commonjs"],
44
-
45
- /**
46
- * Files with these extensions will pass through the Sass transpiler for typings generation.
47
- *
48
- * Default value: [".sass", ".scss", ".css"]
49
- */
50
- "fileExtensions": [".sass", ".scss"]
51
-
52
- /**
53
- * A list of paths used when resolving Sass imports. The paths should be relative to the project root.
54
- *
55
- * Default value: ["node_modules", "src"]
56
- */
57
- // "importIncludePaths": ["node_modules", "src"],
58
-
59
- /**
60
- * A list of file paths relative to the "src" folder that should be excluded from typings generation.
61
- *
62
- * Default value: undefined
63
- */
64
- // "excludeFiles": []
65
- }
1
+ /**
2
+ * Configuration for @rushstack/heft-sass-plugin
3
+ *
4
+ * This optional additional file customizes Sass parsing, module resolution, and emitting of
5
+ * Typescript .d.ts files.
6
+ */
7
+ {
8
+ "$schema": "https://developer.microsoft.com/json-schemas/heft/v0/heft-sass-plugin.schema.json",
9
+
10
+ /**
11
+ * Optionally specifies another JSON config file that this file extends from. This provides a way for standard
12
+ * settings to be shared across multiple projects.
13
+ */
14
+ // "extends": "base-project/config/serve-command.json",
15
+
16
+ /**
17
+ * The root directory for project source code.
18
+ *
19
+ * Default value: "src/"
20
+ */
21
+ // "srcFolder": "src/",
22
+
23
+ /**
24
+ * Output directory for generated Sass typings.
25
+ *
26
+ * Default value: "temp/sass-ts/"
27
+ */
28
+ // "generatedTsFolder": "temp/sass-ts/",
29
+
30
+ /**
31
+ * Determines whether export values are wrapped in a default property, or not.
32
+ *
33
+ * Default value: true
34
+ */
35
+ // "exportAsDefault": false,
36
+
37
+ /**
38
+ * If specified, folders where compiled CSS files will be emitted to. They will be named by appending
39
+ * ".css" to the source file name for ease of reference translation.
40
+ *
41
+ * Default value: undefined
42
+ */
43
+ // "cssOutputFolders": ["lib", "lib-commonjs"],
44
+
45
+ /**
46
+ * Files with these extensions will pass through the Sass transpiler for typings generation.
47
+ *
48
+ * Default value: [".sass", ".scss", ".css"]
49
+ */
50
+ "fileExtensions": [".sass", ".scss"]
51
+
52
+ /**
53
+ * A list of paths used when resolving Sass imports. The paths should be relative to the project root.
54
+ *
55
+ * Default value: ["node_modules", "src"]
56
+ */
57
+ // "importIncludePaths": ["node_modules", "src"],
58
+
59
+ /**
60
+ * A list of file paths relative to the "src" folder that should be excluded from typings generation.
61
+ *
62
+ * Default value: undefined
63
+ */
64
+ // "excludeFiles": []
65
+ }