Refactor to remove code coupling with Webpack

Remove using Webpack import syntax such as: `js-yaml-loader!@/..`. It's
a non-standard syntax that couples the code to Webpack.

Configure instead by specifying Webpack loader in Vue configuration
file.

Enable related ESLint rules.

Remove unused dependency `raw-loader` and refactor
`NoUnintendedInlining` test to load files using file system (dropping
webpack dependency).

Refactor to use `import type` for type imports to show the indent
clearly and satisfy failing ESLint rules.
This commit is contained in:
undergroundwires
2022-01-30 08:25:23 +01:00
parent db47440d47
commit 5bbbb9cecc
32 changed files with 273 additions and 195 deletions

View File

@@ -1,9 +1,9 @@
import { CollectionData } from 'js-yaml-loader!@/*';
import type { CollectionData } from '@/application/collections/';
import { IApplication } from '@/domain/IApplication';
import { IProjectInformation } from '@/domain/IProjectInformation';
import { ICategoryCollection } from '@/domain/ICategoryCollection';
import WindowsData from 'js-yaml-loader!@/application/collections/windows.yaml';
import MacOsData from 'js-yaml-loader!@/application/collections/macos.yaml';
import WindowsData from '@/application/collections/windows.yaml';
import MacOsData from '@/application/collections/macos.yaml';
import { parseProjectInformation } from '@/application/Parser/ProjectInformationParser';
import { Application } from '@/domain/Application';
import { parseCategoryCollection } from './CategoryCollectionParser';

View File

@@ -1,4 +1,4 @@
import { CollectionData } from 'js-yaml-loader!@/*';
import type { CollectionData } from '@/application/collections/';
import { OperatingSystem } from '@/domain/OperatingSystem';
import { ICategoryCollection } from '@/domain/ICategoryCollection';
import { CategoryCollection } from '@/domain/CategoryCollection';

View File

@@ -1,6 +1,6 @@
import {
import type {
CategoryData, ScriptData, CategoryOrScriptData, InstructionHolder,
} from 'js-yaml-loader!@/*';
} from '@/application/collections/';
import { Script } from '@/domain/Script';
import { Category } from '@/domain/Category';
import { parseDocUrls } from './DocumentationParser';

View File

@@ -1,4 +1,4 @@
import { DocumentableData, DocumentationUrlsData } from 'js-yaml-loader!@/*';
import type { DocumentableData, DocumentationUrlsData } from '@/application/collections/';
export function parseDocUrls(documentable: DocumentableData): ReadonlyArray<string> {
if (!documentable) {

View File

@@ -1,4 +1,4 @@
import { FunctionData } from 'js-yaml-loader!@/*';
import type { FunctionData } from '@/application/collections/';
import { IScriptingDefinition } from '@/domain/IScriptingDefinition';
import { ILanguageSyntax } from '@/domain/ScriptCode';
import { IScriptCompiler } from './Compiler/IScriptCompiler';

View File

@@ -1,4 +1,4 @@
import { FunctionCallData, FunctionCallsData, FunctionCallParametersData } from 'js-yaml-loader!@/*';
import type { FunctionCallData, FunctionCallsData, FunctionCallParametersData } from '@/application/collections/';
import { IFunctionCall } from './IFunctionCall';
import { FunctionCallArgumentCollection } from './Argument/FunctionCallArgumentCollection';
import { FunctionCallArgument } from './Argument/FunctionCallArgument';

View File

@@ -1,4 +1,4 @@
import { FunctionData } from 'js-yaml-loader!@/*';
import type { FunctionData } from '@/application/collections/';
import { ISharedFunctionCollection } from './ISharedFunctionCollection';
export interface ISharedFunctionsParser {

View File

@@ -1,4 +1,4 @@
import { FunctionData, InstructionHolder } from 'js-yaml-loader!@/*';
import type { FunctionData, InstructionHolder } from '@/application/collections/';
import { createFunctionWithInlineCode, createCallerFunction } from './SharedFunction';
import { SharedFunctionCollection } from './SharedFunctionCollection';
import { ISharedFunctionCollection } from './ISharedFunctionCollection';

View File

@@ -1,4 +1,4 @@
import { ScriptData } from 'js-yaml-loader!@/*';
import type { ScriptData } from '@/application/collections/';
import { IScriptCode } from '@/domain/IScriptCode';
export interface IScriptCompiler {

View File

@@ -1,4 +1,4 @@
import { FunctionData, ScriptData } from 'js-yaml-loader!@/*';
import type { FunctionData, ScriptData } from '@/application/collections/';
import { IScriptCode } from '@/domain/IScriptCode';
import { ScriptCode, ILanguageSyntax } from '@/domain/ScriptCode';
import { IScriptCompiler } from './IScriptCompiler';

View File

@@ -1,4 +1,4 @@
import { ScriptData } from 'js-yaml-loader!@/*';
import type { ScriptData } from '@/application/collections/';
import { Script } from '@/domain/Script';
import { RecommendationLevel } from '@/domain/RecommendationLevel';
import { IScriptCode } from '@/domain/IScriptCode';

View File

@@ -1,4 +1,4 @@
import { ScriptingDefinitionData } from 'js-yaml-loader!@/*';
import type { ScriptingDefinitionData } from '@/application/collections/';
import { IScriptingDefinition } from '@/domain/IScriptingDefinition';
import { ScriptingDefinition } from '@/domain/ScriptingDefinition';
import { ScriptingLanguage } from '@/domain/ScriptingLanguage';

View File

@@ -1,4 +1,4 @@
declare module 'js-yaml-loader!@/*' {
declare module '@/application/collections/*' {
export interface CollectionData {
readonly os: string;
readonly scripting: ScriptingDefinitionData;