---
title: Script configuration
description: To modify the parameters used for compiling, debugging, and running scripts, edit the script configuration.
component: pingidm
version: 7.3
page_id: pingidm:scripting-guide:script-config
canonical_url: https://docs.pingidentity.com/pingidm/8.1/scripting-guide/script-config.html
llms_txt: https://docs.pingidentity.com/pingidm/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
keywords: ["Scripting", "Configuration", "JavaScript", "Groovy"]
superseded_by: https://docs.pingidentity.com/pingidm/8.1/scripting-guide/script-config.html
---

# Script configuration

To modify the parameters used for compiling, debugging, and running scripts, edit the script configuration *(tooltip: You can manage the script configuration over REST at the config/script endpoint, or directly in the conf/script.json file.)*.

Script Configuration Parameters

* properties

  Any custom properties.

* ECMAScript

  JavaScript debug and compile options. JavaScript is an ECMAScript language.

  * `javascript.optimization.level` - The current optimization level. Expected integer range is from -1 to 9. For more information about optimization level, refer to [Rhino Optimization](https://rhino.github.io/docs/configuration/#optimization-levels).

    The default value is `9`.

  * `javascript.recompile.minimumInterval` - The minimum time between script recompile.

    The default value is `60000`, or 60 seconds. This means that any changes made to scripts will not get picked up for up to 60 seconds. If you are developing scripts, reduce this parameter to around `100` (100 milliseconds).

    If you set the `javascript.recompile.minimumInterval` to `-1`, or remove this property from the script configuration *(tooltip: You can manage the script configuration over REST at the config/script endpoint, or directly in the conf/script.json file.)*, IDM does not poll JavaScript files to check for changes.

* sources

  The directories where IDM looks for referenced scripts.

  Excerpt of a script configuration *(tooltip: You can manage the script configuration over REST at the config/script endpoint, or directly in the conf/script.json file.)* displaying default directories:

  ```json
  "sources" : {
     "default" : {
         "directory" : "&{idm.install.dir}/bin/defaults/script"
     },
     "install" : {
         "directory" : "&{idm.install.dir}"
     },
     "project" : {
         "directory" : "&{idm.instance.dir}"
     },
     "project-script" : {
         "directory" : "&{idm.instance.dir}/script"
  }
  ```

  |   |                                                                    |
  | - | ------------------------------------------------------------------ |
  |   | IDM loads scripts from `sources` in reverse order (bottom to top). |
