What base field types are available?

When you're defining a custom entity or field type, it's nice to know what your options are for base data types.

 

Use this to see the list:

$ drush ev "print_r(array_keys( \Drupal::service('plugin.manager.field.field_type')->getSortedDefinitions()))"


Array
(
    [0] => boolean
    [1] => comment
    [2] => created
    [3] => datetime
    [4] => email
    [5] => file_uri
    [6] => language
    [7] => changed
    [8] => link
    [9] => map
    [10] => password
    [11] => path
    [12] => testimonial_field_type
    [13] => timestamp
    [14] => uri
    [15] => uuid
    [16] => list_float
    [17] => list_integer
    [18] => decimal
    [19] => float
    [20] => integer
    [21] => telephone
    [22] => webform
    [23] => entity_reference
    [24] => file
    [25] => image
    [26] => entity_reference_revisions
    [27] => list_string
    [28] => text
    [29] => text_long
    [30] => text_with_summary
    [31] => string
    [32] => string_long
)

 

And for base data types:

 

$ drush ev "print_r(array_keys(\Drupal::service('typed_data_manager')->getDefinitions()))"
Array
(
    [0] => entity_revision_reference
    [1] => entity_revision
    [2] => entity_revision:block

...


    [93] => entity_revision:entity_form_display
    [94] => filter_format
    [95] => image_style_derivatives
    [96] => language_reference
    [97] => duration_iso8601
    [98] => language
    [99] => uri
    [100] => integer
    [101] => list
    [102] => binary
    [103] => float
    [104] => string
    [105] => timestamp
    [106] => email
    [107] => datetime_iso8601
    [108] => any
    [109] => map
    [110] => boolean
    [111] => timespan
    [112] => field_item:comment

...


    [144] => field_item:string
    [145] => entity_reference
    [146] => entity
    [147] => entity:block

...


    [238] => entity:entity_form_display
)