ソースコードでのカスタムアプリケーション構成

  • リリースバージョン: Australia
  • 更新日 2026年03月20日
  • 所要時間:9分
  • ソースコード内のアプリケーションの now.config.json ファイルでカスタムアプリケーション [sys_app] を構成します。

    アプリケーション設定や、ディレクトリ構造など、ソースコードでのアプリケーション開発に固有の側面を構成できます。now.config.jsonファイルで、次のパラメーターを追加してアプリケーション設定を構成します。

    表 : 1. サポートされている now.config.json パラメーター
    パラメーター タイプ 説明
    appOutputDir 文字列 パッケージ化のためにビルドアーティファクトを出力するディレクトリ。pack コマンドと install コマンドは、アーティファクトをパッケージ化するためにこのディレクトリを参照します。

    デフォルト:dist/app

    clientDir 文字列 React を使用してユーザーインターフェイスを開発するためのクライアント側ファイルを含むディレクトリ。

    デフォルト: src/client

    依存関係 オブジェクト アプリケーションが依存する別のアプリケーションスコープ内のアイテム。アプリケーションスコープと依存関係タイプ、および名前またはsys_idsを指定する必要があります。
    "dependencies": {
        "<scope>": {
          "<type>": ["<sys_id or name>"],
          ...
        },
        ...
    }

    詳細については、「アプリケーションの依存関係 ServiceNow Fluent ダウンロード」を参照してください。

    fluentDir 文字列 ソースコードでアプリケーションメタデータを定義する ServiceNow Fluent ファイル (.now.ts) を含むディレクトリ。

    デフォルト:src/fluent

    generatedDir 文字列 ServiceNow Fluentコードに変換された既存のアプリケーションメタデータを含む、生成されたServiceNow Fluentファイルを含むディレクトリ。このディレクトリーは、 fluentDir パラメーターで定義されたディレクトリーに対する相対ディレクトリーです。

    デフォルト: generated

    ignoreTransformTableList アレイ アプリケーションメタデータをソースコードに変換するときに無視するテーブルのリスト。
    metadataDir 文字列 アプリケーションのメタデータを XML ファイルとして含むディレクトリ。

    デフォルト:metadata

    modulePath オブジェクト アプリケーションをビルドする前にカスタムトランスパイルステップを使用する場合に備えて、モジュールソースファイルから同等の出力ファイルへのマップ。詳細については、「ServiceNow SDK で JavaScript モジュールの TypeScript を使用する」を参照してください。
    警告:
    このパラメーターと tsconfigPath パラメーターは使用できません。両方を設定すると、エラーが発生します。
    パック出力ディレクトリ 文字列 アプリケーションのビルド時にインストール可能なパッケージ (.zip ファイル) を出力するディレクトリ。install コマンドは、このディレクトリを参照してパッケージをインストールします。

    デフォルト:target

    serverModulesDir 文字列 サーバー側スクリプトで使用するために JavaScript モジュールに組み込まれる JavaScript または TypeScript ファイルを含むディレクトリ。

    デフォルト:src/server

    serverModulesExcludePatterns アレイ JavaScript モジュールをビルドするときに除外するファイルパターンのリスト。
    Default (デフォルト):
    [
      "**/*.test.ts",
      "**/*.test.js",
      "**/*.d.ts"
    ]
    serverModulesIncludePatterns アレイ JavaScript モジュールをビルドするときに含めるファイルパターンのリスト。
    Default (デフォルト):
    [
      "**/*.ts",
      "**/*.tsx",  
      "**/*.js",
      "**/*.jsx",
      "**/*.cts",
      "**/*.cjs",
      "**/*.mts",
      "**/*.mjs",
      "**/*.json"
    ]
    staticContentDir 文字列 ユーザーインターフェイスの開発に使用する静的資産ファイルを出力するディレクトリ。

    デフォルト: dist/static

    staticContentPath オブジェクト 静的資産ファイルの出力パスに対するクライアント側のソースファイルのマップ。
    defaultLanguage 文字列 テーブルまたは列のフィールドラベル [sys_documentation] のデフォルト言語の BCP 47 コード。デフォルトの言語は、複数の言語でフィールドラベルを解決するために使用されます。

    デフォルト値:en

    テーブル出力形式 文字列 ServiceNow Fluentコードから生成されたテーブルメタデータ XML のビルドアーティファクトのタイプ。
    有効な値:
    • bootstrap:ビルドプロセスは、テーブルの <database> ルート要素、フィールドラベル XML ファイル [sys_documentation]、ライセンス構成 XML ファイル [ua_table_licensing_config]、および自動番号付け XML ファイル [sys_number] を含むブートストラップ XML ファイルを出力します。
    • component:ビルドプロセスは、テーブル API の各コンポーネントの XML ファイルを出力します。

    デフォルト: bootstrap

    分類 オブジェクト 生成された ServiceNow Fluent ファイルを整理するための構成。テーブル名をディレクトリにマップし、フォールバックディレクトリを定義します。デフォルトの分類構成では、メタデータが最初にServiceNow Fluentコードに変換されるときに、ServiceNow標準テーブル分類を使用して、Fluent/生成されたディレクトリ内の論理ディレクトリ構造に生成されたServiceNow Fluentファイルを追加します。たとえば、次のようになります:
    • ビジネスルール [sys_script] が fluent/generated/server-development/business-rule ディレクトリに追加されます。
    • スクリプトインクルード [sys_script_include] が fluent/generated/server-development/script-include ディレクトリに追加されます。

    デフォルトのマッピングを上書きすることも、追加のマッピングを設定することもできます。次の例では、構成はビジネスルール [sys_script] のデフォルトディレクトリーとフォールバックフォルダーを上書きし、カスタムテーブルのメタデータの追加マッピングを構成します。

    "taxonomy": {
            "mapping": {
                "sys_script": "scripts/server/rules",
                "custom_table": "my-custom-folder/my-nested-folder"
            },
            "fallbackFolderName": "unclassified"
    }
    • mapping:テーブル名をディレクトリにマップするオブジェクト。ディレクトリパスは、 generatedDir パラメーターで構成されたディレクトリからの相対パスであり、小文字の英字、数字、ハイフン、アンダースコア、および個別のサブディレクトリにスラッシュのみを含める必要があります。
    • fallbackFolderName:デフォルトまたはカスタムマッピングが構成されていないテーブルに使用するディレクトリの名前。このディレクトリ内では、 ServiceNow Fluent ファイルがテーブルの名前にちなんで名付けられたサブディレクトリ ( src/fluent/generated/other/x-unmapped-table/ など) に追加されます。

    デフォルト:デフォルトの分類マッピングは、すべての標準 ServiceNow テーブルに対して定義され、アプリケーションの now.config.json でカスタム構成が定義されていない場合に自動的に適用されます。fallbackFolderName のデフォルト値は Other です。

    trustedModule アレイ 信頼できる (または内部的) として識別する npm パッケージのリスト。信頼できるモジュールは、 ServiceNow API にアクセスできます。たとえば、次のようになります:
    "trustedModules": [
      "<package-name>",  // Specific package
      "@servicenow/*"  // All packages from an organization
    ]

    EcmaScript モジュールの [sys_module] テーブルで、信頼できるモジュールの [ 外部ソース ] フィールドが false に設定されています。

    警告:
    完全に信頼できる依存関係のみを信頼できるモジュールとして追加します。
    有効なパターン:
    • 完全修飾パッケージ名 (「@servicenow/sdk」など)。
    • @servicenow/*」「@mycompany/*」などのワイルドカードが付いた組織プリフィックス。
    tsconfigPath 文字列 ビルドプロセス中に TypeScript を JavaScript にトランスパイルするためのカスタムオプションを含む tsconfig.json ファイルへのパス。tsconfigPath を指定すると、tsconfig.json ファイルを使用して TypeScript から診断結果が生成されます。
    警告:
    このパラメーターと modulePaths パラメーターは使用できません。両方を設定すると、エラーが発生します。

    デフォルト:

    ソースコードでのアプリケーション構成

    {
      "scope": "x_snc_example_app",
      "scopeId": "2f8400eb07426110f736e28f69d3017a",
      "name": "ExampleApp",
      "dependencies": {
        "global": {
          "tables": ["incident"],
          "roles": ["admin"],
        },
        "x_custom": {
          "tables": ["custom_table"]
        }
      },
      "metadataDir": "metadata",
      "fluentDir": "src/fluent",
      "generatedDir": "generated",
      "serverModulesDir": "src/server",
      "clientDir": "src/client",
      "appOutputDir": "dist/app",
      "staticContentDir": "dist/static",
      "packOutputDir": "target",
      "modulePaths": {
          "src/server/*.ts": "dist/server/*.js",
        },
      "staticContentPaths": {
          "src/client/*.html": "dist/static/*.html",
        },
      "ignoreTransformTableList": ["ua_table_licensing_config", "sys_embedded_help_role"],
      "taxonomy": {
            "mapping": {
                "sys_script": "scripts/server/rules",
                "custom_table": "my-custom-folder/my-nested-folder"
            },
            "fallbackFolderName": "unclassified" 
        }
    }