--- ruleName: no-namespace description: Disallows use of internal `module`s and `namespace`s. descriptionDetails: 'This rule still allows the use of `declare module ... {}`' rationale: |- ES6-style external modules are the standard way to modularize code. Using `module {}` and `namespace {}` are outdated ways to organize TypeScript code. optionsDescription: |- One argument may be optionally provided: * `allow-declarations` allows `declare namespace ... {}` to describe external APIs. options: type: array items: type: string enum: - allow-declarations minLength: 0 maxLength: 1 optionExamples: - 'true' - '[true, "allow-declarations"]' type: typescript optionsJSON: |- { "type": "array", "items": { "type": "string", "enum": [ "allow-declarations" ] }, "minLength": 0, "maxLength": 1 } layout: rule title: 'Rule: no-namespace' ---