JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 17
  • Score
    100M100P100Q74429F
  • License MIT

Filtering files by build commands.

Package Exports

  • gulp-mu-build-filter
  • gulp-mu-build-filter/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (gulp-mu-build-filter) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme


title: | gulp-mu-build-filter

(µBuildFilter)

Version 1.2.1\

English

Introduction

The GULP module µBuildFilter allows you to define different source code variations within a single source code and to switch between these variations by commenting out or commenting in areas according to the specifications.

Installation

npm install gulp-mu-build-filter

Usage

import µBuildFilter from 'gulp-mu-build-filter';

gulp.task('SET_SOURCES_TO_V1_7', function (cb) {
    console.log('Set sources to V1.7...');
    gulp.src(["./src/*.js"])
       .pipe(µBuildFilter({
                release: 'Development', 
                client: 'MyCompany', 
                version: 1.7, 
                mode: "setupComments", 
                protocol:true}))
       .pipe(gulp.dest('./eMPClient/js/'));
    gulp.src(["./index.html"])
       .pipe(µBuildFilter({
                release: 'Development', 
                client: '*', 
                version: 1.7, 
                mode: "setupComments", 
                protocol:true}))
       .pipe(gulp.dest('./src/'));
    cb();
})

or

const µBuildFilter = require('gulp-mu-build-filter');

gulp.task('SET_SOURCES_TO_V1_7', function (cb) {
    console.log('Set sources to V1.7...');
    gulp.src(["./src/*.js"])
       .pipe(µBuildFilter({
                release: 'Development', 
                client: 'MyCompany', 
                version: 1.7, 
                mode: "setupComments", 
                protocol:true}))
       .pipe(gulp.dest('./eMPClient/js/'));
    gulp.src(["./index.html"])
       .pipe(µBuildFilter({
                release: 'Development', 
                client: '*', 
                version: 1.7, 
                mode: "setupComments", 
                protocol:true}))
       .pipe(gulp.dest('./src/'));
    cb();
})

Preparing the source code

Comments can be used to define parts of the source code for the various installation packages. The source code is filtered under Gulp using the https://www.npmjs.com/package/gulp-mu-build-filter module. This makes it possible to show or hide code areas for certain target systems, clients or with certain versions. The definition is carried out with the help of special comments, whereby the different comment notations are supported:

+---------+------------+----------------------------------------------+ | N | Source | Variations | | otation | Codes | | | (i | | | | nactive | | | | paren | | | | theses) | | | +:========+:===========+:=============================================+ | \ | HTML | active parentheses: <!--- @<X | | <!--- | | ----\nCode\n---- @>X ---> | | ---> | | | | | | inner parentheses -!--- @<X | | | | ----\nCode\n---- @>X ---- | +---------+------------+----------------------------------------------+ | /*-- | C#, | active parentheses: /*-- @<X | | --*/ | J | ----\nCode\n---- @>X --*/ | | | avascript, | | | | T | inner parentheses //--@<X | | | ypeScript, | ----\nCode\n ---- @>X ---- | | | PHP, C, | | | | C++ | | +---------+------------+----------------------------------------------+ | <%-- | ASPX | active parentheses: <%-- @<X | | --%> | | ----\nCode\n ---- @>X --%> | | | | | | | | inner parentheses -%--- @<X | | | | ----\nCode\n ---- @>X ---- | +---------+------------+----------------------------------------------+

An inactive parenthesis is present if the bracketed area is to be active, an active parenthesis is present if the enclosed area is to be inactive and an inner parenthesis is present if an area is excluded by nesting.

The variation commands are inserted within the single-line comment, each framed by a space:

/*-- @<BUILD_NEVER_AT_RELEASES:Test --*/

@< opens a code area, @> closes a code area. A code area for a build can, for example, be excluded with BUILD_NEVER_AT_RELEASES or included with BUILD_ONLY_AT_RELEASES. Code areas can also be nested.

All comment commands must be on a separate line, leading spaces or tabs are possible.

A colon separates the variation command from the parameters.

Optionally, the closing comment command can also contain the parameters of the opening comment command. In this case, the system also checks the correct nesting with regard to the parameters. Example:

/*-- @<BUILD_NEVER_AT_RELEASES:Production,Test --*/
var thisVariableIsNeverDefinedInReleasePackage=true;
/*-- @>BUILD_NEVER_AT_RELEASES:Production,Test --*/

The following variation commands are permitted:

+------------------------+-----------------+ | Variation Command | Parameter | +========================+=================+ | BUILD_ONLY_AT_RELEASES | Comma-separated | | | designations of | | | the package | | | creation | | | determined by | | | this variation | | | area. These are | | | usually | | | Production, | | | Test or | | | Development. | +------------------------+-----------------+ | B | Comma-separated | | UILD_NEVER_AT_RELEASES | designations of | | | the package | | | creation | | | excluded from | | | this variation | | | area. These are | | | usually | | | Production, | | | Test or | | | Development. | +------------------------+-----------------+ | BUILD_ONLY_AT_CLIENTS | Comma-separated | | | designations of | | | client | | | designations of | | | the package | | | creation | | | determined by | | | this variation | | | area. These | | | designations | | | depend on the | | | respective | | | project. | +------------------------+-----------------+ | BUILD_NEVER_AT_CLIENTS | Comma-separated | | | designations of | | | client | | | designations of | | | the package | | | creation | | | excluded from | | | this variation | | | range. These | | | designations | | | depend on the | | | respective | | | project. | +------------------------+-----------------+ | BUILD_ONLY_AT_VERSIONS | Comma-separated | | | designations | | | (without | | | spaces) of | | | version numbers | | | of the package | | | creation | | | determined by | | | this variation | | | area. These | | | version numbers | | | must be | | | specified in | | | the form | | | main.minor. An | | | optional | | | following plus | | | sign determines | | | all version | | | numbers equal | | | to or greater | | | than the | | | specified | | | version, a | | | following minus | | | sign determines | | | all version | | | numbers less | | | than the | | | specified | | | version number. | +------------------------+-----------------+ | B | Comma-separated | | UILD_NEVER_AT_VERSIONS | designations | | | (without | | | spaces) of | | | version numbers | | | of the package | | | creation | | | excluded from | | | this variation | | | range. These | | | version numbers | | | must be | | | specified in | | | the form | | | main.minor. An | | | optional | | | following plus | | | sign determines | | | all version | | | numbers equal | | | to or greater | | | than the | | | specified | | | version, a | | | following minus | | | sign determines | | | all version | | | numbers less | | | than the | | | specified | | | version number. | +------------------------+-----------------+ | B | Comma-separated | | UILD_ONLY_AT_PLATFORMS | names (without | | | spaces) of | | | platforms | | | (Windows, | | | MacOS, Andorid | | | etc.) of the | | | package | | | creation | | | determined by | | | this variation | | | area. | +------------------------+-----------------+ | BU | Comma-separated | | ILD_NEVER_AT_PLATFORMS | designations | | | (without | | | spaces) of | | | platforms | | | (Windows, | | | MacOS, Andorid | | | etc.) of the | | | package | | | creation | | | excluded from | | | this variation | | | area. These | | | designations | | | depend on the | | | respective | | | project. | +------------------------+-----------------+ | BUIL | Comma-separated | | D_ONLY_AT_ANY_VARIANTS | variant names | | | (without | | | spaces). For | | | this comment | | | area to be | | | deactivated, | | | one of the | | | specified | | | parameters must | | | match. | +------------------------+-----------------+ | BUILD | Comma-separated | | _NEVER_AT_ANY_VARIANTS | variant names | | | (without | | | spaces). For | | | this comment | | | area to be | | | activated, one | | | of the | | | specified | | | parameters must | | | match. | +------------------------+-----------------+ | BUIL | Comma-separated | | D_ONLY_AT_ALL_VARIANTS | variant names | | | (without | | | spaces). For | | | this comment | | | area to be | | | deactivated, | | | all transferred | | | parameters must | | | match the | | | specified | | | parameters. | +------------------------+-----------------+ | BUILD | Comma-separated | | _NEVER_AT_ALL_VARIANTS | variant names | | | (without | | | spaces). For | | | this comment | | | area to be | | | activated, all | | | transferred | | | parameters must | | | match the | | | specified | | | parameters. | +------------------------+-----------------+

Examples:

Javascript/PHP/C#:

/*-- @<BUILD_NEVER_AT_RELEASES:Production,Test --*/
thisVariableIsNeverDefinedInReleasePackage=1;
/*-- @>BUILD_NEVER_AT_RELEASES --*/
/*-- @<BUILD_NEVER_AT_RELEASES:Production,Test --*/
thisVariableIsNeverDefinedInReleasePackage=1;
/*-- @>BUILD_NEVER_AT_RELEASES:Production,Test --*/
/*-- @<BUILD_ONLY_AT_RELEASES:Production,Test ----
thisVariableIsOnlyDefinedInReleaseAndDebugPackage=1;
---- @>BUILD_ONLY_AT_RELEASES --*/

HTML:

<!-- @<BUILD_NEVER_AT_RELEASES:Production --->
 <div>This text is never available in production release version.</div>
<!-- @>BUILD_NEVER_AT_RELEASES --->
<!-- @BUILD_ONLY_AT_RELEASES:Production,Test ----
 <div>This text is never available in development version.</div>
---- @>BUILD_ONLY_AT_RELEASES --->

ASPX:

<%-- @<BUILD_NEVER_ON_RELEASES:Production --%>
<%@ Page Language="C#" CodeFile="MyProgram.cs" Inherits="MyProgram" Debug="true" Async="true"%>
<%-- @>BUILD_NEVER_ON_RELEASES --%>

Functions

The module only has one function.

µBuildFilter(_options);

Parameter options**

The options parameter is a Javascript object that specifies the options for the processing to be carried out:

+-----------+--------------------+-------------------------------------+ | Property | Default Value | Description | +===========+====================+=====================================+ | release | * (comment always | String with the release to be | | | active) | created. | +-----------+--------------------+-------------------------------------+ | client | * (comment always | String of the client to be created. | | | active) | | +-----------+--------------------+-------------------------------------+ | version | * (comment always | Version value to be created. | | | active) | | +-----------+--------------------+-------------------------------------+ | platform | * (comment always | Platform that is to be created. | | | active) | | +-----------+--------------------+-------------------------------------+ | variants | * (comment always | An array of strings that specify | | | active) | the variants to be set. | +-----------+--------------------+-------------------------------------+ | mode | remove | remove: All areas of inactive | | | | comments are removed. | | | | | | | | setupComments: The entire source | | | | text is retained, the comments are | | | | activated or deactivated according | | | | to their results. | +-----------+--------------------+-------------------------------------+ | text | current pipe | Optional: text which have to use | | | stream | instead of the standard pipe | | | | stream. | +-----------+--------------------+-------------------------------------+ | protocol | false | Boolean value: Output of the | | | | touched file names. | +-----------+--------------------+-------------------------------------+ | debug | false | Boolean value: Output of debug | | | | information (e.g. lines with | | | | comment commands) | +-----------+--------------------+-------------------------------------+

Deutsch

Einleitung

Das GULP Modul µBuildFilter erlaubt es, verschiedene Quellcode-Variationen innerhalb eines einzigen Quellcodes zu definieren und zwischen diesen Variationen umzuschalten, in dem Bereiche nach den Vorgaben aus- oder einkommentiert werden.

Installation

npm install gulp-mu-build-filter

Benutzung

import µBuildFilter from 'gulp-mu-build-filter';

gulp.task('SET_SOURCES_TO_V1_7', function (cb) {
    console.log('Set sources to V1.7...');
    gulp.src(["./src/*.js"])
       .pipe(µBuildFilter({
                release: 'Development', 
                client: 'MyCompany', 
                version: 1.7, 
                mode: "setupComments", 
                protocol:true}))
       .pipe(gulp.dest('./eMPClient/js/'));
    gulp.src(["./index.html"])
       .pipe(µBuildFilter({
                release: 'Development', 
                client: '*', 
                version: 1.7, 
                mode: "setupComments", 
                protocol:true}))
       .pipe(gulp.dest('./src/'));
    cb();
})

oder

const µBuildFilter = require('gulp-mu-build-filter');

gulp.task('SET_SOURCES_TO_V1_7', function (cb) {
    console.log('Set sources to V1.7...');
    gulp.src(["./src/*.js"])
       .pipe(µBuildFilter({
                release: 'Development', 
                client: 'MyCompany', 
                version: 1.7, 
                mode: "setupComments", 
                protocol:true}))
       .pipe(gulp.dest('./eMPClient/js/'));
    gulp.src(["./index.html"])
       .pipe(µBuildFilter({
                release: 'Development', 
                client: '*', 
                version: 1.7, 
                mode: "setupComments", 
                protocol:true}))
       .pipe(gulp.dest('./src/'));
    cb();
})

Präparieren des Quellcodes

Mithilfe von Kommentaren können Teile des Quelltextes für die unterschiedlichen Installationspakete definiert werden. Die Filterung der Quelltexte erfolgt unter Gulp mithilfe des Moduls https://www.npmjs.com/package/gulp-mu-build-filter. Damit ist es möglich Codebereiche für bestimmte Zielsysteme, Mandanten (Clients) oder mit bestimmten Versionen ein- oder auszublenden. Die Definition erfolgt hierbei mithilfe von besonderen Kommentaren, wobei die unterschiedlichen Kommentarnotationen unterstützt werden:

+---------+------------+----------------------------------------------+ | N | Quellcodes | Variationen | | otation | | | | (i | | | | naktive | | | | Klam | | | | merung) | | | +:========+:===========+:=============================================+ | \ | HTML | Aktive Klammerung: <!--- @<X | | <!--- | | ----\nCode\n---- @>X ---> | | ---> | | | | | | Innere Klammerung -!--- @<X | | | | ----\nCode\n---- @>X ---- | +---------+------------+----------------------------------------------+ | /*-- | C#, | Aktive Klammerung: /*-- @<X | | --*/ | J | ----\nCode\n---- @>X --*/ | | | avascript, | | | | T | Innere Klammerung //--@<X | | | ypeScript, | ----\nCode\n ---- @>X ---- | | | PHP, C, | | | | C++ | | +---------+------------+----------------------------------------------+ | <%-- | ASPX | Aktive Klammerung: <%-- @<X | | --%> | | ----\nCode\n ---- @>X --%> | | | | | | | | Innere Klammerung -%--- @<X | | | | ----\nCode\n ---- @>X ---- | +---------+------------+----------------------------------------------+

Eine inaktive Klammerung liegt vor, wenn der damit geklammerte Bereich aktiv sein soll, eine aktive Klammerung, wenn der damit umschlossene Bereich inaktiv sein soll und eine innere Klammerung liegt vor, wenn durch Verschachtelungen ein Bereich ausgeschlossen wird.

Innerhalb des einzeiligen Kommentars werden die Variationskommandos eingefügt, jeweils von einem Leerzeichen umrahmt:

/*-- @<BUILD_NEVER_AT_RELEASES:Test --*/

@< öffnet einen Codebereich, @> schließt einen Codebereich. Ein Codebereich für ein Build kann beispielsweise mit BUILD_NEVER_AT_RELEASES ausgeschlossen werden oder mit BUILD_ONLY_AT_RELEASES eingeschlossen werden. Codebereiche können auch geschachtelt werden.

Alle Kommentarkommandos müssen sich in einer separaten Zeile befinden, führende Leerzeichen oder Tabulatoren sind möglich.

Ein Doppelpunkt trennt das Variationskommando von den Parametern.

Optional kann das abschließende Kommentarkommando auch die Parameter des eröffnenden Kommentarkommandos enthalten. In diesem Fall überprüft das System die korrekte Schachtelung auch bezüglich der Parameter. Beispiel:

/*-- @<BUILD_NEVER_AT_RELEASES:Production,Test --*/
var thisVariableIsNeverDefinedInReleasePackage=true;
/*-- @>BUILD_NEVER_AT_RELEASES:Production,Test --*/

Folgende Variationskommandos sind zulässig:

+------------------------+------------------+ | Variationskommando | Parameter | +========================+==================+ | BUILD_ONLY_AT_RELEASES | Kommagetrennte | | | Bezeichnungen | | | der von diesem | | | V | | | ariationsbereich | | | bestimmte | | | Paketerstellung. | | | Üblicherweise | | | sind diese | | | Production, Test | | | oder | | | Development. | +------------------------+------------------+ | B | Kommagetrennte | | UILD_NEVER_AT_RELEASES | Bezeichnungen | | | der von diesem | | | V | | | ariationsbereich | | | ausgeschlossene | | | Paketerstellung. | | | Üblicherweise | | | sind diese | | | Production, Test | | | oder | | | Development. | +------------------------+------------------+ | BUILD_ONLY_AT_CLIENTS | Kommagetrennte | | | Bezeichnungen | | | von | | | Clie | | | nt-Bezeichnungen | | | der von diesem | | | V | | | ariationsbereich | | | bestimmte | | | Paketerstellung. | | | Diese | | | Bezeichnungen | | | hängen von dem | | | jeweiligen | | | Projekt ab. | +------------------------+------------------+ | BUILD_NEVER_AT_CLIENTS | Kommagetrennte | | | Bezeichnungen | | | von | | | Clie | | | nt-Bezeichnungen | | | der von diesem | | | V | | | ariationsbereich | | | ausgeschlossene | | | Paketerstellung. | | | Diese | | | Bezeichnungen | | | hängen von dem | | | jeweiligen | | | Projekt ab. | +------------------------+------------------+ | BUILD_ONLY_AT_VERSIONS | Kommagetrennte | | | Bezeichnungen | | | (ohne | | | Leerzeichen) von | | | Versionsnummern | | | der von diesem | | | V | | | ariationsbereich | | | bestimmte | | | Paketerstellung. | | | Diese | | | Versionsnummern | | | müssen in der | | | Form main.minor | | | angegeben | | | werden. Ein | | | optional | | | nachfolgendes | | | Pluszeichen | | | bestimmt alle | | | Versionsnummern | | | gleich oder | | | größer der | | | angegebene | | | Version, ein | | | nachfolgendes | | | Minuszeichen | | | bestimmt alle | | | Versionsnummern | | | kleiner als die | | | angegebene | | | Versionnummer. | +------------------------+------------------+ | B | Kommagetrennte | | UILD_NEVER_AT_VERSIONS | Bezeichnungen | | | (ohne | | | Leerzeichen) von | | | Versionsnummern | | | der von diesem | | | V | | | ariationsbereich | | | ausgeschlossene | | | Paketerstellung. | | | Diese | | | Versionsnummern | | | müssen in der | | | Form main.minor | | | angegeben | | | werden. Ein | | | optional | | | nachfolgendes | | | Pluszeichen | | | bestimmt alle | | | Versionsnummern | | | gleich oder | | | größer der | | | angegebene | | | Version, ein | | | nachfolgendes | | | Minuszeichen | | | bestimmt alle | | | Versionsnummern | | | kleiner als die | | | angegebene | | | Versionnummer. | +------------------------+------------------+ | B | Kommagetrennte | | UILD_ONLY_AT_PLATFORMS | Bezeichnungen | | | (ohne | | | Leerzeichen) von | | | Plattformen | | | (Windows, MacOS, | | | Andorid etc.) | | | der von diesem | | | V | | | ariationsbereich | | | bestimmte | | | Paketerstellung. | +------------------------+------------------+ | BU | Kommagetrennte | | ILD_NEVER_AT_PLATFORMS | Bezeichnungen | | | (ohne | | | Leerzeichen) von | | | Plattformen | | | (Windows, MacOS, | | | Andorid etc.) | | | der von diesem | | | V | | | ariationsbereich | | | ausgeschlossene | | | Paketerstellung. | | | Diese | | | Bezeichnungen | | | hängen von dem | | | jeweiligen | | | Projekt ab. | +------------------------+------------------+ | BUIL | Kommagetrennte | | D_ONLY_AT_ANY_VARIANTS | Varian | | | tenbezeichnungen | | | (ohne | | | Leerzeichen). | | | Damit dieser | | | Kommentarbereich | | | inaktiviert | | | wird, muss eine | | | der angegebenen | | | Parameter | | | übereinstimmen. | +------------------------+------------------+ | BUILD | Kommagetrennte | | _NEVER_AT_ANY_VARIANTS | Varian | | | tenbezeichnungen | | | (ohne | | | Leerzeichen). | | | Damit dieser | | | Kommentarbereich | | | aktiviert wird, | | | muss eine der | | | angegebenen | | | Parameter | | | übereinstimmen. | +------------------------+------------------+ | BUIL | Kommagetrennte | | D_ONLY_AT_ALL_VARIANTS | Varian | | | tenbezeichnungen | | | (ohne | | | Leerzeichen). | | | Damit dieser | | | Kommentarbereich | | | inaktiviert | | | wird, müssen | | | alle übergebenen | | | Parameter mit | | | den angegebenen | | | Parametern | | | übereinstimmen. | +------------------------+------------------+ | BUILD | Kommagetrennte | | _NEVER_AT_ALL_VARIANTS | Varian | | | tenbezeichnungen | | | (ohne | | | Leerzeichen). | | | Damit dieser | | | Kommentarbereich | | | aktiviert wird, | | | müssen alle | | | übergebenen | | | Parameter mit | | | den angegebenen | | | Parametern | | | übereinstimmen. | +------------------------+------------------+

Beispiele:

Javascript/PHP/C#:

/*-- @<BUILD_NEVER_AT_RELEASES:Production,Test --*/
thisVariableIsNeverDefinedInReleasePackage=1;
/*-- @>BUILD_NEVER_AT_RELEASES --*/
/*-- @<BUILD_NEVER_AT_RELEASES:Production,Test --*/
thisVariableIsNeverDefinedInReleasePackage=1;
/*-- @>BUILD_NEVER_AT_RELEASES:Production,Test --*/
/*-- @<BUILD_ONLY_AT_RELEASES:Production,Test ----
thisVariableIsOnlyDefinedInReleaseAndDebugPackage=1;
---- @>BUILD_ONLY_AT_RELEASES --*/

HTML:

<!-- @<BUILD_NEVER_AT_RELEASES:Production --->
 <div>This text is never available in production release version.</div>
<!-- @>BUILD_NEVER_AT_RELEASES --->
<!-- @BUILD_ONLY_AT_RELEASES:Production,Test ----
 <div>This text is never available in development version.</div>
---- @>BUILD_ONLY_AT_RELEASES --->

ASPX:

<%-- @<BUILD_NEVER_ON_RELEASES:Production --%>
<%@ Page Language="C#" CodeFile="MyProgram.cs" Inherits="MyProgram" Debug="true" Async="true"%>
<%-- @>BUILD_NEVER_ON_RELEASES --%>

Funktionen

Das Modul enthält nur eine Funktion.

µBuildFilter(_options);

Parameter options**

Der Parameter options ist ein Javascript-Objekt, welches die Optionen der zur erfolgenden Bearbeitung angibt:

+-----------+--------------------+-------------------------------------+ | Ei | Standardwert | Beschreibung | | genschaft | | | +===========+====================+=====================================+ | release | * (Kommentar | Zeichenkette mit dem zu | | | immer aktiv) | erstellenden Release. | +-----------+--------------------+-------------------------------------+ | client | * (Kommentar | Zeichenkette des zu erstellenden | | | immer aktiv) | Mandanten. | +-----------+--------------------+-------------------------------------+ | version | * (Kommentar | Versionswert, welcher erstellt | | | immer aktiv) | werden soll. | +-----------+--------------------+-------------------------------------+ | platform | * (Kommentar | Plattform, die erstellt werden | | | immer aktiv) | soll. | +-----------+--------------------+-------------------------------------+ | variants | * (Kommentar | Ein Array aus Strings, die die | | | immer aktiv) | einzustellenden Varianten angeben. | +-----------+--------------------+-------------------------------------+ | mode | remove | remove: Alle Bereiche von | | | | inaktiven Kommentaren werden | | | | entfernt. | | | | | | | | setupComments: Der gesamte | | | | Quelltext bleibt erhalten, die | | | | Kommentare werden entsprechend | | | | ihrer Ergebnisse aktiviert oder | | | | deaktiviert. | +-----------+--------------------+-------------------------------------+ | text | aktueller Pipe | Optional: Text, der anstatt dem | | | Stream | standardmäßigen Stream bearbeitet | | | | werden soll. | +-----------+--------------------+-------------------------------------+ | protocol | false | Boolean-Wert: Ausgabe der | | | | bearbeiteten Dateinamen. | +-----------+--------------------+-------------------------------------+ | debug | false | Boolean-Wert: Ausgabe von | | | | Debug-Informationen (z.B. Zeilen | | | | mit Kommentarkommandos) | +-----------+--------------------+-------------------------------------+